Azure 媒体编码器中的最大输出大小
Max output size in Azure Media Encoder
如果源视频小于目标视频,是否有一种内置方法可以防止 AME 从配置文件中编码输出大小,或者是否需要一组预设,每个预设都具有最大分辨率然后我自己查询媒体文件以确定使用哪个预设?
这是我目前所拥有的,想要包括一个 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"
},
您是否查看了将 Media Encoder Premium Workflow 编码器与 Azure 媒体服务工作流设计器结合使用的教程 (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 渐进式下载 MP4 SD)。来自示例描述之一 "If source is SD (image width is less than 640), then the frame size of the output is left unchanged. Otherwise, if source is HD (image width is 640 or greater), output frame size is set to 640x360 (16:9 sources) or 640x480 (4:3 sources)."
您需要请求工作流设计器工具并根据需要更改描述的逻辑 - 很难手动构建这些工作流文件。
如果您只想使用 Media Encoder Standard,则需要使用 sdk 在您这边构建输入检测逻辑,并根据输入分辨率安排或跳过编码。
如果源视频小于目标视频,是否有一种内置方法可以防止 AME 从配置文件中编码输出大小,或者是否需要一组预设,每个预设都具有最大分辨率然后我自己查询媒体文件以确定使用哪个预设?
这是我目前所拥有的,想要包括一个 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"
},
您是否查看了将 Media Encoder Premium Workflow 编码器与 Azure 媒体服务工作流设计器结合使用的教程 (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 渐进式下载 MP4 SD)。来自示例描述之一 "If source is SD (image width is less than 640), then the frame size of the output is left unchanged. Otherwise, if source is HD (image width is 640 or greater), output frame size is set to 640x360 (16:9 sources) or 640x480 (4:3 sources)."
您需要请求工作流设计器工具并根据需要更改描述的逻辑 - 很难手动构建这些工作流文件。
如果您只想使用 Media Encoder Standard,则需要使用 sdk 在您这边构建输入检测逻辑,并根据输入分辨率安排或跳过编码。