kkroening / ffmpeg-python

Python bindings for FFmpeg - with complex filtering support
Apache License 2.0
9.89k stars 884 forks source link

filter_complex issue #674

Open viotemp1 opened 2 years ago

viotemp1 commented 2 years ago

Hi,

I think we are missing quotes for filter_complex args. Example: ffmpeg_stream_spec = ( ffmpeg.input(in_url).audio.filter( "adelay", f"{out_delay}|{out_delay}" .output( out_url, format="mp3", content_type="audio/mpeg", loglevel="quiet", # verbose quiet ) ) cmd_line = ffmpeg.compile(ffmpeg_stream_spec, cmd='ffmpeg', overwrite_output=False) cmd_line = ' '.join(cmd_line) print(cmd_line) ffmpeg_stream_spec.run(cmd=['ffmpeg', '-re'], overwrite_output=True)

will result in ffmpeg -i http://a.b.c.d:18000/stream -filter_complex [0:a]adelay=6s|6s[s0] -map [s0] -f mp3 -content_type audio/mpeg -loglevel quiet icecast://source:pass@a.b.c.d:18001/stream -y which result in an error: Filter adelay:default has an unconnected output

Running ffmpeg -i http://a.b.c.d:18000/stream -filter_complex "[0:a]adelay=6s|6s[s0]" -map [s0] -f mp3 -content_type audio/mpeg -loglevel quiet icecast://source:pass@a.b.c.d:18001/stream -y everything is ok.

TanMink commented 1 year ago

how to fix it please help me i've been stuck for 1 month