1.用camera还是mediarecorder来获得视频流啊?
都可以,
使用camera的话其实就是继承AbstractCamera类把获取的每一帧yuv420sp数据使用ffmpeg中的1ibx264或者直接使用x264编码 软编码 得到h264视频流,然后把数据发送出去。
使用mediaRecorder其实就是把硬编码得到的h264流自己进行处理,得到其手机的sps,pps,然后rtp打包发送出去。
2.用mediarecorder,怎么获得每一帧的数据进行rtp打包实时发送呢?
参考spydroid源代码,里面有具体实现。
3.用mediarecorder录制视频的时候设置编码方式H.264,是不是说录制出的视频已经是h.264编码了
举个简单例子,mediarecorder设置编码格式为h264,容器为3gp或者mp4,那么如果设置保存路径就是采用h264格式的 3gp或者mp4文件。如果是得到实时流,因为视频header是在后面回写得到的,那么你需要把把得到的流进行处理,比如0001 sps 0001 pps 0001 h264data的形式。
4.服务器采用什么比较好,有没有人可以帮忙推荐一下。red测试通过了,但是要关闭防火墙,视频也有延迟,主要是android往服务器烧数据感觉没经过压缩,这样肯定是不行的吧。live555??
red5 的话,请采用rtmp协议,请搜索网上的一个资源iVideoChat视频录制
android 视频通话相关
最新推荐文章于 2024-08-16 12:34:55 发布
本文探讨了Android视频通话的实现,包括使用camera或mediarecorder获取视频流,mediarecorder的H.264编码,服务器选择如Red5和live555,RTP打包参考Spydroid,以及ffmpeg在Android上的应用。建议参考sipdroid源码进行学习,并介绍了编码、传输和解码的策略。
摘要由CSDN通过智能技术生成