VLC播放 RTP流的 音频 视频的 sdp描述文件

    xiaoxiao2021-03-25  98

    http://www.itdadao.com/articles/c15a234502p0.html

    我们可以自己把音频(AAC)或视频(h264)数据 封装为RTP包 然后,通过UDP发送到一个端口 ,通过VLC播放,但VLC播放时不同于播放网络流方式,而是通过打开一个后缀名为sdp的文件来播放网络rtp流。

    个人测试了视频h264  音频aac  。PCM格式还没测试

    打开一个文件,修改文件名为video.sdp   一下汉字为注解 ,不需要在video.sdp文件中。

     m=video 6688 RTP/AVP 96   //这里意思是 VLC要通过6688接收数据  同时发送端也要发送到这个端口。另外要注意端口别和其他程序重复了,例如注意 5678端口同时是迅雷的一个端口 ,不要用,害的我花了半天时间。96的意思是动态的 a=rtpmap:96 H264       //到这里告诉了VLC 编码方式为h264

    c=IN IP4 109.112.145.38   //这一行 我由于发送数据程序也是在本机vlc也是在本机 所以测试的时候并没有,写到这里 只是为了假如你看了博客后 如果没这条语句,而不能播放的话,请你加上

    同理音频(aac格式)如下:

    m=audio 10020 RTP/AVP 96      同理10020为目标端口和vlc接收端口 a=rtpmap:96 mpeg4-generic/44100  //  44100为采样率 假如你是22050 这里要改正。不要问我 mpeg4-generic啥意思 我是从live555里跟踪出来的。 a=fmtp:96 streamtype=5; profile-level-id=15; mode=AAC-hbr; config=1210; SizeLength=13; IndexLength=3; IndexDeltaLength=3;Profile=1//这一行很重要,虽然不知道里边的内容那个是必须的。 c=IN IP4 172.16.2.155//同理地址。

    干净代码如下:

    m=video 5678 RTP/AVP 96 a=rtpmap:96 H264

    m=audio 10020 RTP/AVP 96 a=rtpmap:96 mpeg4-generic/44100 a=fmtp:96 streamtype=5; profile-level-id=15; mode=AAC-hbr; config=1210; SizeLength=13; IndexLength=3; IndexDeltaLength=3;Profile=1 c=IN IP4 172.16.2.155

    我会上传一个打包h264为rtp和打包aac为rtp的工程。

    请交流QQ493061330

    转载请注明原文地址: https://ju.6miu.com/read-23748.html

    最新回复(0)