问题描述

在Azure媒体服务(AMS: Azure Media Service)中,不管是点播,直播都需要下载manifest文件。而文件中有一段【<c t="6161940" d="749970" r="2" n="0" />】内容,这些内容如何解释呢?

<?xml version="1.0" encoding="UTF-8"?>
<SmoothStreamingMedia MajorVersion="2" MinorVersion="2" Duration="256333" TimeScale="1000">
<StreamIndex Chunks="34" Type="video" Url="QualityLevels({bitrate})/Fragments(video={start time})" QualityLevels="6" Language="und" Subtype="" Name="video" TimeScale="90000">
<QualityLevel Index="0" Bitrate="5500000" FourCC="H264" MaxWidth="1920" MaxHeight="1080" CodecPrivateData="00000007640028ACD940780227E584000003000400000300F03C60C6580000000168EB0" />
<c t="3151940" d="736961" r="2" n="0" />
<c d="750060" />
<c d="736961" r="2" />
<c d="750060" />
<c d="736961" r="2" />
<c d="750060" />
<c d="736961" r="2" />
<c d="750060" />
<c d="736961" r="2" />
<c d="750060" />
<c d="736961" r="2" />
<c d="750060" />
<c d="736961" r="2" />
<c d="750060" />
<c d="736961" r="2" />
<c d="750060" />
<c d="736961" r="2" />
<c d="750060" />
<c d="736961" r="2" />
<c d="750060" />
<c d="736961" r="2" />
<c d="750060" />
<c d="736961" />
</StreamIndex>
<StreamIndex Chunks="34" Type="audio" Url="QualityLevels({bitrate})/Fragments(audio_und={start time})" QualityLevels="1" Language="und" Subtype="" Name="audio_und" TimeScale="48000">
<QualityLevel AudioTag="255" Index="0" BitsPerSample="16" Bitrate="128000" FourCC="AACL" CodecPrivateData="119056E500" Channels="2" PacketSize="4" SamplingRate="48000" />
<c t="3288152" d="289351" r="2" n="0" />
<c d="400384" />
<c d="289351" />
<c d="401408" />
<c d="289351" r="2" />
<c d="400384" />
<c d="289351" />
<c d="401408" />
<c d="289351" r="2" />
<c d="400384" />
<c d="289351" />
<c d="401408" />
<c d="289351" r="2" />
<c d="400384" />
<c d="401408" />
<c d="289351" r="3" />
<c d="400384" />
<c d="401408" />
<c d="289351" r="2" />
<c d="400384" />
<c d="289351" />
<c d="401408" />
<c d="289351" r="2" />
<c d="400384" />
<c d="289351" />
<c d="401408" />
</StreamIndex>
<StreamIndex Chunks="0" Type="text" ParentStreamIndex="video" Url="QualityLevels({bitrate})/Fragments(amssignal={start time})" ManifestOutput="TRUE" QualityLevels="1" Subtype="ADI3" Name="amssignal" TimeScale="10000000">
<QualityLevel Index="0" Bitrate="0" FourCC="DATA" CodecPrivateData="" />
</StreamIndex>
<StreamIndex Chunks="0" Type="text" ParentStreamIndex="video" Url="QualityLevels({bitrate},{CustomAttributes})/Fragments(scte35={start time})" ManifestOutput="TRUE" QualityLevels="1" Subtype="DATA" Name="scte35" TimeScale="1000">
<QualityLevel Index="0" Bitrate="1" FourCC="" CodecPrivateData="">
<CustomAttributes>
<Attribute Name="Scheme" Value="urn:scte:scte35:2013a:bin" />
</CustomAttributes>
</QualityLevel>
</StreamIndex>
<StreamIndex Chunks="0" Type="text" ParentStreamIndex="video" Url="QualityLevels({bitrate})/Fragments(simplesignal={start time})" ManifestOutput="TRUE" QualityLevels="1" Subtype="ADI3" Name="simplesignal" TimeScale="1000">
<QualityLevel Index="0" Bitrate="1" FourCC="" CodecPrivateData="" />
</StreamIndex>
</SmoothStreamingMedia>

