FFmpeg 中是否有源文件的字节偏移量?

Is there a Byte Offset in FFmpeg for source Files?

我正在开发一个 C++ 应用程序(运行 on Ubuntu),它打开 FFmpeg 进行视频转换并通过 popen() 读取输出。这工作正常,但现在我需要 FFmpeg 开始读取特定字节偏移量的源文件。有什么办法可以存档吗?我已经搜索了一个解决方案/命令行参数,但找不到任何有用的东西。那么有什么解决办法吗?

顺便说一句:我已经知道有一个时间偏移参数,但我需要一个字节偏移。

我认为 FFmpeg 不支持这种特殊用途的功能。

但是,使用简单的 avio 输入过滤器来跳过字节,可以轻松构建自定义版本的 FFmpeg。

如果您绝对不想与 FFmpeg 混淆,请调用 FFmpeg 从管道 (stdin) 进行编码并将其与您的文件一起提供 reader - 但您将仅限于单个输入流。

如果您正在处理 ,您可以通过 dd 传输 ffmpeg 输入文件并跳到特定的偏移量。类似于:

> dd if=myfile.mp2 skip=<myoffset-in-block-size> ibs=<block-size> | ffmpeg -i pipe:0 ...

或者为 ffmpeg 准备另一个没有管道的输入文件。


如果您在 , you can use MSys 1.0 下工作,那也支持 dd