Azure Media Encoder中的最大输出大小

时间:2016-07-17 12:53:31

标签: azure encoder azure-media-services

如果源视频小于目标,是否有内置的方法来防止AME从配置文件中编码输出大小,或者是否需要有一堆预设,每个预设都具有最大的res然后我我自己查询媒体文件以确定使用哪个预设?

这是我到目前为止所要包含的1080版本,但不希望720或更低的源文件生成1080大小:

{
  "KeyFrameInterval": "00:00:02",
  "H264Layers": [
    {
      "Profile": "Auto",
      "Level": "auto",
      "Bitrate": 2250,
      "MaxBitrate": 3400,
      "BufferWindow": "00:00:05",
      "Width": 1280,
      "Height": 720,
      "BFrames": 3,
      "ReferenceFrames": 3,
      "AdaptiveBFrame": true,
      "Type": "H264Layer",
      "FrameRate": "0/1"
    },
    {
      "Profile": "Auto",
      "Level": "auto",
      "Bitrate": 1500,
      "MaxBitrate": 2250,
      "BufferWindow": "00:00:05",
      "Width": 960,
      "Height": 540,
      "BFrames": 3,
      "ReferenceFrames": 3,
      "AdaptiveBFrame": true,
      "Type": "H264Layer",
      "FrameRate": "0/1"
    },
    {
      "Profile": "Auto",
      "Level": "auto",
      "Bitrate": 650,
      "MaxBitrate": 1000,
      "BufferWindow": "00:00:05",
      "Width": 640,
      "Height": 360,
      "BFrames": 3,
      "ReferenceFrames": 3,
      "AdaptiveBFrame": true,
      "Type": "H264Layer",
      "FrameRate": "0/1"
    }
  ],
  "Type": "H264Video"
},

1 个答案:

答案 0 :(得分:2)

您是否查看过使用Media Encoder Premium Workflow编码器和Azure Media Services工作流设计器(https://azure.microsoft.com/en-us/documentation/articles/media-services-workflow-designer/)的教程。

有一个工作流示例可以检测输入分辨率 - https://github.com/Azure/azure-media-services-samples/tree/master/Encoding%20Presets/VoD/MediaEncoderPremiumWorkfows。 (H264 Progressive下载MP4 SD)。从示例描述中的一个“如果源是SD(图像宽度小于640),则输出的帧大小保持不变。否则,如果源是HD(图像宽度是640或更大),则设置输出帧大小至640x360(16:9来源)或640x480(4:3来源)。“

如果需要,您需要请求工作流设计器工具并更改描述的逻辑 - 很难手动构建这些工作流文件。

如果您只想使用Media Encoder Standard,则需要使用sdk构建输入检测逻辑,并根据输入分辨率安排或跳过编码。