将视频文件的每一帧映射到指向原始帧的.png

时间:2015-10-16 17:01:08

标签: c linux video

我知道这可以通过Linux内核模块实现(即你可以" mount"一个视频文件来访问这些框架),但我想知道是否还有另一种Unix-ish方式要做到这一点,不要走那么远。

是否有一些特殊文件(可能是管道的魔法)可以引用视频文件中的特定帧,该视频文件被视为外部工具的.png,但是当编辑时更新视频中的原始帧?

(我正在寻找一般文件类型/伪代码。如果它是一个用C语言编写的答案,那就更好了)

FFMPEG可以访问单个帧:Using avconv to get a single frame from h264 video at set time

...然后将其注入:https://forums.creativecow.net/thread/291/1315

1 个答案:

答案 0 :(得分:4)

  

是否有一些特殊文件(可能是管道中的魔法)可以引用视频文件中的特定帧,该视频文件被视为外部工具的.png,但是当编辑时更新视频中的原始帧?

对于大多数视频格式,您无法做到这一点。帧不会独立存储在文件中;视频压缩算法通过存储相邻帧之间的差异来工作,因此在不改变与其相关的所有其他帧的情况下更新单个帧非常困难。

无论如何,不​​;在标准的UNIX系统中,没有办法创建以这种方式链接到另一个文件的文件。但是,您可以做的是创建一个FUSE文件系统,该系统将视频帧作为虚拟文件系统中的文件公开。但这不是一项微不足道的任务;有关入门的信息,您可能需要完成FUSE教程:

http://www.cs.nmsu.edu/~pfeiffer/fuse-tutorial/