是否有可能伪造(mp4)moov原子?

时间:2011-03-15 13:51:58

标签: header stream mp4 quicktime

我正在尝试播放MP4-Stream。该流是从我的Android手机发送的。问题是,播放mp4所需的moov原子只有在手机完成录制进度时才会写入。所以目前我只是在录制结束后播放流数据。 我的想法是自己编写ftyp和moov原子,以便在手机正在录制时播放流数据。 我试图使用来自另一个视频文件的moov原子,但这不起作用。我也读过,如果只给出mdat原子,通常不可能建立一个moov原子。 但在我的情况下,我知道录音条件,如帧速率等。

所以我的问题是,如果我知道录音参数,是否可以为输入流生成有效/可用的moov原子?

2 个答案:

答案 0 :(得分:4)

这是可能的。我已经在4年前完成了对原始iPhone实施“直播”。只需用恒定大小的帧填充STSZ和STCO原子,然后用零填充每个帧。是的,规模将是巨大的,但你会得到真正的直播: - )

答案 1 :(得分:2)

似乎不太可能传输尚未完成的mp4文件,因为播放器需要具有块和偏移的特殊表来定位每个数据样本。你可以伪造FTYP,MOOV和其他原子,但是你不能在没有文件完成的情况下生成所有表。更好的策略是生成许多短mp4文件并按文件发送它们......