0

我的目标是使用 ffmpeg 准确地分割 XDCAM 或 H264 视频。我猜这个问题来自它的长 GOP 结构,但我正在寻找一种方法来分割视频而不重新编码它。我应用偏移量仅对视频的特定部分进行编码(比如说从第 10 秒到媒体结束)有什么想法吗?

4

2 回答 2

0

我不确定是否可以通过 ffmpeg 完成 1 次,但是 2-3

第一遍:您只需将原始帧转储到文件第二遍:您找到索引 <= 要开始的帧索引的封闭 gop(mxdcam)/idr 帧 (h264)

如果索引相等,您可以启动多路复用器。否则你需要从封闭的 gop/idr 帧解码序列到下一个封闭的 gop/idr 帧并编码你想要的起始帧

于 2013-08-29T07:39:39.490 回答
0

请参阅ffmpeg 文档。你会发现一个选项-frames。该选项可用于为给定的输入流(以下流 0:0 是第一个输入文件,第一个视频流)指定要记录的帧数。该选项可以与其他选项结合使用以在输入文件中的某处开始(时间偏移等....)

ffmpeg -i intput.ts -frames:0:0 100 -vcodec copy test.ts

该命令仅对视频的前 100 帧进行 demux 和 remux(无重新编码)。

如前所述,您可以将其与跳跃结合起来。使用''-ss offset (input)''你可以指定一个“Frame Accurate”位置,即。1 分 10 秒后的第 14 帧 = 0:1:10:14。该选项应该在输入之前使用,如下所示。

ffmpeg -ss 00:00:10.0 -i intput.ts -frames:0:0 100 -vcodec copy test.ts

ffmpeg 丢弃前 10 秒并绕过 100 帧到复用器。

于 2013-08-22T11:06:16.800 回答