求适配YouTube官方编码规范的可用FFmpeg命令
求适配YouTube官方编码规范的可用FFmpeg命令
嘿👋,看了你的问题和你尝试的命令,我发现几个可能导致失效的小问题,同时帮你调整出完全贴合YouTube官方编码要求的可用版本:
原有命令的核心问题
scale=out_color_matrix=bt709语法错误:scale滤镜的色彩矩阵参数写法不对,应该单独设置或用正确的滤镜格式- 部分参数冗余/不符合最优推荐:比如固定码率
-b:v 10M不如CRF动态码率适合YouTube,-cpu-used 0对libx264没用(这个参数是针对libvpx编码器的),-threads 4可以省略,ffmpeg会自动根据CPU核心数分配资源
修正后的可用FFmpeg命令
ffmpeg -loop 1 -i image.jpg -i audio.mp3 \ -c:v libx264 -preset slow -crf 18 \ -vf "scale=-2:1080,format=yuv420p" \ -color_primaries bt709 -color_trc bt709 -colorspace bt709 \ -c:a aac -ar 48000 -ac 2 -b:a 320k \ -profile:v high -level 4.0 \ -bf 2 -coder 1 -r 30 -g 60 \ -movflags +faststart \ out.mp4
关键参数说明(完全匹配YouTube规范)
- 视频编码:
libx264是YouTube首选的H.264编码器,preset slow平衡压缩质量和速度,crf 18是视觉无损级别的动态码率(比固定码率更智能,会根据画面复杂度自动调整,YouTube对这种编码的兼容性最好) - 分辨率与格式:
scale=-2:1080自动保持原图片宽高比缩放至1080P(要做4K的话改成scale=-2:2160即可),format=yuv420p强制YouTube要求的通用像素格式 - 色彩标准:三个
bt709参数完全匹配YouTube的色彩空间要求,避免上传后色彩失真 - 音频编码:
aac是YouTube推荐的音频编码,48000Hz采样率、双声道、320kbps码率是高质量音频的标准配置 - 关键帧与帧率:
30fps是YouTube最常用的帧率,g 60设置关键帧间隔为2倍帧率(YouTube推荐关键帧间隔为1-2倍帧率,方便平台转码) - 上传优化:
movflags +faststart把视频的索引信息移到文件开头,上传时YouTube可以更快读取视频元数据,避免上传失败或卡顿
备注:内容来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

