我正在尝试播放 MP4 流。该流是从我的 Android 手机发送的。问题是,只有当手机完成录音进度时,才会写入播放 mp4 所需的 moovatom。所以目前我只是在录制完成后播放流数据。 我的想法是自己写ftyp和moovatom,这样可以在手机录音的同时播放流数据。 我尝试使用另一个视频文件中的 moovatom,但这不起作用。我还读到,如果只给出 mdat 原子,通常不可能构建 moov 原子。 但就我而言,我知道录制条件,例如帧率等。
所以我的问题是,如果我知道录制参数,是否可以为传入流生成有效/可用的 moov 原子?
最佳答案
这是可能的。我四年前就已经在原来的 iPhone 上实现了“直播”。只需用恒定大小的帧填充 STSZ 和 STCO 原子,然后用零填充每个帧。是的,尺寸会很大,但你会得到真正的直播:-)
关于header - 是否有可能伪造一个 (mp4) moov 原子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5312740/