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

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

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

场景

开源流媒体服务器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