Nginx Rtmp 和 FFMpeg |是否可以为 ffmpeg 设置变量?

标签 nginx ffmpeg rtmp

我尝试为 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
它允许您:
  • 转发一些流,而不是所有流。
  • 如果配置更改或进程退出,可以重新启动 FFmpeg。
  • 您可以将后端服务器部署到另一台服务器。

  • 更好的解决方案。

    关于Nginx Rtmp 和 FFMpeg |是否可以为 ffmpeg 设置变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71258232/

    相关文章:

    c++ - 在 iOS 中生成 AcoustID/Chromaprint 声学指纹

    c# - FFmpeg 文件转换格式和文件扩展名

    ffmpeg 将音频文件流式传输到 Telegram rtmp 服务器

    ruby-on-rails - 监控 RTMP 流,如果可用则记录

    带有 RTMP 模块 : Add watermark on MULTIPLE video streams withh ffmpeg 的 nginx.conf

    linux - 如何使用 NGINX 自动将 HTTP 重定向到 HTTPS?

    php - 为什么我的 php 没有被渲染?为什么我的 php 页面是空白的?

    docker - 我如何使用一个YAML部署两台服务器,其中一台取决于Kubernetes中的另一台

    reactjs - 如何避免 Docker 应用程序出现混合内容

    stream - 如何使用 ffmpeg 创建流式音频文件?