【问题标题】:Video Encode different parts of video using different bitrates视频使用不同的比特率对视频的不同部分进行编码
【发布时间】:2015-02-08 19:58:39
【问题描述】:

如果我有这样的视频:视频讲座

我需要用高比特率对幻灯片进行编码(因为它对用户来说是最重要的)并用低比特率对视图的其余部分进行编码。

  1. 选择要以高比特率编码的部分。

  2. 用不同的比特率分别编码不同的部分。

  1. 将不同的部分组合成一个视频。

目的是减少在线发布的总文件大小,从而减少所需的带宽。 我需要使用 ffmpeg 来做到这一点。 我将使用这种方法来编码用静态相机录制的视频讲座(如上图 180 度视图),因为我知道哪些区域对学生(板和幻灯片)比其他区域更有用。

【问题讨论】:

    标签: video encoding ffmpeg


    【解决方案1】:

    如果不重新转码,视频无法合成在一起。因此,您的方法将行不通。 libx264 中有一个选项可以设置每个宏块量化器偏移值。有了这个,你可以告诉编码器花费更多或更少的比特来编码图像的特定区域。但是,此选项不会通过命令行公开,因此需要使用 lib264 编写自定义工具或修改现有的 x264。

    【讨论】:

    • “视频不能在没有重新转码的情况下合成在一起”有意义......关于“设置每个宏块量化器偏移值”你能给我一些参考吗? ..谢谢。
    【解决方案2】:

    这样做的目的只是为了减小文件大小,还是您实际上是出于视觉原因试图影响视频?

    无论哪种方式,都可以做到这一点,但它可能不是实现目标的最简单方法。

    在我的脑海中,我建议简单地将您的视频分成不同的片段并以不同的速率导出。然后,您可以将它们重新组合为一个视频。生成的文件将具有一个比特率,但各个部分的质量会更低/更高。

    如果您能提供更多信息,我可能会提供进一步的帮助。

    你用的是什么软件? 这是用于静止图像还是动态视频? 你只是想创造一种效果吗?

    【讨论】:

    • 目的是减少在线发布的总文件大小,从而减少所需的带宽。我需要使用 ffmpeg 来做到这一点。我将使用这种方法对使用静态相机录制的视频讲座进行编码(如上图 180 度视图),因为我知道哪些区域对学生(板和幻灯片)比其他区域更有用。
    【解决方案3】:

    一个好的编解码器(如 H264)已经做到了这一点:它会发现细节(静态的和随时间变化的)并分发其可用数据,以便需要更多细节的内容(明亮的屏幕)将用更多的数据来表示,而需要的内容很少(其余的黑暗、模糊且变化不大)将用更少的数据表示。简而言之,一个好的编解码器几乎可以完成您想要实现的目标。

    【讨论】:

    • 你是对的。但是,如果您注意到上面的图像,您会发现一些不重要的部分(例如:灯),并且编码器将用更多的数据表示它们,因为它们具有一些细节和亮度。
    • 不,它不会因为这些细节是静态的(我假设相机在三脚架上并且没有移动)。
    • @MikeVersteeg 当你提出这样的建议时,你应该提到 H.264 是一个开放但不是免版税的标准,MPEG LA 可能会根据你的用户数量收取许可费。
    猜你喜欢
    • 2011-05-10
    • 2014-02-06
    • 1970-01-01
    • 2019-12-04
    • 2013-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多