使用Windows Azure媒体服务编码最大化编码速度
我有一个android应用程序(客户端)、asp.net web api web服务器(服务器)和Windows Azure媒体服务(WAMS)帐户 我想要的:将3-30秒的视频从客户端上传到服务器,并使用WAMS进行编码,然后尽快通过HLSv3进行流媒体传输。理想情况下,也会生成视频预览图像。尽可能快的速度就像在一分钟内掉头。我意识到这可能不现实,但越快越好 我的位置:我们将视频作为流上传到服务器,然后服务器将其存储在Azure blob存储中。服务器返回到客户端,指示上载成功。服务器有一个启动编码的操作,然后调用get。我运行了一个自定义编码任务,该任务是根据预设值修改的,用于拍摄640x480视频,并在编码的同时将其裁剪为480x480。然后我运行一个缩略图作业,生成一个480x480的缩略图。根据保留编码器的质量,这可能需要约5分钟到约2分钟。编码作业时间仅为30-60秒,其余时间是队列时间、发布时间和通信延迟的混合使用Windows Azure媒体服务编码最大化编码速度,azure,encoding,azure-storage,azure-media-services,Azure,Encoding,Azure Storage,Azure Media Services,我有一个android应用程序(客户端)、asp.net web api web服务器(服务器)和Windows Azure媒体服务(WAMS)帐户 我想要的:将3-30秒的视频从客户端上传到服务器,并使用WAMS进行编码,然后尽快通过HLSv3进行流媒体传输。理想情况下,也会生成视频预览图像。尽可能快的速度就像在一分钟内掉头。我意识到这可能不现实,但越快越好 我的位置:我们将视频作为流上传到服务器,然后服务器将其存储在Azure blob存储中。服务器返回到客户端,指示上载成功。服务器有一个启
我可以做些什么来提高客户端上传到视频流的周转时间?编码过程中的瓶颈在哪里?是否可以达到合理的最大速度?是否可以调整配置设置以提高流程性能?减少作业数量 首先想到的是,如果您只对一个缩略图感兴趣,您应该能够通过在编码预设的MediaFile元素中添加类似的内容来整合编码和缩略图作业:
<MediaFile ThumbnailTime="00:00:00"
ThumbnailMode="BestFrame"
ThumbnailJpegCompression="75"
ThumbnailCodec="Jpeg"
ThumbnailSize="480, 480"
ThumbnailEmbed="False">
缩略图将与视频流一起出现在输出资源中
减少任务中的预设数量
另一个要考虑的是,你连接到的预设有多个预设在其内,以便在不同的比特率下产生音频流。我目前的理解是,这些预设中的每一个都是由编码单元按顺序处理的
第一个预设定义了视频流,并且还指定每个视频流应以96kbps的速率混入音频。这意味着您的视频文件将比它们可能需要的大,并且在muxing过程中将占用一些时间 第二个和第三个预设只定义要输出的音频流-这些流不包含任何视频。其中第一个以96kbps的速度输出音频,第二个以56kbps的速度输出音频 假设您对96kbps的固定音频质量感到满意,我建议将音频从视频流和最后一个音频流(56kbps)中删除,这样可以将同一音频流保存两次编码,并将音频与视频混合。(从您的使用情况我可以看出,您可能根本不需要) 这样做的副作用是编码器输出文件的大小将略微减小,因此编码的成本也将降低 工作流优化 我唯一想说的另一点是关于首先将视频文件放入Azure的工作流程。您说您正在将它们上载到blob存储中—我假设您随后将它们复制到AMS资产中,以便将它们配置为作业的输入。如果这是正确的,您可以通过直接上传到资产中来节省一些时间 希望这有帮助,祝你好运