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 可以从文件中的特定位置解析吗?的主要内容,如果未能解决你的问题,请参考以下文章