首页 > 解决方案 > 如何在没有 OBS 的情况下使用节点 js 将网络摄像头流发送到 azure 媒体服务实时流摄取 url

问题描述

我正在使用节点 js 服务器来启动 azure 媒体服务直播。事件创建得非常好。

当我将摄取 URL 添加到 OBS 工作室并开始通过网络摄像头进行流式传输时。流媒体完美开始。

  1. 已创建事件。
  2. 已创建资产。
  3. 流定位器已创建。
  4. 活动开始
  5. 完美。输出 URL(默认)。

问题1。我正在使用 FFmpeg 进行编码。和编码选项是

if (framerate == 1) {
            ops = ["-i", "-", "-c:v", "libx264", "-preset", "ultrafast", "-tune", "zerolatency", "-r", "1", "-g", "2", "-keyint_min", "2", "-x264opts", "keyint=2", "-crf", "25", "-pix_fmt", "yuv420p", "-profile:v", "baseline", "-level", "3", "-c:a", "aac", "-b:a", audioEncoding, "-ar", audioBitrate, "-f", "flv",
                decodeURIComponent(ingestUrl),
            ];
        } else if (framerate == 15) {
            ops = ["-i", "-", "-c:v", "libx264", "-preset", "ultrafast", "-tune", "zerolatency", "-max_muxing_queue_size", "1000", "-bufsize", "5000", "-r", "15", "-g", "30", "-keyint_min", "30", "-x264opts", "keyint=30", "-crf", "25", "-pix_fmt", "yuv420p", "-profile:v", "baseline", "-level", "3", "-c:a", "aac", "-b:a", audioEncoding, "-ar", audioBitrate, "-f", "flv",
                decodeURIComponent(ingestUrl),
            ];
        } else {
            ops = ["-i", "-", "-c:v", "libx264", "-preset", "ultrafast", "-tune", "zerolatency", "-c:a", "aac", "-ar", audioBitrate, "-b:a", audioEncoding, "-bufsize", "400k", "-maxrate", "400k", "-f", "flv",
                decodeURIComponent(ingestUrl)
            ];
        }

这是对的吗?

问题2。如何在摄取 URL 中发送缓冲区?

请指导我。

谢谢你。

标签: node.jsazureazure-media-services

解决方案


推荐阅读