本文是在 《使用jrtplib打包发送h264数据,关使用vlc|mplayer播放》 这篇文章的基础上整理出来的,具体内容我就不转载了,大家可以去看原文,我只是把原作者的代码整理了一下,改成windows版本.
本文源码下载地址:http://download.csdn.net/download/heker2010/9898385
使用说明:先以vlc方式打开 show.sdp 文件,然后运行本程序即可。如果改端口,以文本方式打开即可,如下
m=video 12500 RTP/AVP 96
a=rtpmap:96 H264
a=framerate:15
c=IN IP4 127.0.0.1
我程序里目的端口是12500,当然show.sdp 文件的端口也是12500
PS: 用本程序来发送h264,用vlc来播放,多次测试发现有2个问题
1.有时候vlc没反应,不会播放视频。重启电脑,或一会儿又可以了.
2.如果发包是10秒,原视频是12秒,那么发包完,视频实际上还没播放完,vlc就播放完毕了,猜测应该跟发包频率和Jrtplib库内部还在发RTCP包有关系,待研究
另外,如果不通过Jrtplib库,直接用UDP对h264打RTP包发送,vlc接收的话就没有上面的2个问题。直接用UDP发送的demo,改天发出来.
------------ update 2017-7-18 -----
直接用UDP发送的demo已上传,下载地址为 http://download.csdn.net/detail/heker2010/9901919
本示例参考的来源为 将H264码流打包成RTP包 (vlc可播放)