Nignx rtmp模块m3u8文件未生成

问题描述

我正在尝试使用nginx rtmp模块创建本地流服务器。服务器本身似乎运行良好,因为我可以使用OBS流式传输到服务器。服务器将.ts视频文件存储在“ / usr / local / nginx / sbin / hls”目录下,但不会创建与它们关联的m3u8文件。

配置文件如下;

#user  nobody;
worker_processes  auto;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}

rtmp {

    server {

        listen 1935;  #listen port

        chunk_size 4096;


        application live {  #rtmp push stream request path 
            live on;
            hls on;
            hls_path /usr/local/nginx/sbin/hls/;
            hls_fragment 3s;
            hls_playlist_length 18s;
        deny play all;
        }
    }
}


http {
    sendfile off;
    tcp_nopush on;
    # aio on;
    directio 512;
    default_type application/octet-stream;

    server {
        listen 8080;

        location / {
            # Disable cache
            add_header 'Cache-Control' 'no-cache';

            # CORS setup
            add_header 'Access-Control-Allow-Origin' '*' always;
            add_header 'Access-Control-Expose-Headers' 'Content-Length';

            # allow CORS preflight requests
            if ($request_method = 'OPTIONS') {
                add_header 'Access-Control-Allow-Origin' '*';
                add_header 'Access-Control-Max-Age' 1728000;
                add_header 'Content-Type' 'text/plain charset=UTF-8';
                add_header 'Content-Length' 0;
                return 204;
            }

            types {
                application/dash+xml mpd;
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }

            root /usr/local/nginx/sbin/;
        }
    }
}

解决方法

解决方案通过设置流密钥来解决。 生成的视频文件名为-n.ts(n为视频编号)。设置流密钥后,文件名变为“ streamkey-n.ts”

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...