交错deinterlace
因为在原始的摄像机中,视频每秒都是由23.97帧组成的,然⽽这个帧率并不符合电视的标准(PAL:25fps/NTSC:29.97fps),所以就要对视频进⾏交错处理,使得23.97帧的视频变为29.97fps, 25fps。
为了保证每⼀秒内图像、⾳频同步,那么转换帧率就不是⼀般视频转换软件的处理⽅法。⼀帧⼀帧来分析视频,就会发现⼤量的拉丝现象,所以就要进⾏反交错处理,把原来交错的视频(隔⾏扫描)改成⾮交错的视频(逐⾏扫描)。
ffmpeg ⽤x264视频编码,视频画⾯会出现锯齿(或者叫拉丝),下⾯两张图对⽐⼀下效果:
(图:未设置反交错)
(图:设置反交错)
记住我
导致此效果的原因是x264本⾝不能很好的进⾏反交错处理,尤其是在要缩放原始视频的时候(⽐如说⽤1080i压制720p)。
下⾯说明如何设置ffmpeg参数来避免画⾯出现锯齿:
⽅法⼀:设置ffmpeg参数 -deinterlace即可,如:
ffmpeg -i test.mpg -vcodec libx264 -s 1024x768 -b:v 700k -r 25 -deinterlace -acodec libmp3lame -ar 22050 -f flv -y test.flv
⽅法⼆:使⽤ffmpeg滤镜 -vf yadif,如:
ffmpeg -i test.mpg -vcodec libx264  -s 1280x768 -b:v 700k -r 25 -vf yadif -acodec libmp3lame -ar 22050 -f flv -y test.flv
我的结果是,两种效果差别不⼤,但是第⼀种⽅法速度要快于第⼆种⽅法。此结论只为本⼈测试,请感兴趣的同学亲⾃测试!