0
点赞
收藏
分享

微信扫一扫

ZLMeidiaKit实现推流时(FFmpeg推rtmp流)时非127.0.0.1被拒绝需要鉴权的解决方式


场景

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放:

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放_霸道流氓气质的博客

在上面搭建ZLMediaKit的基础上。

ZLMediaKit在Windows上实现Rtmp流媒体服务器以及模拟rtmp推流和http-flv拉流播放:

ZLMediaKit在Windows上实现Rtmp流媒体服务器以及模拟rtmp推流和http-flv拉流播放_霸道流氓气质的博客-

使用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地址则会因为鉴权默认,导致推流失败。

注:


实现

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的位置如下:

ZLMeidiaKit实现推流时(FFmpeg推rtmp流)时非127.0.0.1被拒绝需要鉴权的解决方式_Windows

 

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参数。

 

ZLMeidiaKit实现推流时(FFmpeg推rtmp流)时非127.0.0.1被拒绝需要鉴权的解决方式_音视频_02

 

3、按照官方推流鉴权流程

自行实现,这里不再实现。

 

ZLMeidiaKit实现推流时(FFmpeg推rtmp流)时非127.0.0.1被拒绝需要鉴权的解决方式_java_03

 

举报

相关推荐

0 条评论