ffmpeg x264 编码参数流水帐
经分析,是由于原片源使用了vbr, 而合并片源使用了cbr,导致合并失败.
-thread_type slice 可以设置x264文件sliced_threads=1
-slices 4可以设置x264文件slices=4
设置x264 cbr:
-crf <float> E..V.... Select the quality for constant quality mode (from -1 to FLT_MAX) (default -1)
设置X264 VBR:
libx264.c
if (avctx->bit_rate) {
x4->params.rc.i_bitrate = avctx->bit_rate / 1000;
x4->params.rc.i_rc_method = X264_RC_ABR;
}
也就是说,如果设置了bit_rate,则ffmpeg认为是vbr
命令行如下:
-b:v 800k
x264文件里如下: bitrate=800
-chromaoffset <int> E..V.... chroma QP offset from luma (from INT_MIN to INT_MAX) (default 0)
-chromaoffset设置后无效。
设置-psy-rd 2.00:0.70后会自动设置chroma_qp_offset为-4
-deblock -3:-3,则x264文件里为deblock=1:-3:-3
ffmpeg -loop 1 -i tmp2015flveditpicturepad1.jpg -psy-rd 2.00:0.70 -deblock -3
:-3 -mbtree 0 -b:v 800k -thread_type slice -slices 4 -threads 4 -keyint_min 25
-r 10 -bf 0 -pix_fmt yuv420p -vcodec libx264 -y -to 5 -an out1.flv