我尝试为 ffmpeg 设置做变量,但总是出错!是否可以为所有不同的输出添加一个变量
我这样设置变量
set $ffmpegsettings "-c:a aac -ac 2 -ab 128k -ar 48000 -c:v libx264 -x264opts 'keyint=24:min-keyint=24:no-scenecut' -b:v 1200k -maxrate 1200k -bufsize 1000k -vf 'scale=-2:720' -f"
并像这样在 exec_static 使用它exec_static ffmpeg -i http://myiptvlink $ffmpegsettings flv rtmp://localhost:1911/output/tv1;
exec_static ffmpeg -i http://myiptvlink $ffmpegsettings flv rtmp://localhost:1911/output/tv2;
exec_static ffmpeg -i http://myiptvlink $ffmpegsettings flv rtmp://localhost:1911/output/tv3;
exec_static ffmpeg -i http://myiptvlink $ffmpegsettings flv rtmp://localhost:1911/output/tv4;
我用 configtest 测试 nginx 的“ok”,但没有创建 hls。如何解决?
最佳答案
如果要将 RTMP 流转发到多个平台或服务器,最好自己管理 FFmpeg 任务,使用 HTTP 回调来启动或停止任务。
例如,您可以使用 nodejs 或 Go 作为后端服务器:
Nginx/MediaServer --HTTP-Callback--> BackendServer --> FFmpeg
它允许您:更好的解决方案。
关于Nginx Rtmp 和 FFMpeg |是否可以为 ffmpeg 设置变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71258232/