场景
开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放:
开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放_霸道流氓气质的博客-CSDN博客
在上面搭建ZLMediaKit的基础上。
ZLMediaKit在Windows上实现Rtmp流媒体服务器以及模拟rtmp推流和http-flv拉流播放:
ZLMediaKit在Windows上实现Rtmp流媒体服务器以及模拟rtmp推流和http-flv拉流播放_霸道流氓气质的博客-CSDN博客
使用FFmpeg进行rtmp模拟推流实现。
但是推流时的地址是127.0.0.1
ffmpeg.exe -re -stream_loop -1 -i D:\2.mp4 -vcodec libx264 -acodec aac -f flv rtmp://127.0.0.1:1935/hls/123456123_2
pause
但是如果将127.0.0.1修改为实际Ip地址则会因为鉴权默认,导致推流失败。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
实现
1、需要保留鉴权,则在进行推流时传递sercet参数。
ffmpeg.exe -re -i D:\test\1.mp4 -vcodec libx264 -acodec aac -f flv rtmp://10.229.36.31:1935/hls/123456123_0?secret=8725c73f7-bb6b-4889-你自己的sercet
secret的位置如下:
2、关闭推流时的鉴权
我们向ZLM流媒体服务器推流,要使用鉴权就必须得开启ZLM服务的HOOK,配置文件中enable要置为1。
[hook]
admin_params=secret=035c73f7-bb6b-4889-a715-d9eb2d1925cc
enable=0
on_flow_report=
on_http_access=
on_play=
on_publish=http://127.0.0.1:18080/index/hook/on_publish
on_record_mp4=
on_record_ts=
on_rtsp_auth=
on_rtsp_realm=
on_server_started=http://127.0.0.1:18080/index/hook/on_server_started
on_shell_login=http://127.0.0.1:18080/index/hook/on_shell_login
on_stream_changed=http://127.0.0.1:18080/index/hook/on_stream_changed
on_stream_none_reader=http://127.0.0.1:18080/index/hook/on_stream_none_reader
on_stream_not_found=http://127.0.0.1:18080/index/hook/on_stream_not_found
timeoutSec=20
所以将hook的enable改为0就可以直接进行推流,不用传递secret参数。
3、按照官方推流鉴权流程
自行实现,这里不再实现。
ZLMediaKit实现推流鉴权 · ZLMediaKit/ZLMediaKit Wiki · GitHub