使用VLC接收RTP流并时时播放(RTP流是pcma包)

写在前:

  或许是本人水平有限, 一个简单的问题楞是想了很久还没想出来, 最后还是问我师父的结果.

  总的来说, 目的就是: 服务器会发给本地电脑一系列的rtp包, 这些rtp包都是pcma编码的语音包, 我是想在本地将这些语音包给解压并播放出来.

  上网查了很多, 也写了sdp文件, 然而一直实现不了

  sdp文件如下:   

    m=audio 50060 RTP/AVP 8
    a=rtpmap:8 PCMA/8000/1
    a=framerate:50
    c=IN IP4 22.22.22.159

  这几个参数的意思, 可以看:http://blog.csdn.net/zhangjikuan/article/details/27378237

  

问题解决:

  主要还是对网络之间的原理不是很理解, 网络都是io流的数据, 那么我应该使用VLC的网络串流的功能, 使用这个功能来接收服务器发送过来的语音数据流

  因些这个问题就很好解决了

  1.首先, 确保你的本地电脑是否收到了服务器发来的数据流, 可以用抓包软件wireshark来确定是否收到

  2.其次, 确定你收到包可以解析成语音, 使用wireshark可以将UDP包--->解析成-->RTP包, 这些RTP包可以直接使用wireshark播放

  3.现在, 已经可以确定本地收到语音包, 接着就是用VLC播放器将这些语音包时时播放出来就可以了

    打开VLC, 选择"媒体(M)"  --> "打开网络串流(N)"  -->  在"请输入网络URL:"下输入--"rtp://@1234"  --> "播放"  即可.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值