1

我有一个视频序列,我想在播放时跳到特定的帧(我的播放器是在 iOS 中使用 AVPlayer 实现的,但这是偶然的)。由于这些帧将以不可预测的间隔下降,因此我无法使用大多数视频编码器中存在的标准“每 N 帧/秒关键帧”功能。但是,我确实提前知道目标帧。

为了尽可能有效地跳过此操作,我需要在编码时强制目标帧为 i 帧。理想情况下,在某种 GUI 中,它可以让我擦到一个帧,将其标记为关键帧,然后(重新)编码我的视频。

如果没有这样的工具,我觉得这可能可以通过使用 libavcodec 滚动自定义编码器来完成,但如果 GUI 不可用,我宁愿使用更高级别(最好是可编写脚本的)工具来完成这项工作不可能。这是ffmpeg或mencoder可以完成的任务吗?

有没有人有这样做的技术?此外,由于我对 h.264 编解码器有一些基本的无知,这完全有可能是一项不可能完成的任务。如果是这样,请让我正确。

4

3 回答 3

3

ffmpeg 有一个-force_key_frames选项可以接受一系列任意时间戳以及其他指定帧的方式。从文档中:

-force_key_frames 0:05:00,...
于 2017-06-01T18:04:03.410 回答
1

回答了我自己的问题:可以在 Apple Compressor 中设置自定义压缩关键帧。

压缩标记也称为手动压缩标记。这些是您可以添加到 Final Cut Pro 序列(或在 Compressor 预览窗口中)的标记,以指示 Compressor 在压缩期间何时应生成 MPEG I 帧。

来源

于 2011-07-24T18:25:33.560 回答
0

您不能使用章节标记在章节之间跳转吗?不是一个理想的解决方案,但更容易实现。

你可以使用这个软件: http: //www.applesolutions.com/bantha/MH.html

于 2011-07-24T16:32:01.217 回答