将时间戳添加到mp4容器

问题描述:

假设我收到H264视频的数据包,每个数据包都带有时间戳。有没有办法将这些时间戳存储在mp4容器中?还是另一种容器类型?将时间戳添加到mp4容器

+0

你究竟在做什么?从头开始编写mp4复用器或使用库? – BlueVoodoo 2013-03-07 12:20:27

+0

视频数据通过RTP包传入,我想用DirectShow将它写入mp4。 – kodu 2013-03-07 12:23:48

+0

我会将directshow标签添加到此问题。答案是肯定的。事实上,玩家必须知道每一帧应该呈现的时间。 ......或者说,每帧应该显示多长时间。这与mp4中的恒定或可变fps相同。我对directshow不甚了解,所以无法告诉你它是如何工作的。 – BlueVoodoo 2013-03-07 12:28:19

MP4容器中,对于每个样本计数,都有一个对应的时间戳存储为stts框的一部分。对于给定的样本,您需要stco用于块偏移量,stsc用于块样本,stsz用于样本大小,stss用于关键​​帧指示,stts用于解码。

+0

是否有API用于完成所有这些事情? – kodu 2013-03-07 12:42:50

+0

@ user1896048有一些免费的公共领域的mp4作家available.You可以参考这个链接也http://stackoverflow.com/questions/3663797/mp4-container-writer-in-java – Ganesh 2013-03-07 13:25:38