【问题标题】:Replace video with jpg in ffmpeg在ffmpeg中用jpg替换视频
【发布时间】:2020-12-31 17:34:27
【问题描述】:

我正在尝试将具有视频和音频的 mkv 转换为具有相同音频的 m4v,但在持续时间内将视频替换为静止的 jpg。我正在遵循https://trac.ffmpeg.org/wiki/Slideshow 中的示例,但没有取得任何成功。每次我尝试其中任何一个时,它都不会插入 jpg,而是使用 mkv 中的原始视频。我正在测试 VLC 中的文件。有什么想法可能会出错吗?我倾向于认为文档本身可能已经过时或错误。

尝试遵循链接示例:

-i input.mkv -loop 1 -i image.jpg -c:a ac3 -b:a 640K -c:v libx264 -shortest output.m4v

-i input.mkv -framerate 1 -i image.jpg -c:a ac3 -b:a 640K -c:v libx264 -r 30 -pix_fmt yuv420p output.m4v

-i input.mkv -framerate 1 -i image.jpg -c:a ac3 -b:a 640K -c:v libx264 -r 30 -vf format=yuv420p output.m4v

我得到半工作的一件事(基于来自另一个来源的代码)是-i input.mkv -i image.jpg -filter_complex "[1][0]scale2ref[i][v];[v][i]overlay" -c:a ac3 -b:a 640K -c:v libx264 output.m4v,但这会将图像拉伸(我不想要,我希望生成的视频具有与图像两侧没有黑色填充)。

我很自责,因为我最终得到了与几天前工作的第一个示例类似的东西,但不知何故并没有保存我的工作,我又回到了原点。任何帮助表示赞赏,在此先感谢。

【问题讨论】:

  • 直接来自ffmpeg标签描述:“只有关于以编程方式使用FFmpeg库、API或工具的问题才是主题。关于命令行交互使用的问题工具应在超级用户或视频制作中询问。”

标签: windows ffmpeg mp4 file-conversion mkv


【解决方案1】:

FFmpeg 具有-map 选项,允许用户选择要输出的流。在没有映射的情况下,ffmpeg 会根据分辨率或输入顺序等因素自动选择流。根据您的情况,设置映射。

-i input.mkv -loop 1 -i image.jpg -map 1:v -map 0:a -c:a ac3 -b:a 640K -pix_fmt yuv420p -c:v libx264 -shortest -fflags +shortest -max_interleave_delta 100M output.m4v

由于 -shortest 的问题,添加了一些参数。见My ffmpeg output always add extra 30s of silence at the end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-09
    相关资源
    最近更新 更多