[FFmpeg-user] ts to HLS: yadif doesn't work

Moritz Barsnick barsnick at gmx.net
Tue Jul 12 17:40:41 EEST 2016


On Tue, Jul 12, 2016 at 10:44:56 +0000, Zsolt wrote:
> Dear Carl, do you have any idea, why isn't it working? I have already tried
> with simple yadif command, without any yadif parameters, but it also didn't
> worked.

Well, then you should indeed provide us this simple command.

If I reduce your quite complicated command to only one of its outputs:

> /usr/local/ffmpeg/program/ffmpeg -i /usr/local/ffmpeg/progress/$INPUTFILE \
> \
> -c:v libx264 -vf "yadif=0:-1:1" -r 25 -profile:v main -level 3.1 \
> -b:v "$BIT1"k -bufsize "$BIT1"k -vf scale=$RES1 -g 250 -keyint_min 250
> -sc_threshold 0 \
> -c:a libfdk_aac -b:a $AUD1 \
> -hls_segment_filename
> /usr/local/ffmpeg/output/$INPUTNAME/"$BIT1"k/segment_"$BIT1"k_%04d.ts \
> -hls_time 10 -hls_list_size 0 -hls_key_info_file file.keyinfo \
> /usr/local/ffmpeg/output/$INPUTNAME/"$BIT1"k/index_"$BIT1"k.m3u8
[...]

I notice that you are providing the output option "-vf" twice (per
output). I am quite certain that one of the two options is being
ignored, most likely the yadif filter. You could confirm this by
checking the output with "-loglevel debug", which will show you the
used filters.

Explanation: In order to apply more than one filter to your video
stream, you need to create a filter chain. See the ffmpeg filters docs.
In your case:
[...] -vf "yadif=0:-1:1,scale=$RES1" [...]

Moritz


More information about the ffmpeg-user mailing list