FFmpeg 中是否有源文件的字节偏移量?
Is there a Byte Offset in FFmpeg for source Files?
我正在开发一个 C++ 应用程序(运行 on Ubuntu),它打开 FFmpeg 进行视频转换并通过 popen()
读取输出。这工作正常,但现在我需要 FFmpeg 开始读取特定字节偏移量的源文件。有什么办法可以存档吗?我已经搜索了一个解决方案/命令行参数,但找不到任何有用的东西。那么有什么解决办法吗?
顺便说一句:我已经知道有一个时间偏移参数,但我需要一个字节偏移。
我认为 FFmpeg 不支持这种特殊用途的功能。
但是,使用简单的 avio 输入过滤器来跳过字节,可以轻松构建自定义版本的 FFmpeg。
如果您绝对不想与 FFmpeg 混淆,请调用 FFmpeg 从管道 (stdin) 进行编码并将其与您的文件一起提供 reader - 但您将仅限于单个输入流。
如果您正在处理 linux,您可以通过 dd
传输 ffmpeg
输入文件并跳到特定的偏移量。类似于:
> dd if=myfile.mp2 skip=<myoffset-in-block-size> ibs=<block-size> | ffmpeg -i pipe:0 ...
或者为 ffmpeg
准备另一个没有管道的输入文件。
我正在开发一个 C++ 应用程序(运行 on Ubuntu),它打开 FFmpeg 进行视频转换并通过 popen()
读取输出。这工作正常,但现在我需要 FFmpeg 开始读取特定字节偏移量的源文件。有什么办法可以存档吗?我已经搜索了一个解决方案/命令行参数,但找不到任何有用的东西。那么有什么解决办法吗?
顺便说一句:我已经知道有一个时间偏移参数,但我需要一个字节偏移。
我认为 FFmpeg 不支持这种特殊用途的功能。
但是,使用简单的 avio 输入过滤器来跳过字节,可以轻松构建自定义版本的 FFmpeg。
如果您绝对不想与 FFmpeg 混淆,请调用 FFmpeg 从管道 (stdin) 进行编码并将其与您的文件一起提供 reader - 但您将仅限于单个输入流。
如果您正在处理 linux,您可以通过 dd
传输 ffmpeg
输入文件并跳到特定的偏移量。类似于:
> dd if=myfile.mp2 skip=<myoffset-in-block-size> ibs=<block-size> | ffmpeg -i pipe:0 ...
或者为 ffmpeg
准备另一个没有管道的输入文件。