【问题标题】:Changing resolution mid-video with FFMPEG使用 FFMPEG 更改中间视频的分辨率
【发布时间】:2012-08-21 08:45:50
【问题描述】:

我有一个源视频 (mpeg2video),我正在将其转码为 x264。源包含从电视录制的 2 个不同的节目。一个是 4:3 AR,另一个是 16:9 AR。当我通过 VLC 播放源文件时,播放器会正确更改大小以在正确的 AR 上显示视频。到目前为止一切顺利。

当我转码时,转换过程会自动从前几帧中检测 AR,然后使用此 AR 对整个视频进行转码。如果 16:9 部分先出现,则整个转换在 16:9 中完成,4:3 部分看起来水平拉伸。如果 4:3 部分位于源文件的开头,则整个转码以 4:3 完成,而 16:9 部分看起来被水平挤压。

看不到任何黑条。

这是我的命令:

nice -n 17 ffmpeg -i source.mpg -acodec libfaac -ar 48000 -ab 192k -async 1 -copyts -vcodec libx264 -b 1250k -threads 2 -level 31 -map 0:0 -map 0:1 -map 0:2 -scodec copy -deinterlace output.mkv

我不完全明白发生了什么。如何在输出文件中获得与输入视频中相同的“AR 变化”中间视频?

【问题讨论】:

    标签: ffmpeg resolution aspect-ratio nice


    【解决方案1】:

    我不认为 ffmpeg 的设计目的是为了做到这一点。您必须使用 libav 编写自己的应用程序。更简单的方法是创建两个视频块,然后将它们组合起来。

    编辑: 最好的处理方法是,如果您可以自己检测到 AR 的变化,并将这两个片段分别转码并加入它们。

    编辑2: 使用 ffmpeg 本身来分块视频,解复用任何你想要的东西,然后再把它复用回来。它应该可以正常工作。你不需要使用 avidemux。

    【讨论】:

    • 哦,不。我希望解决方案更直接。具有讽刺意味的是,我实际上想先拆分文件然后再对其进行转码,但 avidemux 在处理源文件时绝对拒绝保持音频同步,即使所有其他播放器都没有问题。我一直在寻找其他开源替代品,它们可以直接复制(而不是转码)但没有运气。
    • 您应该在ffmpeg用户列表上询问一次以确认以防万一
    • 查看我的编辑。您可以通过执行两个单独的转码然后将两者混合在一起来解决此问题。
    • 嗯不确定我是否关注...这两个流是音频。 (1 个视频 + 2 个音频)。 AR 问题仅与视频流有关。
    • 好的。我的错。将删除编辑。你有一个视频。知道了。第一个答案仍然适用。我认为 ffmpeg 不能即时自动检测 AR
    猜你喜欢
    • 2016-03-27
    • 2022-11-03
    • 2014-07-28
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    • 2014-12-21
    • 1970-01-01
    • 2014-05-15
    相关资源
    最近更新 更多