Sipdroid中的视频通话是如何实现的?
2011-11-22 11:04
148 查看
Sipdroid中的视频原理是怎么样的? 涉及到视频传输的类是org.sipdroid.sipua.ui中的VideoCamera,VideoCameraNew,VideoCameraNew2,VideoPrewView。 首先呢,双边的视频观看,走的还是数据报包,有数据报包的ip和端口就行了。 那么发送视视频数据的方式和观看视频数据的方式是如何实现的呢? 发送视频数据就非常的巧妙了,在Android拍传的那篇文章中,采用的是获取预览帧的数据并进行发送来实现的, 详细文档见: http://www.shouyanwang.org/thread-7-1-1.html 这种方式的弊端就是预览帧的编码特别的耗费时间,流畅性差,而且对编码器的效率的依耐性比较高。 但是Sipdroid可以直接的从MediaRecord里面已经生成好的视频数据中提取出H264/H263的数据,这些数据已经经过了相应的编码,具体的怎么实现提取H263/H264的,我会在后面说,非常牛X哦. 然后作为观看段呢? 怎么观看呢,其实观看就2行代码, mVideoFrame.setVideoURI(Uri.parse("rtsp://"+Receiver.engine(mContext).getRemoteAddr()+"/"+ Receiver.engine(mContext).getRemoteVideo()+"/sipdroid")); 通过内置的videoview来通过RTSP来进行播放,那么也就是说服务器会将传递的RTP的视频数据流封装成RTSP的流传递给手机的videoview来实现观看,同样也不需要解码库,真是涉及独到啊。 所以Sipdroid开源代码里只有声音的编码库,没有视频的编码库. |
相关文章推荐
- 实时语音视频通话SDK如何实现听声辨位
- 实时语音视频通话SDK如何实现立体声(一)
- 如何结合 CallKit 和 Agora SDK 实现视频 VoIP 通话应用
- 如何实现Linux平台的视频通话
- 如何实现安全的音视频通话
- Android 8.0 中如何实现视频通话的画中画模式的示例
- 实时语音视频通话SDK如何实现立体声(二)
- 如何实现android实时视频通话功能
- Linux平台视频通话的实现
- 思考像微信QQ视频通话最小化后悬浮展现实现思路
- 如何实现兼容 PC 和微信 H5 的全屏播放小视频
- 使用WebRTC实现电脑与手机通过浏览器进行视频通话
- 基于Chrome、Java、WebSocket、WebRTC实现浏览器视频通话
- 教你如何屏蔽视频广告!浏览器插件实现屏蔽视频广告!
- C#中如何实现AVI视频的播放并且需要在播放视频的同时在视频上进行一些简单线条的绘制?
- EDIUS中的视频如何实现90度旋转
- 音视频开发(Anychat如何改善音视频通话过程中的用户体验)
- Android如何让WebView中的HTML5页面实现视频全屏播放
- 如何实现:录制视频聊天的全过程? 【低调赠送:QQ高仿版GG 4.3 最新源码】
- 我的Android进阶之旅------>Android如何通过自定义SeekBar来实现视频播放进度条