Nginx RTMP 分段文件名和时间戳
Nginx RTMP segments filename with timestamp
我有一个用于直播的Nginx RTMP hls服务器,文件名是这样的'streamkey-0.tst, streamkey-1.ts, streamkey-2.ts ...'
但我希望段不要从零开始,而是从当前时间戳开始,如 'streamkey-142134122.ts, streamkey142134126.ts ...'
这个问题有解决方案吗?谢谢
您应该在 HLS 部分添加 hls_fragment_naming timestamp
。示例:
rtmp {
server {
listen 1935;
application src {
live on;
exec ffmpeg -i rtmp://localhost/src/$name
-c:a aac -b:a 32k -c:v libx264 -b:v 128K -f flv rtmp://localhost/hls/$name_low
-c:a aac -b:a 64k -c:v libx264 -b:v 256k -f flv rtmp://localhost/hls/$name_mid
-c:a aac -b:a 128k -c:v libx264 -b:v 512K -f flv rtmp://localhost/hls/$name_hi;
}
application hls {
live on;
hls on;
hls_path /tmp/hls;
hls_fragment_naming timestamp; # HERE
hls_variant _low BANDWIDTH=160000;
hls_variant _mid BANDWIDTH=320000;
hls_variant _hi BANDWIDTH=640000;
}
}
}
更多信息:https://github.com/arut/nginx-rtmp-module/wiki/Directives#hls_fragment_naming
我有一个用于直播的Nginx RTMP hls服务器,文件名是这样的'streamkey-0.tst, streamkey-1.ts, streamkey-2.ts ...'
但我希望段不要从零开始,而是从当前时间戳开始,如 'streamkey-142134122.ts, streamkey142134126.ts ...'
这个问题有解决方案吗?谢谢
您应该在 HLS 部分添加 hls_fragment_naming timestamp
。示例:
rtmp {
server {
listen 1935;
application src {
live on;
exec ffmpeg -i rtmp://localhost/src/$name
-c:a aac -b:a 32k -c:v libx264 -b:v 128K -f flv rtmp://localhost/hls/$name_low
-c:a aac -b:a 64k -c:v libx264 -b:v 256k -f flv rtmp://localhost/hls/$name_mid
-c:a aac -b:a 128k -c:v libx264 -b:v 512K -f flv rtmp://localhost/hls/$name_hi;
}
application hls {
live on;
hls on;
hls_path /tmp/hls;
hls_fragment_naming timestamp; # HERE
hls_variant _low BANDWIDTH=160000;
hls_variant _mid BANDWIDTH=320000;
hls_variant _hi BANDWIDTH=640000;
}
}
}
更多信息:https://github.com/arut/nginx-rtmp-module/wiki/Directives#hls_fragment_naming