说明:
许多以前做个一个测试项目,想把android手机视频接入视频服务器,做法是这样的:
把android手机的实时视频上传到后台转发服务器,转发服务器把音视频流包装成IPC rtsp服务器形式,流媒体连接手机转发服务器就像连接IPC设备一样,使用rtsp的拉流模式获取视频流。
从而实现手机—转发服务器—视频服务器—PC客户端的双向通信。
这个方案是一个简化方案,手机端仅仅负责抓包回放以及远程播放,转发服务器仅实现一个rtsp封装并未其他任何功能,其他模块是不变的。手机端使用了最上层的mediarecorder对象,一边录制回显,一边上传音视频。
手机端需要使用自定义的协议和转发服务器通信,把音视频参数告知服务器,其中获取视频参数是很重要的。
如何 获取视频参数呢?其实,mediarecorder(H264)的录制数据的开头就包含了SPS和pps参数,分析一下取出来即可,并且相同的设备、相同的配置获取的sps,pps都是相同的,只需要在启动界面的时候获取一下即可,后面就不需要获取了。
如何获取H264参数呢?
解决方案:
1、设置录像的视频解码参数为H264
2、获取到录像数据之后跳过文件头:
??????
3、后面就是SPS和PPS:
??????
这样就找到视频参数,然后封装起来,告诉服务器。
参考:
以前我好像写过一篇文章介绍sps,pps,那时候在做h264分片传输。
【文章转自:美国站群服务器 mgzq.html处的文章,转载请说明出处】走过一个又一个陌生的城市,去感受旖旎的自然风光,