下面是nginx.conf配置文件的部分代码
application hls {
live on;
hls on;
hls_path /tmp/app;
hls_fragment 2s; #将每段的长度限定
hls_playlist_length 6s; #设置 HLS 播放列表长度。默认为 30 秒钟。
record keyframes;
record_path /tmp;
record_max_size 1280M;
record_interval 86400s;
record_suffix .this.is.flv;
}
这个配置之后可以向服务器的 "域名"/hls/xxx 进行推流,现在因为业务原因需要将“hls”动态配置,不知道有人可以提供个思路吗?不胜感激。
研究了一会突然想到ffmpeg命令是否有问题, 于是将ffmpeg放到命令行去执行, 发现报错libx264库不存在,非常高兴找到原因了, 于是换了一条能执行的命令
exec /root/bin/ffmpeg -re -i /usr/src/aa.flv -vcodec copy -f flv rtmp://localho
st:1935/hls/name;
这条命令成功了, 在我的站点生成了 .ts的流文件, 和.m3u8的文件, 于是换成流转换就不行了, nginx.conf改成这样,nginx重启时也不报错, 哪里都不报错,就是没法生成 ts和m3u8,有没有知道的大神求解!!!
exec /root/bin/ffmpeg -re -i rtmp://localhost:1935/$app/$name -vcodec copy -f flv rtmp://localho
st:1935/hls/$name;
application hls {
live on;
hls on;
hls_path /tmp/app;
hls_fragment 2s; #将每段的长度限定
hls_playlist_length 6s; #设置 HLS 播放列表长度。默认为 30 秒钟。
record keyframes;
record_path /tmp;
record_max_size 1280M;
record_interval 86400s;
record_suffix .this.is.flv;
}
这个配置之后可以向服务器的 "域名"/hls/xxx 进行推流,现在因为业务原因需要将“hls”动态配置,不知道有人可以提供个思路吗?不胜感激。
研究了一会突然想到ffmpeg命令是否有问题, 于是将ffmpeg放到命令行去执行, 发现报错libx264库不存在,非常高兴找到原因了, 于是换了一条能执行的命令
exec /root/bin/ffmpeg -re -i /usr/src/aa.flv -vcodec copy -f flv rtmp://localho
st:1935/hls/name;
这条命令成功了, 在我的站点生成了 .ts的流文件, 和.m3u8的文件, 于是换成流转换就不行了, nginx.conf改成这样,nginx重启时也不报错, 哪里都不报错,就是没法生成 ts和m3u8,有没有知道的大神求解!!!
exec /root/bin/ffmpeg -re -i rtmp://localhost:1935/$app/$name -vcodec copy -f flv rtmp://localho
st:1935/hls/$name;
live on;
hls on;
hls_path /tmp/app;
hls_fragment 2s; #将每段的长度限定
hls_playlist_length 6s; #设置 HLS 播放列表长度。默认为 30 秒钟。
push "域名/IP" # 进行推流的地址
record keyframes;
record_path /tmp;
record_max_size 1280M;
record_interval 86400s;
record_suffix .this.is.flv;
}
但是我用了没有效果,感觉是ffmpeg没有生效, 但是在命令行中,ffmpeg -version 是显示装好了的, 在nginx.conf配置文件中使用就是不行,请大神帮忙看看, 给点思路application src {
live on;
exec_push ffmpeg -i rtmp://localhost/src/$name -vcodec libx264 -vprofile baseline -g 10 -s 300x200 -acodec libfaac -ar 44100 -ac 1 -f flv rtmp://localhost/hls/$name 2>>/var/log/ffmpeg-$name.log;
}application hls {
live on;
hls on;
hls_path /tmp/hls;
hls_fragment 15s;
}