Node Media Server:在视频流上强制480p

问题描述 投票:0回答:1

我正在使用Node Media Server软件包以node.js编写的实时流应用程序。效果很好!问题,我们可以强制将视频流或回放(录制)的视频压缩为480p吗?

我的假设,在下面的配置中我们可以看到:

const config = {
    rtmp: {
        ...
    },
    http: {
        ...
    },
    trans: {
        ffmpeg: "/usr/local/bin/ffmpeg",
        tasks: [
            {
                app: 'live',
                vc: "copy",
                vcParam: [],
                ac: "aac",
                acParam: ['-ab', '64k', '-ac', '1', '-ar', '44100'],
                rtmp: true,
                rtmpApp: 'live-ac',
                hls: true,
                hlsFlags: '[hls_time=2:hls_list_size=3:hls_flags=delete_segments]',
                mp4: true,
                mp4Flags: '[movflags=faststart]',
            }
        ]
    }
};

虽然acParam收到了一些编解码器和比特率的参数。 vcParam也应使用参数来控制视频的编码。

我试图寻找一些有关转码和某种配置的相关文章。我发现有人使用Nginx,但这不符合我对node.js的要求]

同样,我们可以强制将视频流或回放(录制)的视频压缩为480p吗?预先感谢!

video resolution http-live-streaming rtmp
1个回答
0
投票

您使用了vc复制。这意味着它将始终使用视频的原始编解码器,而不会对其进行转码。

您可以尝试添加:

vcParams: [
          '-vf',
          "'scale=854:-1'",
          '-b:v',
          '1400k',
          '-preset',
          'fast',
          '-profile:v',
          'baseline',
          '-bufsize',
          '2100k',
          '-tune',
          'zerolatency',
        ],
© www.soinside.com 2019 - 2024. All rights reserved.