如何解决如何将RTMP nginx实时流从Flv转换为mp4文件?
我有一个使用Nginx运行的RTMP服务器,它将实时流记录为flv文件,但我要做的就是将文件记录为mp4格式...这是我的Nginx.conf文件:
I want when I rtmp livestream going I can convert it from flv to an mp4 file... How can I do this? Here is my Nginx.conf file:
user www-data;
worker\_processes auto;
rtmp\_auto\_push on;
events {
worker\_connections 1024;
}
rtmp {
server {
listen 1935;
chunk\_size 4096;
application s9-live {
exec ffmpeg -i rtmp://localhost:1935/s9-rtmp/$name
\-c:a libfdk\_aac -b:a 128k -c:v libx264 -b:v 2500k -f flv -g 30 -r 30 -s 1280x720 -preset superfast -profile:v baseline rtmp://localhost:1935/s9-rtmp/$name;
live on;
Meta copy;
hls\_cleanup off;
record all;
record\_path /rec/videos;
record\_max\_size 1k;
record\_unique on;
record\_suffix %y%m%d\_%H%M%s.flv;
exec\_record\_done ffmpeg -y -i $path -acodec libmp3lame -ar 44100 -ac 1 -vcodec libx264 $dirname/$basename.mp4;
}
}
}
http {
default\_type application/octet-stream;
server {
listen 8000;
location /tv {
root /tmp/hls;
}
\# This URL provides RTMP statistics
location /stats {
rtmp\_stat all;
}
location /control {
rtmp\_control all;
}
}
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
text/html html;
}
}
该应用程序运行良好,完全没有任何问题,我想知道的是如何获取mp4或从flv文件转换的录制流。
解决方法
您已经在配置中拥有将 flv 转换为 mp4 的命令:
exec_record_done ffmpeg -y -i $path -acodec libmp3lame -ar 44100 -ac 1 -vcodec libx264 $dirname/$basename.mp4;
在录制过程中,您只会看到一个 flv 文件。录制完成后,会触发 exec_record_done
并将 flv 转换为 mp4 文件。然后,您的文件夹中就会有一个 flv 和相应的 mp4。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。