我使用nginx和rtmp模块来直播hls和mpeg-dash。下面是我在nginx .conf中使用的rtmp命令
rtmp {
server {
listen 1936;
application mypull {
live on ;
meta copy;
allow play all;
pull rtmp://184.72.239.149/vod/BigBuckBunny_115k.mov name=test live=1;
exec_push /usr/bin/ffmpeg -re -i rtmp://localhost:1936/mypull/$name -vcodec libx264 -acodec libmp3lame -f flv rtmp://localhost:1936/hls/$name;
}
application dash {
live on;
dash on;
dash_path /tmp/dash;
dash_nested on;
dash_fragment 5s;
dash_playlist_length 30s;
}
application hls {
live on;
hls on;
hls_playlist_length 30s;
hls_fragment 5s;
hls_path /tmp/hls;
}
}
}但这并不是在玩。看起来ffmpeg命令甚至没有运行。hls和dash文件夹是空的。有人能帮我一下吗?
发布于 2017-08-25 19:59:36
编辑您的nginx.conf文件并放入第一行:
user root;这将以root用户身份运行命令
发布于 2017-05-25 06:59:33
将ffmpeg命令放入bash脚本中。例如,我的bash脚本名为ff.sh,存储在文件夹/files中
将整个ffmpeg命令放入脚本中,并使其可执行:
chmod +x /files/ff.sh在nginx.conf中exec_push脚本
application origin {
live on;
exec_push /files/ff.sh;
}你可能会发现这对你很有效。
发布于 2020-06-06 00:53:51
确保运行nginx的用户可以执行命令。通常,它没有分配shell。
https://stackoverflow.com/questions/42388727
复制相似问题