问题解答

以上Manifest中播放使用的流媒体传输协议为SmoothStreaming。它分为两部分内容,第一部分为视频内容(StreamIndex Chunks="34" Type="video" ),第二部分为音频内容(<StreamIndex Chunks="34" Type="audio")。

在次两部分内容中,除了指定视频/音频的比特率,分辨率,格式之外,还制定了视频/音频的开始时间。信息都包含在【 <c t="3151940" d="736961" r="2" n="0" />】中。

c : 表示分片,因为SmoothStreaming为分片传输,所以在Manifest中每一个 <c  t="" d="" />及表示流媒体的一段内容

t : 表示 (FragmentTime)分片开始的时间点,如以上内容表示当前分片从时间点3151940开始

d :  表示(FragmentDuration)分片的持续时间,如以上内容表明当前分片的长度为736961

r :  (还没有调查出)

n : 表示分片在流中的序号,随时间递增。当前为0,表示为第一个分片。

参考资料

这个Smooth Streaming protocol相关文档https://docs.microsoft.com/zh-cn/openspecs/windows_protocols/ms-sstr/8383f27f-7efe-4c60-832a-387274457251?redirectedfrom=MSDN ,这个c 是分片。N是分片在流中的序号,随时间递增,d是(FragmentDuration)分片的持续时间, t是(FragmentTime)分片(开始)时间(点)

其他相关参考链接:

https://docs.microsoft.com/en-us/previous-versions/iis/smooth-streaming-client/iis-smooth-streaming-client-manifest-format 

https://docs.microsoft.com/en-us/iis/extensions/smooth-streaming-client/manifest-merge 

【Azure 媒体服务】AMS的Manifest文件中SmoothStreamingMedia片段中<c t="6161940" d="749970" r="2" n="0" />, c, t, d, r, n 的解析的更多相关文章

  1. 【Azure媒体服务 Azure Media Service】Azure Media Service中Stream Endpoint 说明 (流式处理终结点)

    Azure 媒体服务是一个基于云的媒体工作流平台,用于生成需要编码.打包.内容保护和直播活动广播的解决方案. 在视频的直播,点播方案中,媒体服务的架构主要由三部分构成: 推流端,把本地视频或直播内容推 ...

  2. Azure媒体服务的Apple FairPlay流功能正式上线

    在此我们高兴地宣布,Azure FairPlay Streaming服务已正式商用. FairPlay允许用户轻松构建解决方案,并可扩展到最新版本的Apple TV.Azure媒体服务可以结合现有的P ...

  3. Azure 媒体服务支持 DASH 实时传送流

    Kilroy Hughes Azure媒体服务数字媒体架构师 本文重点介绍 Azure 媒体服务支持的 DASH 实时传送流功能,同时阐述如何利用这些功能将实时和点播自适应流传送至 Web 浏览器 ...

  4. Azure 媒体服务发布可靠的视频直播平台

    Sudheer Sirivara Azure 媒体服务总监 两个月前,Azure 媒体服务发布了视频直播和内容保护产品的公共预览版.这一 Internet规模的直播解决方案已被十余家业界领先的国际广播 ...

  5. Azure 媒体服务的 RTMP 支持和实时编码器

    Cenk Dingiloglu Azure 媒体服务高级项目经理 直播流媒体目前已在公共预览版中提供,其中一项受支持的输入协议便是 RTMP.RTMP 是用于输入和分发包括直播流媒体在内的丰富媒体的一 ...

  6. 通过新的 Azure 媒体服务资源管理器工具管理媒体工作流

    Xavier Pouyat    Azure 媒体服务高级项目经理 几个月前,一家广播公司找到了我,希望我向他们提供一种图形界面工具,好让他们使用 Azure媒体服务来上传.管理资产并对资产进行编 ...

  7. Azure 媒体服务可将优质内容传输至 Apple TV

    作为内容提供商,如果想要将优质内容传输到Apple TV,需要使用Apple FairPlay Streaming (FPS)技术. 但是这个技术的构建比较繁琐,基于此,Azure提供了FairPla ...

  8. 中国Azure媒体服务RESTAPI的Endpoint

    Amber Zhao  Thu, Feb 26 2015 4:09 AM 由于海外Azure和中国Azure有不同的domain,很多用户在使用媒体服务RESTAPI时,需要指定中国Azure媒体服务 ...

  9. 宣布正式发布 Azure 媒体服务内容保护服务

    Mingfei Yan Azure媒体服务项目经理 我们非常高兴地宣布正式发布 Azure 媒体服务内容保护服务.这包括 Microsoft PlayReady许可服务和 AES明文密钥交付服务!此外 ...

  10. 通过 Azure 媒体服务进行高速编码

    Milan Gada Azure 媒体服务首席项目经理  关于 Azure 媒体服务,客户问的最多的一个问题是能否进行高速编码.这个问题现在已经有了肯定的答案,目前有三种不同类型的 Encodin ...

