ffmpeg 可以从文件中的特定位置解析吗?

Posted

技术标签:

【中文标题】ffmpeg 可以从文件中的特定位置解析吗?【英文标题】:Can ffmpeg parse from a specific position in a file? 【发布时间】:2012-06-12 03:18:12 【问题描述】:

我正在使用表单上传视频,并希望从上传的临时文件中解析视频信息。临时文件在文件开头包含一些表单信息,其余部分是视频字节。 ffmpeg可以从视频字节开始的位置解析文件吗?如何?非常感谢!

【问题讨论】:

【参考方案1】:

试试-skip_initial_bytes <bytecount> 参数。

http://trac.ffmpeg.org/ticket/1909

【讨论】:

我想,这个答案必须标记为解决方案【参考方案2】:

如果您只是想编写脚本,可能最简单的方法是使用dd(1) 工具仅提取您感兴趣的数据。它看起来像这样:

dd if=/path/to/temp/file ibs=<size to skip> skip=1 | ffmpeg --whatever

它不会是完美的,因为它将使用该块大小进行所有输入操作;与你一开始浪费的空间相比,更大的东西和 2 的倍数将是理想的,但它应该比创建一个内容几乎相同的新文件更好。

【讨论】:

我已经尝试过了,但不喜欢这样。还是谢谢大家。 目前只发现了这种方式,觉得很有用。你能告诉我ffmpeg需要多少字节来确定视频格式吗?或者多少字节足以描述各种视频格式的视频信息,所以我可以使用 dd 提取某些字节,而不是从原始文件中提取所有字节。谢谢! libmagic 库能够从第一千字节左右的内容中确定文件格式——所以一旦你去掉你的标题,你可能会发现文件类型额外的千字节数据,最高。 (大多数容器会用几个字节告诉你它们的类型,但发现容器内流的格式可能需要更多时间。)

以上是关于ffmpeg 可以从文件中的特定位置解析吗?的主要内容,如果未能解决你的问题,请参考以下文章

FFMpeg中seek函数解析

FFmpeg从入门到出家(FLV文件结构解析)

MAC/iOS利用FFmpeg解析音视频数据流

我应该或可以为父级中的子解析器获取数据吗?

从python中的数据集中解析特定列

使用 FFmpeg 将音频输入与视频混合到特定位置