IjkPlayer播放器其实是支持RTP直播的,但是只能用ffmpeg软解码不能使用硬解码。
这里将会从以下几个方面配置使用
1、UDP RTP/RTMP区别
2、FFMpeg推流
3、IjkPlayer编译选项
4、RTP硬解码支持
一、RTP/RTMP区别
RTMP直播是基于TCP协议,UDP RTP是基于UDP协议。也就是说RTMP将会更加可靠,而UDP RTP延时将会更低。
二、FFMpeg推流
关于HLS推流服务器搭建可以参考网络直播/点播服务器搭建。
由于RTP直播推出信息不能直接使用其播放地址,他按照SDP规范,我们在推流的时候需要把它存入SDP文件中。客户端直接访问保存好的SDP文件即可。
这里就要在HLS推流服务器中添加SDP文件的访问(亦可以自己重新搭建服务器访问SDP文件,我已经搭建了HLS推流服务器,我将在这上面修改)。
打开配置文件
sudo gedit /usr/local/nginx/conf/nginx.conf
添加sdp后缀文件的访问
...
http {
...
server {
...
location ~\.sdp$ {
root /home/ssnwt/src/ssnwt/videos;
}
}
}
推流命令
ffmpeg -re -i test.ts -c:v copy -an -f rtp rtp://233.233.233.233:5004 -vn -f rtp rtp://233.233.233.233:5006 -sdp_file test.