社区
Flash流媒体开发
帖子详情
android客户端录制视频使用rtp协议发送到服务器端,服务器端接收并转发
子晓聊技术
2013-01-05 10:02:40
android客户端录制视频,经过h264硬编码后,使用rtp协议发送到服务器端。这一部分我有思路了,但服务器端接收并转发提供rtsp服务这块,我有点迷糊。我是用JMF接收rtp协议的数据,然后把得到的数据实时转发到rtsp服务器?还是其他怎么做。
...全文
402
回复
打赏
收藏
android客户端录制视频使用rtp协议发送到服务器端,服务器端接收并转发
android客户端录制视频,经过h264硬编码后,使用rtp协议发送到服务器端。这一部分我有思路了,但服务器端接收并转发提供rtsp服务这块,我有点迷糊。我是用JMF接收rtp协议的数据,然后把得到的数据实时转发到rtsp服务器?还是其他怎么做。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
SipDroid
客户端
源码
1. sipdroid\src\org\zoolu 中是sip
协议
栈的实现 2. sipdroid\src\org\sipdroid 中是软电话的实现 3. sipdroid\src\com 中是stun相关的实现 4. sipdroid默认
使用
的编码格式为G711-A率。 5. 直接用ant debug的方法编译出的程序,只支持A率和U率两种音频编码格式,其他的都需要通过NDK的方法导入后,才能
使用
。 6. 如果对端终端支持
视频
的话(如linphone),菜单如下: 保持,静音, 转移
发送
视频
挂断 注意:只能
发送
视频
,
接收
不到对端的
视频
。 7. 如果对端终端不支持
视频
的话(如yate),菜单如下: 保持,静音, 转移 挂断 8. sipdroid\src\org\sipdroid\sipua\ui 中的VideoCamera.java,有
视频
捕获,
发送
,
接收
的实现。 9. sipdroid\src\org\sipdroid\sipua\ui 中的CallScreen.java中的 VIDEO_MENU_ITEM 标识了 “
发送
视频
” 10. Activity2.java 实现了跳转到InCallScreen.java 11. class InCallScreenextends CallScreen 12. sipdroid.java 中有“关于 退出 设置”菜单的实现。 在
Android
Manifest.xml中, 表明了哪个Activity先启动。 13. 网络传来的音频数据通过AudioTrack类进行播放。 14. 本地的音频数据通过AudioRecord类进行
录制
。 15. 在本地播放数据包中的
视频
流,可以先提取位图,再显示。由于系统没有提供直接播放的相关方法。 16. 线程同步的方法 – synchronized 17. F:\sipdroid\res\drawable 中的图标可以更换 18. sipdroid\res\values-zh-rCN 修改【关于】显示框的内容 19 在Sipdroid开源项目像服务器进行数据的
发送
统一是由SipProvider的sendMessage,因为首先得知道是什么连接 是UDP啊,还是TCP,然后就是message的封装 20. 是无连接的包投递服务,为什么是无连接呢,
客户端
和服务器压根就没有建立连接,服务器只是开放了端口来接受数据,有了就接受,没有就悬挂阻塞. 21双边的
视频
观看,走的还是数据报包,有数据报包的ip和端口就行了 22 但是Sipdroid可以直接的从MediaRecord里面已经生成好的
视频
数据中提取出H264/H263的数据,这些数据已经经过了相应的编码 23如何观看
视频
: mVideoFrame.setVideoURI(Uri.parse("rtsp://"+Receiver.engine(mContext).getRemoteAddr()+"/"+ Receiver.engine(mContext).getRemoteVideo()+"/sipdroid")); 24 通过内置的videoview来通过RTSP来进行播放,那么也就是说服务器会将传递的
RTP
的
视频
数据流封装成RTSP的流传递给手机的videoview来实现观看,同样也不需要解码库, 所以Sipdroid开源代码里只有声音的编码库,没有
视频
的编码库. 25 最好的实现该软件的方法是,借助
Android
的MediaRecorder实时提取出H263/H264数据,然后经过
RTP
封装传给RTSP服务器,这种实现方式最理想,通过获取onPrewFrame来获取预览帧编码,无论怎么弄,不可避免的,延时,丢帧各种情况都会让你非常的棘手
android
录制
音频通过网络传输到服务器播放
暂时假象的2种场景,一种是
android
实时
录制
音频,通过编码
rtp
打包到服务器,服务器
接收
并
转发
,
客户端
能够实时播放。这个是单向音频传输的想法,与spydroid处理音频类似,但由于spydroid本身的音频在我小米1s上测试不成功,故自己考虑用其他方式来实现。为什么没有把spydroid源码分析系列写下去,主要原因是,spydroid源码本身还存在不少问题。比如h263编码在我机子androi
FFmpeg4.3系列之24:
RTP
及j
rtp
lib
发送
H.264码流
敬告:该系列的课程在抓紧
录制
更新中,敬请大家关注。敬告: 该系列的课程涉及:FFmpeg,WebRTC,SRS,Nginx,Darwin,Live555,OpenCV等。包括:音
视频
、流媒体、直播、
Android
、
视频
监控28181、等。我将带领大家一起来学习:
RTP
及j
rtp
lib
发送
H.264码流实战;
RTP
协议
的报文结构;
RTP
封装H.264;开源库j
rtp
lib的源码编译及环境搭建;开源库j
rtp
lib的官方案例详解与剖析;开源库j
rtp
lib
发送
H264码流并用VLC播放;具体内容包括:
RTP
及j
rtp
lib
发送
H.264码流实战;
RTP
协议
的报文结构;
RTP
封装H.264;开源库j
rtp
lib的源码编译及环境搭建;开源库j
rtp
lib的官方案例详解与剖析;开源库j
rtp
lib
发送
H264码流并用VLC播放
RTSP+
RTP
协议
剖析
RTSP+
RTP
协议
剖析
RTSP
协议
探秘:从原理到C++实践,解锁实时流媒体传输之道
RTP
(Real-time Transport Protocol,实时传输
协议
)是一个用于实时音频和
视频
数据传输的网络
协议
。它在互联网上广泛应用于流媒体、VoIP(Voice over IP)等多媒体通信领域。
RTP
协议
通过UDP/IP
协议
提供端到端的实时传输服务,支持实时多媒体数据的同步和恢复。时间戳:每个
RTP
数据包包含一个时间戳,用于表示数据包中的媒体数据的采样时刻。
接收
端可以
使用
这个时间戳来实现音
视频
同步、延时控制和抖动缓冲。序列号:
RTP
为每个
发送
的数据包分配一个递增的序列号。
Flash流媒体开发
2,275
社区成员
15,181
社区内容
发帖
与我相关
我的任务
Flash流媒体开发
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
复制链接
扫一扫
分享
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章