【问题标题】:NodeMediaServer MP4 change default video resolution 540pNodeMediaServer MP4 更改默认视频分辨率 540p
【发布时间】:2021-10-14 14:34:17
【问题描述】:

我已经设置了一个 nginx RTMP 服务器,其目的是将移动设备流式传输的视频以 MP4 格式存储以供以后分析。尽管移动设备以 720p 分辨率流式传输视频,但 NodeMediaServer 始终以 540p 分辨率存储视频。我怎样才能改变这种行为?以下是 NodeMediaServer 配置:

const nodeMediaServerConfig = {
  rtmp: {
    port: 1936,
    chunk_size: 60000,
    gop_cache: true,
    ping: 60,
    ping_timeout: 10,
  },
  http: {
    port: 8000,
    mediaroot: './media',
    allow_origin: '*',
  },
  trans: {
    ffmpeg: '/usr/bin/ffmpeg',
    tasks: [
      {
        app: 'live',
        vcParam: [
          "-c:v",
          "libx264",
          "-vf",
          "scale=720:-1",
          "-b:v",
          "2800k",
          "-bufsize",
          "4200k",
          "-preset",
          "fast",
        ],
        ac: 'aac',
        acParam:["-b:a", "128k", "-ar", 48000],
        mp4: true,
        mp4Flags: '[movflags=faststart]',
      },
    ],
  },
};

非常感谢您对此事的任何帮助。

【问题讨论】:

    标签: nginx ffmpeg video-streaming rtmp node-media-server


    【解决方案1】:

    scale=720:-1 更改为 scale=-2:720

    如果您使用 scale=720:-1 输入 1920x1080,它将被缩放为 720x405。如果您使用 scale=-2:720 输入 1920x1080,它将被缩放为 1280x720。

    • 第一个值为宽度
    • 第二个值是高度
    • -2 将自动计算适当的值以保留方面(相对于其他值),并将调整该值以使其可被 2 整除(libx264 需要)。

    scale filter documentation

    【讨论】:

      猜你喜欢
      • 2016-03-27
      • 1970-01-01
      • 2020-11-14
      • 2014-05-15
      • 1970-01-01
      • 1970-01-01
      • 2016-02-05
      • 2012-07-01
      • 1970-01-01
      相关资源
      最近更新 更多