【问题标题】:How to replace the video track in a video file with a still image?如何用静止图像替换视频文件中的视频轨道?
【发布时间】:2021-02-23 04:04:46
【问题描述】:

我正在尝试使用 ffmpeg 将视频文件中的视频轨道替换为静止图像。我尝试了一些从其他问题中得到的命令,例如here

ffmpeg -i x.png -i orig.mp4 final.mp4

ffmpeg -r 1/5 -i x.png -r 30 -i orig.mp4 final.mp4

但这些都不起作用。我不确定这些参数中的哪一个是必需的。 YouTube 应该接受输出作为有效视频 - 我能够简单地删除视频轨道,但显然他们不允许您上传没有视频轨道的视频。

【问题讨论】:

    标签: image audio video ffmpeg


    【解决方案1】:

    您可以尝试像这样循环静止图像:

    ffmpeg -loop 1 -i x.png -i orig.mp4 final.mp4
    

    然后您可以通过引入以下质量参数来调整编码过程:

    ffmpeg -loop 1 -i x.png -i orig.mp4 -crf 22 -preset slow final.mp4
    

    他们被描述为here

    如果您的色彩空间被 YouTube 拒绝,您可以尝试添加:-pix_fmt yuv420p

    解决方案:最终解决方案是这样的:

    • -t 30 是 30 秒的示例持续时间。
    • 使用-c:a copy 将直接复制原始音频,无需重新编码(更快)。

    ffmpeg -loop 1 -i x.png -i orig.mp4 -map 0 -map 1:a -c:v libx264 -pix_fmt yuv420p -crf 22 -preset slow -c:a copy -shortest final.mp4
    

    【讨论】:

    • 不要忘记添加-shortest 输出选项,否则它将永远循环。 YouTube 将接受几乎任何色彩空间/色度子采样,因此无需为 YouTube 添加-pix_fmt yuv420p。建议添加-map 输出选项,这样默认行为就不会选择错误的流:-map 0 -map 1:a
    • 是的,它肯定会永远循环播放。请注意,您必须将-shortest 放在输出路径之前。谢谢@pszemus 和@llogan。
    • @cornerstore 那你能把它标记为接受的答案吗?
    猜你喜欢
    • 2019-08-07
    • 1970-01-01
    • 2020-12-27
    • 2016-09-02
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 2020-10-11
    相关资源
    最近更新 更多