VLC 推RTP流 |
您所在的位置:网站首页 › ffmpeg发送rtp › VLC 推RTP流 |
背景
最近有播放RTP流的需求,在网络上寻觅良久也未找到可以使用的RTP直播地址。于是基于VLC搭建了RTP服务器,最后验证通过。先直接上步骤再作说明。 组网环境1. VLC软件版本 3.0.11 Vetinari
这儿说明软件版本只是为了表明测试使用软件详细信息,不代表必须是此VLC版本。 2. 组网方式,客户端和服务端直连 手动设置PC机的IPV4地址192.168.0.1, 设置开发板的地址ifconfig eth0 192.168.0.2 VLC推流1. 选择 媒体->流,点击 2. 点击 3. 点击 4.在地址处填入组播地址,这一点非常重要。测试使用了地址 224.224.224.224,基本端口 可以不用修改,流名称 未填写,点击下一个。播放时使用的URL是:rtp://224.224.224.224:5004 5.将转码选项中 6. 最后点击 1. 目前可以方便搭建的推流服务器软件可以是VLC,也可以是FFMPEG。 2. 开发板和推流服务器要处于同一个局域网中,测试过程中使用路由器和网线直连的方式,开发板都可以正常播放RTP流。 3. 推流的地址一定要是组播地址,不能是自己PC地址。自己PC地址,在相同PC上,播放器可以拿到RTP流,但是其他PC或者开发板都不能拿到RTP流。 4. 将激活转码去掉的原因:比如转成AVC,使用分辨率较低的影片实际测试过程中发现,相当长的时间内都没有能够正确解出AVC的SPS,PPS信息,出现黑屏。 5. 推流过程中,可以更换码流,这时候播放器就需要根据码流类型的改变作出自适应处理,避免长时间卡住。 6.如果在播放过程中出现了setsockopt(IP_ADD_MEMBERSHIP): No such device错误,那是因为多播地址还未加入到路由表中,使用如下命令: route add -net 224.224.224.224 netmask 255.255.255.255 eth0 即可,其中224.224.224.224是要使用的多播放地址。 7. FFMPEG推流时,如果推流的格式使用RTP,即-f后面的参数为rtp时,一次只能推单流,音频和视频不能同时推。 ffmpeg.exe -re -stream_loop -100 -i F:\clip\mkv\32842.mkv -vcodec copy -an -f rtp rtp://224.224.224.223:5004 需要同时推送音视频时,建议将推流格式设置成rtp_mpegts ffmpeg.exe -re -stream_loop -100 -i D:\clip\kh264_mp3.mp4 -vcodec copy -acodec copy -f rtp_mpegts rtp://224.224.224.224:5004 使用VLC推流,开发板经常拿不到正常的音频流,同一个组网环境另一台非VLC server 的PC机能够拿到正常的音视频流。使用FFMPEG推流,非VLC server 的PC机和开发板都能够正常播放。 8.有些局域网的路由器或者交换机对组播功能支持不好。即便是同一个局域网,RTP服务器正常推流,开发板也不一定能够拿到流播放,测试时还是需要直连。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |