ZLMediaKit转码rtsp
把摄像机的rtsp流转码播放
1. 启动ZLMediaKit
2. 执行addStreamProxy如下,stream是流ID,不要重复,可为字母数字等,
3. rtsp://10.136.238.143/live/123 这个地址可播放,如果stream变化则同步修改,vlc播放稳定
4. rtmp://10.136.238.143/live/123 这个地址可播放,vlc过一会掉线停止了
5. http://10.136.238.143/live/123.flv 这个地址可播放,vlc过一会掉线停止了
6. 网页播放用http://10.136.238.143/live/123.flv(开始时播放一会就停止了,多点几次播放按钮后,很长时间播放正常)
<script src="https://cdn.bootcss.com/flv.js/1.5.0/flv.min.js"></script>
<video id="videoElement"></video>
<button class="btn">播放</button>
<script>
if (flvjs.isSupported()) {
var videoElement = document.getElementById('videoElement');
var flvPlayer = flvjs.createPlayer({
type: 'flv',
url: 'http://10.136.238.143/live/123.flv'
});
flvPlayer.attachMediaElement(videoElement);
flvPlayer.load();
document.querySelector('.btn').addEventListener('click', () => {
flvPlayer.play();
})
}
</script>
7. 上面add函数增加一个参数:enable_hls = 1后,可以通过http://10.136.238.143/live/123a/hls.m3u8 进行播放
8. 流不需播放时可以关闭,调用close_streams函数,其中force是否强制关闭,即使有用户在观看也关闭
9. 可以通过api查询有多少流
ZLMediaKit问题记录_zlmediakit rtp推流器断开-CSDN博客
ZLMediaKit - 钟齐峰 - 博客园 (cnblogs.com) 对接28181
五、推流和播放
OBS推流选择正确的端口和地址即可。 推送地址示例: rtmp://127.0.0.1/live/0
ffmpeg 推流命令
./ffmpeg -re -i ./doc/ljg.mp4 -vcodec copy -acodec copy -f flv -y rtmp://localhost/live/0
播放地址:
(rtsp默认554端口,http默认80,https默认443,如果配置文件中不是像这样配置,需要在下面的地址域名后面添加端口号。)
rtsp://somedomain.com/live/0
rtsps://somedomain.com/live/0
rtmp://somedomain.com/live/0
rtmps://somedomain.com/live/0
http://somedomain.com/live/0/hls.m3u8
https://somedomain.com/live/0/hls.m3u8
更多URL信息请参考播放url规则 · ZLMediaKit/ZLMediaKit Wiki · GitHub
六、MediaServer作为点播服务器
MediaServer可以将mp4文件转化为媒体流进行分发(目前只支持mp4文件)。
具体做法是:将test.mp4放到 ./www/record/目录下后,用以下地址播放
rtmp://127.0.0.1/record/test.mp4
rtsp://127.0.0.1/record/test.mp4
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/v6543210/article/details/106154298
推流:
# h264编码 ffmpeg -re -i /home/debian/box.mp4 -vcodec h264 -acodec aac -f rtsp -rtsp_transport tcp rtsp://127.0.0.1/live/test123 # h265编码 ffmpeg -re -i /home/debian/box.mp4 -vcodec h265 -acodec aac -f rtsp -rtsp_transport tcp rtsp://127.0.0.1/live/test123
可以看到几个媒体注册的消息,同时支持 rtsp、rtmp、hls等协议,现在可以另一台机器上开个播放器播放了,像vlc、ffplay 都可以,播放的url是:
rtsp://192.168.1.115/live/test123 rtmp://192.168.1.115/live/test123 http://192.168.1.115/live/test123/hls.m3u8
http://192.168.1.115:9080/live/test123.flv