ffmpeg.filter.areverse broken, only short fragments of silence returned, source.duration=inf #3745
Replies: 2 comments 1 reply
-
I'm not sure that this filter can be used with liquidsoap streams. They are infinite streams! Please keep in mind that ffmpeg filters operate at the content level. They are not aware of the concept of tracks so, reversing the audio streams means reversing all the audio stream, not just track by track. |
Beta Was this translation helpful? Give feedback.
-
Yeah, another dead end then. I was hoping I could come up with something that works on a file basis, before they get added to the stream. And of course that should exclude potentially infinite things like remote streams. I’m currently trying to use an external Python script for that, because I don’t grasp the language good enough to write what’s needed in LS. |
Beta Was this translation helpful? Give feedback.
-
Describe the bug
In preparation of a new silence removal function, I tried to use
ffmpeg.filter.areverse
in an ffmpeg filter chain. When I use it, the script runs very fast, and only extremely short pieces of silence are returned, instead of a song playing backwards.(The idea behind this, stolen from my "strip-silence" bash script, is to use
ffmpeg.filter.silenceremove
on both ends of a song, so silence before and after can be safely removed, and the song not corrupted like withblank.eat
.)Also, after applying the filters,
source.duration
isinf
.To Reproduce
If you comment out the line
everything works, so the rest of the code should be okay. I can also use other filters instead of
ffmpeg.filter.areverse
and they work.In case LS uses the system ffmpeg (4.4.2-0ubuntu0.22.04.1), that should also be okay, since my "strip-silence" bash script works. It uses the same filters.
Expected behavior
A continuous stream of songs being played backwards. Real
source.duration
available.Version details
1.3.4
]: Liquidsoap 2.2.4-1Install method
.deb
Beta Was this translation helpful? Give feedback.
All reactions