gpt4 book ai didi

linux - Q : Bash script infinite loop causing ffmpeg spam

转载 作者:太空宇宙 更新时间:2023-11-04 12:25:10 25 4
gpt4 key购买 nike

似乎无法弄清楚这一点...我设置了一个带有出色 RTMP 扩展的 NGINX 服务器,并且一切正常。但是,我正在尝试重新流式传输/推送需要在另一个 RTMP 流应用程序中流式传输的几个特定流的副本(具体来说,这些流被流式传输到“静态”应用程序,但在当前情况下也需要被推送为了活着”)。在 NGINX-RTMP 中重新流式传输/推送流的过程相对简单,但是,在我的例子中,我需要有选择地推送几个流,而不是将每个流都流式传输到“静态”应用程序。

想法是让 NGINX-RTMP 将流名称传递给 bash 脚本,然后在不中断任何其他流或服务的情况下重新流式传输。

取得了一些成功,我尝试通过创建 bash 脚本来做到这一点。

运行 bash 脚本的相关 NGINX 配置位是:

exec_publish /etc/nginx/rtmp_conf.d/stream_id.sh $name;

我用“if/else”试过

if [ $1 == "stream_name_1" ]; then
ffmpeg -re -i rtmp://127.0.0.1:2000/static/stream_name_1 -vcodec libx264 -acodec copy -f flv rtmp://127.0.0.1:2000/live/live_0
elif [ $1 == "stream_name_2" ]; then
ffmpeg -re -i rtmp://127.0.0.1:2000/static/stream_name_2 -vcodec libx264 -acodec copy -f flv rtmp://127.0.0.1:2000/live/live_1
elif [ $1 == "stream_name_3" ]; then
ffmpeg -re -i rtmp://127.0.0.1:2000/static/stream_name_3 -vcodec libx264 -acodec copy -f flv rtmp://127.0.0.1:2000/live/live_2
elif [ $1 == "stream_name_4" ]; then
ffmpeg -re -i rtmp://127.0.0.1:2000/static/stream_name_4 -vcodec libx264 -acodec copy -f flv rtmp://127.0.0.1:2000/live/live_3
else
echo "FAIL" >> /etc/nginx/rtmp_conf.d/stream.log && echo date > /etc/nginx/rtmp_conf.d/stream.log
exit
fi

我用开关试了一下

case "$1" in
"stream_name_1")
ffmpeg -re -i rtmp://127.0.0.1:2000/static/stream_name_1 -vcodec libx264 -acodec copy -f flv rtmp://127.0.0.1:2000/live/live_0
;;
"stream_name_2")
ffmpeg -re -i rtmp://127.0.0.1:2000/static/stream_name_2 -vcodec libx264 -acodec copy -f flv rtmp://127.0.0.1:2000/live/live_1
;;
"stream_name_3")
ffmpeg -re -i rtmp://127.0.0.1:2000/static/stream_name_3 -vcodec libx264 -acodec copy -f flv rtmp://127.0.0.1:2000/live/live_2
;;
"stream_name_4")
ffmpeg -re -i rtmp://127.0.0.1:2000/static/stream_name_4 -vcodec libx264 -acodec copy -f flv rtmp://127.0.0.1:2000/live/live_3
;;
echo "FAIL " >> /etc/nginx/rtmp_conf.d/stream.log && echo date > /etc/nginx/rtmp_conf.d/stream.log
esac

两者的问题是它们最终都向大量 ffmpeg 进程发送垃圾邮件...我不知道为什么 - 我尝试更改代码但我最终要么 ffmpeg 根本不触发或发送垃圾邮件服务器。

最佳答案

需要更多信息。
ffmpeg 说什么?
你检查过$1了吗?
我想查看整个脚本。

关于linux - Q : Bash script infinite loop causing ffmpeg spam,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44949290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com