未生成 Nginx rtmp 模块 m3u8 文件
Nignx rtmp module m3u8 file not generated
我正在尝试使用 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”
我正在尝试使用 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”