Android mp4 h264作为PES有效载荷

Android mp4 h264作为PES有效载荷,android,mediarecorder,mpeg2-ts,Android,Mediarecorder,Mpeg2 Ts,由于不推荐使用TS格式(OutputFormat=8)的MediaRecorder录制,事实上,它似乎只适用于少数设备,因此我想录制MP4/H.264视频,然后通过软件将其转换为.TS文件。我必须使用文件描述符作为输出文件进行录制,因为我需要将实时视频发送到本地服务器到目前为止,我已经能够生成一个包含适当频率的适当SI表(PAT、PMT)的.ts文件(正如我在某处读到的,PAT每100毫秒一次,PMT每400毫秒一次),而在这些时间间隔内,我实际上用空数据包填充.ts文件。现在,我必须用PESs

由于不推荐使用TS格式(OutputFormat=8)的MediaRecorder录制,事实上,它似乎只适用于少数设备,因此我想录制MP4/H.264视频,然后通过软件将其转换为.TS文件。我必须使用文件描述符作为输出文件进行录制,因为我需要将实时视频发送到本地服务器
到目前为止,我已经能够生成一个包含适当频率的适当SI表(PAT、PMT)的.ts文件(正如我在某处读到的,PAT每100毫秒一次,PMT每400毫秒一次),而在这些时间间隔内,我实际上用空数据包填充.ts文件。现在,我必须用PESs(打包的基本流)替换这些空包。问题是:
MediaRecorder输出字节是否已格式化为PES?也就是说,我可以直接将这些字节分成184个字节块,并将它们用作TS数据包负载吗??如果没有,我应该对他们进行什么样的“预处理”?使用H264编码和MP4容器是否正确?

否。PES有一个必须首先写入的标题。您还需要通过写入开始代码并删除NALLENGHT(除非媒体记录器已经这样做),将表格MP4 NALUs转换为附录b。您还必须确保SP和PPS在流中重复。最后,您必须确保AUD存在,因为它们在MP4中是可选的,但在ts中是必需的


哦,别忘了写PCR

否。PES有一个必须首先写入的标题。您还需要通过写入开始代码并删除NALLENGHT(除非媒体记录器已经这样做),将表格MP4 NALUs转换为附录b。您还必须确保SP和PPS在流中重复。最后,您必须确保AUD存在,因为它们在MP4中是可选的,但在ts中是必需的


哦,别忘了写PCR

你能再给我解释一下吗?我不知道什么是SP,PPS,AUD。。。您说过SPS和PPS必须重复,但以何种速率?有关于它的指南吗?任何你想要/需要随机访问的地方。在每个iframe都是一个很好的经验法则之前,你能给我解释更多吗?我不知道什么是SP,PPS,AUD。。。您说过SPS和PPS必须重复,但以何种速率?有关于它的指南吗?任何你想要/需要随机访问的地方。在每个iframe都是一个很好的经验法则之前,嗨,Luigi Renda,我正在努力做同样的事情,你明白了吗?如果是的,你能在这里发布解决方案吗?谢谢。嗨,Luigi Renda,我也在为同样的事情奋斗,你明白了吗?如果是的,你能在这里发布解决方案吗?谢谢