【FFMPEG】x264 命令行去除B帧

三种方法

此去除B帧的方法只适用于采用 libx264 编码器编码的视频

引用链接:
ffmpeg x264 选项指南

第一种

参数中加 -bf 0

ffmpeg -i test.mp4 -vcodec libx264 -bf 0 test-640x480.h264

第二种

参数中加 -x264opts "bframe=0"

ffmpeg -i test.mp4 -vcodec libx264 -x264opts "bframes=0" test-640x480.h264

第三种

参数中加 -profile:v baseline

ffmpeg -i test.mp4 -vcodec libx264 -profile:v baseline -pix_fmt yuv420p -s 640x480 -acodec aac test1.mp4

加这个参数时,请指定图像格式,否则很容易报错

No pixel format specified, yuv444p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
x264 [error]: main profile doesn't support 4:4:4
[libx264 @ 0x8fa9640] Error setting profile main.
[libx264 @ 0x8fa9640] Possible profiles: baseline main high high10 high422 high444

查看是否含有B帧

转换完成后,通过 ffprobe 可以查看视频流中是否含有B帧

ffprobe -v quiet -show_frames -select_streams v test.mp4 | find "pict_type=B"

你可能感兴趣的:(Linux,FFmpeg,音视频)