我是新手,正在学习视频编解码和视频文件格式规范。我已经从这里阅读了有关QUICKTIME文件格式规范的内容,以及从这里阅读了MP4文件格式(几乎相同)的内容。其中包含诸如FTYPE、MOOV、MDAT等原子。MDAT原子包含实际的音频和视频数据。MOOV原子包含有关如何从MDAT中提取数据的信息,它提供了对块(样本)的引用。
我想从视频文件中提取MDAT原子中的视频样本,而不使用任何工具(如ffmpeg或juggler)。我可以自己编写代码来完成此操作。问题在于,即使我可以使用MOOV中的信息定位MDAT中的视频数据(样本),但这些样本是经过压缩的。我们需要对其进行解压缩才能获得帧。
我的问题是是否可以解压缩从MDAT中提取的样本并获取实际的视频帧?
工具如xuggler、ffmpeg等用于从视频文件中提取帧。但在这里,我想通过编写自己的代码从MDAT中提取样本(用于视频数据),然后使用某些工具对其进行解压缩。我不想编写编解码器。
请问有谁可以帮助我吗……!
谢谢……
我想从视频文件中提取MDAT原子中的视频样本,而不使用任何工具(如ffmpeg或juggler)。我可以自己编写代码来完成此操作。问题在于,即使我可以使用MOOV中的信息定位MDAT中的视频数据(样本),但这些样本是经过压缩的。我们需要对其进行解压缩才能获得帧。
我的问题是是否可以解压缩从MDAT中提取的样本并获取实际的视频帧?
工具如xuggler、ffmpeg等用于从视频文件中提取帧。但在这里,我想通过编写自己的代码从MDAT中提取样本(用于视频数据),然后使用某些工具对其进行解压缩。我不想编写编解码器。
请问有谁可以帮助我吗……!
谢谢……
ffmpeg -ss 3.00 -i input.mp4 -c copy -vframes 1 -map 0:v:0 -f data 1.bin
<-- 这会转储整个数据包。 - Gyan