【问题标题】:H 264 Baseline Profile - Azure media servicesH 264 基线配置文件 - Azure 媒体服务
【发布时间】:2013-04-08 02:08:24
【问题描述】:

全部,

我不熟悉 azure 媒体服务和一般媒体编程,所以可能是个愚蠢的问题。

我需要从客户端上传视频并将它们流式传输到 Android(立即)和 iOS(稍后)。现在,我们为此选择了 azure 媒体服务,并浏览了无数帖子,以找到适用于 Android 的最佳编码 - 众多设备。我认为 H.264 Baseline 配置文件虽然不是一流的质量,但它会做得很好。我们的客户会在低成本的安卓平板电脑上观看视频,所以我想我在那里很好。

参考:http://social.msdn.microsoft.com/Forums/en-US/MediaServices/thread/95ec8895-4a73-4a0c-8505-3ca5d8bbe13e

现在,如果上述内容有意义,我在http://msdn.microsoft.com/en-us/library/windowsazure/jj129582.aspx#H264Encoding 看不到针对基线配置文件的“任务预设”。

Per http://msdn.microsoft.com/en-us/library/azure/dn535852.aspx Azure 支持基线配置文件,但基本配置文件的“任务预设”是什么,以便我可以以编程方式创建作业?

请帮忙

干杯

【问题讨论】:

    标签: azure media azure-media-services


    【解决方案1】:

    您引用的论坛帖子是 Azure 媒体服务早期预览时期的一篇非常古老的帖子。那里提到的任务预设不再可用。从我在其余文档中可以看到的是,支持 H.264 基线配置文件,但目前没有可以将输入视频编码为 H.264 基线的任务预设。 H.264 编解码器预设包括 High 和 Main 配置文件。

    您正确地看到当前没有针对基线配置文件的单个任务预设。

    但是 Windows Azure 媒体服务是一只隐藏的野兽!我写了一篇关于 Azure 媒体服务的文章,但没有记录,也没有得到官方支持 - Clip or Trim your video files

    您的挑战有点有趣,因为它之前似乎得到了支持,但在 GA 之后退出了。关注我的博客,因为我可能很快会为您的需求提供“任务预设”!

    更新

    您可以使用自定义任务预设创建 H.264 基线配置文件视频。通过 Windows Azure Media Encoder 将此 XML 字符串用作任务预设:

    <?xml version="1.0" encoding="utf-16"?>
    <!--Created with Expression Encoder version 4.0.4276.0-->
    <Preset
      Version="4.0">
      <Job />
      <MediaFile
        WindowsMediaProfileLanguage="en-US"
        VideoResizeMode="Letterbox">
        <OutputFormat>
          <MP4OutputFormat
            StreamCompatibility="Standard">
            <VideoProfile>
              <BaselineH264VideoProfile
                RDOptimizationMode="Speed"
                HadamardTransform="False"
                SubBlockMotionSearchMode="Speed"
                MultiReferenceMotionSearchMode="Speed"
                ReferenceBFrames="True"
                AdaptiveBFrames="True"
                SceneChangeDetector="True"
                FastIntraDecisions="False"
                FastInterDecisions="False"
                SubPixelMode="Quarter"
                SliceCount="0"
                KeyFrameDistance="00:00:05"
                InLoopFilter="True"
                MEPartitionLevel="EightByEight"
                ReferenceFrames="4"
                SearchRange="32"
                AutoFit="True"
                Force16Pixels="False"
                FrameRate="0"
                SeparateFilesPerStream="True"
                SmoothStreaming="False"
                NumberOfEncoderThreads="0">
                <Streams
                  AutoSize="False"
                  FreezeSort="False">
                  <StreamInfo>
                    <Bitrate>
                      <ConstantBitrate
                        Bitrate="4000"
                        IsTwoPass="False"
                        BufferWindow="00:00:04" />
                    </Bitrate>
                  </StreamInfo>
                </Streams>
              </BaselineH264VideoProfile>
            </VideoProfile>
            <AudioProfile>
              <AacAudioProfile
                Level="AacLC"
                Codec="AAC"
                Channels="2"
                BitsPerSample="16"
                SamplesPerSecond="44100">
                <Bitrate>
                  <ConstantBitrate
                    Bitrate="160"
                    IsTwoPass="False"
                    BufferWindow="00:00:00" />
                </Bitrate>
              </AacAudioProfile>
            </AudioProfile>
          </MP4OutputFormat>
        </OutputFormat>
      </MediaFile>
    </Preset>
    

    查看this blog post了解更多信息。

    【讨论】:

    • 哇,微软有时确实玩得很糟糕。感谢@astaykov 的非常详细的回答和更新。看来你很有学问。让我在我的 Azure 实例中尝试一下,然后会回来。我会接受这个答案,因为大多数情况下这应该有效。感谢您抽出宝贵的时间来回答。当然,我会像影子一样关注您的博客,非常有趣的见解。
    猜你喜欢
    • 2013-07-17
    • 1970-01-01
    • 2016-10-24
    • 2023-03-26
    • 2021-11-29
    • 2011-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多