首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > 多媒体 >

怎么将H.264的流媒体文件保存为本地文件(录制)

2013-01-08 
如何将H.264的流媒体文件保存为本地文件(录制)?各位大侠,我在将H.264的流媒体文件保存为本地文件时遇到这

如何将H.264的流媒体文件保存为本地文件(录制)?
各位大侠,我在将H.264的流媒体文件保存为本地文件时遇到这样一个问题:由于最初的两个I帧之间保存不对而导致了花屏。

客户端将采集以后的H.264数据采用RTP机制发送到服务器,我在服务器这边首先将收到的RTP包进行解析,获取到真正的H.264数据包。由于H.264数据包只有I帧与P帧。P帧需要2~4个socket包才能发送完成。I帧而需要10~30个socket包才能发送完毕。
在接收端,我对包进行解析并对包头判断:遇到十六进制00 00 00 67开头的包时,我开始保存(十六进制00 00 00 67开头的包后紧跟着十六进制00 00 00 68开头的包,再后面为多个十六进制00 00 00 65开头的包。三者分别代表SPS、PPS、I帧)。即我的思路为从I帧开始保存。另外,时戳则是按照帧来计算。目前发送端视频为25帧,所以在接收端按照40毫秒累加来对每一帧接收图像的时戳进行赋值。

保存以后的视频文件有花屏。我采用软件分析了一下,目前是第一个I帧和第二个I帧之间保存出错。第二个I帧以后的保存正确。请各位大侠给出宝贵意见。

如果谁有H.264流到文件转化的程序,能送给在下,在下将感激不尽!
[解决办法]
确定看第一帧和第二帧是否有丢包,若没有丢包,花的话很正常。在确定是否丢包时,可以在客户端采集的时候进行文件保存,看是不是和客户端的效果一样
[解决办法]
保存以后的视频文件有花屏,说明花屏珍的花瓶部分参考的前面的帧找不到了丢失了,你在保存的时候就应该判断如果丢失了就不要保存这一帧了

热点排行