什么是 nginx 的 RTMP URL
Posted
技术标签:
【中文标题】什么是 nginx 的 RTMP URL【英文标题】:What will be RTMP URL for nginx 【发布时间】:2017-09-12 13:33:41 【问题描述】:如果我在 nginx.conf 中使用以下代码,你能告诉我流 URL 是什么
rtmp
server
listen 1935; # Listen on standard RTMP port
chunk_size 4000;
application show
live on;
pull rtmp://THIS_IS_SOME_STREAM live=1;
hls on;
hls_path /mnt/hls/;
hls_fragment 3;
hls_playlist_length 60;
我试过了,但没用:
rtmp://My_Server_Ip/show
编辑
rtmp
server
listen 1935;
chunk_size 4000;
application live2
live on;
pull rtmp://Stream_IP app=vod/demo.mp4 name=okstr live=1;
与
rtmp
server
listen 1935;
chunk_size 4000;
application live2
live on;
pull rtmp://Stream_IP/vod/demo.mp4 name=okstr live=1;
然后我尝试在 VLC 中跟踪 URL,但它没有任何显示视频或任何错误。
http://My_IP/live2/okstr
【问题讨论】:
【参考方案1】:一般格式为:[rtmp://]host[:port][/app[/playpath]]
在pull
的情况下,如果播放路径 为空,则使用当前流名称。
您要么没有设置播放路径,要么拉取不起作用,要么防火墙阻止了 RTMP。检查日志。
【讨论】:
您对我没有定义的“播放”路径是正确的。我尝试了几个设置,但没有播放流。它在 VLC 中没有显示任何错误,只是无法播放。我觉得我已经接近解决这个问题了,所以请看一下。我已经更新了上面的新代码。【参考方案2】:第二个配置
pull rtmp://Stream_IP/vod/demo.mp4 name=okstr live=1;
是正确的。或者你可以这样编辑:
pull rtmp://Stream_IP app=vod playPath=demo.mp4 name=okstr live=1;
播放 url 为 rtmp://yourserverip/live2/okstr。 但是我有类似的问题,拉设置不能以奇怪的方式工作。它确实服务于前 4 个连接,但并非都跟随它们。在播放流 rtmp 命令后立即断开连接。 ffplay 确实说“处理输入时发现无效数据”。 我不得不使用额外的 ffmpeg 实例进行中继,单独运行或在 exec_static 中运行。这个推送方案没问题。 还要确保 worker_processes 为 1;并且 rtmp_auto_push 关闭或被评论;因为 multiworker 配置有问题。
【讨论】:
以上是关于什么是 nginx 的 RTMP URL的主要内容,如果未能解决你的问题,请参考以下文章
使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体server笔记