随机推荐

  1. 文心一言 VS 讯飞星火 VS chatgpt (187)-- 算法导论14.1 4题

    四.用go语言,写出一个递归过程 OS-KEY-RANK(T,k),以一棵顺序统计树T和一个关键字k作为输入,要求返回 k 在由 T 表示的动态集合中的秩.假设 T 的所有关键字都不相同. 文心一言, ...

  2. 【dp,建模】AGC032D Rotation Sort

    Problem Link 有一个长为 \(n\) 的排列 \(p\),给定 \(A,B\),你每次可以做以下两种操作之一: 选取 \(l,r\),将 \(p[l:r]\) 循环右移,代价为 \(A\) ...

  3. 【JS 逆向百例】网洛者反爬练习平台第二题:JJEncode 加密

    关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后 ...

  4. 【5】OpenCV2.4.9实现图像拼接与融合方法【SURF、SIFT、ORB、FAST、Harris角点 、stitch 】

    相关文章: [1]windows下安装OpenCV(4.3)+VS2017安装+opencv_contrib4.3.0配置 [2]Visual Studio 2017同时配置OpenCV2.4 以及O ...

  5. C/C++ 反汇编:数据类型与常量

    反汇编即把目标二进制机器码转为汇编代码的过程,该技术常用于软件破解.外挂技术.病毒分析.逆向工程.软件汉化等领域,学习和理解反汇编对软件调试.系统漏洞挖掘.内核原理及理解高级语言代码都有相当大的帮助, ...

  6. .NET桌面程序如何设置任务栏图标右键菜单中的名称

    右键任务栏中应用程序图标时会显示程序名称,例如: 这里显示的并不是程序文件名DingTalk,而是文件属性中详细信息选显卡下的"文件说明". 在.NET桌面程序中,是通过修改程序集 ...

  7. 文心一言 VS 讯飞星火 VS chatgpt (193)-- 算法导论14.3 1题

    一.用go语言,写出作用于区间树的结点且在 〇(1) 时间内更新 max 属性的过程 LEFT-ROTATE 的伪代码. 文心一言: 以下是一个简单的LEFT-ROTATE的伪代码,它对一个二叉搜索树 ...

  8. 写好C#代码的技巧

    写好C#代码的技巧 编者导语 本文来自https://www.pluralsight.com,作者Afzaal Ahmad Zeeshan. 原文包含以下三篇文章: <编写更好的C#代码简介&g ...

  9. JOISC 2019 记录

    Day1 T1 Examination 三维数点板子题,直接 cdq分治+树状数组,时间复杂度 \(O(n\log^2n)\). Day1 T2 Meetings 对于一个大小为 \(n\) 的树,我 ...

  10. 探索AI视频生成新纪元:文生视频Sora VS RunwayML、Pika及StableVideo——谁将引领未来

    探索AI视频生成新纪元:文生视频Sora VS RunwayML.Pika及StableVideo--谁将引领未来 由于在AI生成视频的时长上成功突破到一分钟,再加上演示视频的高度逼真和高质量,Sor ...