多媒体播放基础

一、缩写:
MSE:media source extensions
EME:encrypted media extensions,加密媒体扩展协议(EME)
DASH:dynamic adaptive streaming over http,基于HTTP的动态自适应流技术(DASH) 

defination :
MSE is a W3C HTML Working Group specification for a JavaScript interface to play back media data within a browser.
DASH is a standardized file format, much like Apple’s HTTP Live Streaming (HLS) or Microsoft’s Smooth Streaming.
EME is another JavaScript API that enables HTML5-based DRM by extending MSE with application programming interfaces (APIs)
to control the playback of protected content. 

DRM:digital rights management

HLS:HTTP Live Streaming

VOD:视屏点播内容

CDN:content delivery network

IR sensor:红外传感器

RC:remote control 遥控器

armeb是大端字节序的arm
armdirectfb是支持directfb硬件图像加速的arm

FHD:full high definition

mux、demux:复用,解复用

'video/mp4; codecs="avc1.42E01E, mp4a.40.2"'解析:
 video/mp4 代表这是一段 mp4 格式封装的视频,'avc1' 代表视频采用 H.264 编码,随后是一个分隔点,之后是 3 个两位的十六进制的数
,这 3 个十六进制数分别代表:
AVCProfileIndication(42)
profile_compability(E0)
AVCLevelIndication(1E)
第一个用于标识 H.264 的 profile,后两个用于标识视频对于解码器的要求
'mp4a' 代表此视频的音频部分采用 MPEG-4 压缩编码。
随后是一个分隔点,和一个十六进制数(40),这是 ObjectTypeIndication,40 对应的是 Audio ISO/IEC 14496-3 标准。(不同的值具有
不同的含义,详细可以参考官方文档)
然后又是一个分隔点,和一个十进制数(2),这是 MPEG-4 Audio Object Type,维基百科中的解释是 "MPEG-4 AAC LC Audio Object Type
is based on the MPEG-2 Part 7 Low Complexity profile (LC) combined with Perceptual Noise Substitution (PNS) (defined in
MPEG-4 Part 3 Subpart 4)",具体是什么意思就不翻译了,其实就是一种 H.264 视频中常用的音频编码规范。


关于<video>标签所支持的视频格式和编码:


MP4 = MPEG 4文件使用 H264 视频编解码器和AAC音频编解码器


WebM = WebM 文件使用 VP8 视频编解码器和 Vorbis 音频编解码器


Ogg = Ogg 文件使用 Theora 视频编解码器和 Vorbis音频编解码器
--------------------- 
vedio多个源,匹配第一个适配的源
<video width="500" height="250" controls="controls">

<source src="movie.ogg" type="video/ogg">


<source src="movie.mp4" type="video/mp4">

您的浏览器不支持此种视频格式。

</video>
--------------------- 


muted:muted  音频输出应该静音
poster:    URL    规定视频下载时显示的图像,或者在用户点击播放按钮前显示的图像。
preload    preload    如果出现该属性,则视频在页面加载时进行加载,并预备播放。
    如果使用 "autoplay",则忽略该属性。

 

二、

流媒体文件解释:
1:流媒体= 流(流动的)+媒体(音视频)可以是 yuv/pcm h264 aac mp4 flv ts任意一种
2:媒体文件 = 原始流(yuv/pcm)等未压缩的格式(排除光感压缩和RGB压缩) || h264/aac这种裸流(没有时间戳的流文件)||          
mp4/flv/ts这种封装格式文件(里面包含音视频字幕等)。
要支持流式播放可以有两种方式:1,文件本身支持,如flv格式 2,服务器支持,使用rtp/rtcp等流服务器

MSE流程解释:
MPEG-DASH是MSEs的一种媒体传输格式的实现。那让我们了解一下基于HTML5 MSE的视频播放器的工作步骤:

下载并解析配置文件,MPEG-DASH中使用MPD文件(HLS中使用m3u8文件),配置文件中提供了视频流的详细信息,诸如视频流的码率质量种类
,分辨率数量,音频数据数量,字幕数量等,以及媒体文件数据块的名字,源服务器或者CDN的信息。
评估客户端设备上的可用带宽,选择适当的视频质量以实现无缓冲流,截止在用JavaScript来下载后续的媒体片段。
JavaScript代码将下载的媒体片段移交到MSE的缓存中处理。
底层硬件拿到了这部分缓存,就开始进行解码以及渲染视频,把结果返回给video标签。
这就是一种Netflix和Youtube都在使用的基于HTML5的自适应媒体播放。像dash.js 和 Bitdash HTML5 player都是现今相当成熟的解决方案
,这就让开发者和视频内容商很轻松的切换到HTML5的自适应码率播放方案,同时DASH-IF项目是开源的。

 

三、
DRM发展:
对许多视频服务商来说,MPEG-DASH已经是最好的技术选型。DASH项目以越来越快的速度推出,使用Widevine DRM的MES和EME看起来是最可行
的替代方案。此外,MPEG-CENC可以支持不同的DRM系统都只支持同一版本的加密内容,并且,EME的内容是基于MSE的MPEG-DASH内容格式。

因此,不同的DRM系统组合,如用于Chrome和安卓的Widevine Modular,用于IE和Edge的Microsoft PlayReady,还有用于Firefox的Adobe
Primetime。由于每一个平台都要有一个版本,这使得内容供应商有了更多的动机去转向MPEG-DASH作为国际标准,因为它对流媒体、DRM以及
CDN都具有更好的灵活性。

 

四、

目前主流浏览器支持MSE和EME现状
Environment    Player Technology    Media    DRM
Chrome    HTML5 MSE    MPEG-DASH    Widevine Modular
Internet Explorer 11 Windows 8.1    HTML5 MSE    MPEG-DASH    PlayReady
Internet Explorer (other)    Flash, Silverlight    MPEG-DASH    ClearKey, PlayReady
Edge    HTML5 MSE, HTML5 HLS    MPEG-DASH, HLS    PlayReady, AES HLS
Firefox    HTML5 MSE    MPEG-DASH    Adobe
Safari    HTML5 MSE, HTML5 HLS    MPEG-DASH, HLS    Fairplay, AES
Android: Web > v4.1    HTML5 MSE, HTML5 HLS    MPEG-DASH, HLS    Widevine Modular
Android: app    Google’s Exoplayer    MPEG-DASH, HLS    Widevine Modular
iOS: web    HTML5 HLS    HLS    AES
iOS: app    native HLS support    HLS    Fairplay, AES
smart TV    Native MPEG-DASH support or HTML5 MSE (e.g. Tizen)    MPEG-DASH or HLS    Device-dependent
HbbTV (1.5)    native MPEG-DASH support    MPEG-DASH    device-dependent

 

五、

codec:编解码器

视频播放中的点播,广播,组播(多播)

数字信号传输的数据流包含以下几种:
    ES流:基本码流(elementary stream),包含视频、音频或者数据的连续码流。
    PES流:打包的基本码流(packet elementary stream),将ES分包,再加上包头。
    TS流:传输流(transport stream)固定长度的包

PID:packet ID
PCR:program clock reference(system clock sample)
PSI:program specific information节目专用信息,由节目关联表(PAT)、条件接受表(CAT)、节目映射表(PMT)和网络信息表(NIT)组

CA卡:CMMB(China Mobile Multimedia Broadcasting)移动电视解密卡

EPG:电子节目指南(Electrical Program Guideline)

视频播放原理:
解协议-》解封装-》解码-》同步-》播放

流媒体协议技术:
名称    推出机构    传输层协议    客户端    目前使用领域
RTSP+RTP    IETF    TCP+UDP    VLC, WMP    IPTV
RTMP    Adobe Inc.    TCP    Flash    互联网直播
RTMFP    Adobe Inc.    UDP    Flash    互联网直播
MMS    Microsoft Inc.    TCP/UDP    WMP    互联网直播+点播
HTTP    WWW+IETF    TCP    Flash    互联网点播

视频封装技术:
名称    推出机构    流媒体    支持的视频编码    支持的音频编码    目前使用领域
AVI    Microsoft Inc.    不支持    几乎所有格式    几乎所有格式    BT下载影视
MP4    MPEG    支持    MPEG-2, MPEG-4, H.264, H.263等    AAC, MPEG-1 Layers I, II, III, AC-3等    互联网视频网站
TS    MPEG    支持    MPEG-1, MPEG-2, MPEG-4, H.264    MPEG-1 Layers I, II, III, AAC,    IPTV,数字电视
FLV    Adobe Inc.    支持    Sorenson, VP6, H.264    MP3, ADPCM, Linear PCM, AAC等    互联网视频网站
MKV    CoreCodec Inc.    支持    几乎所有格式    几乎所有格式    互联网视频网站
RMVB    Real Networks Inc.    支持    RealVideo 8, 9, 10    AAC, Cook Codec, RealAudio Lossless    BT下载影视

 

六、
视频编码技术:
名称    推出机构    推出时间    目前使用领域
HEVC(H.265)    MPEG/ITU-T    2013    研发中
H.264    MPEG/ITU-T    2003    各个领域
MPEG4    MPEG    2001    不温不火
MPEG2    MPEG    1994    数字电视
VP9    Google    2013    研发中
VP8    Google    2008    不普及
VC-1    Microsoft Inc.    2006    微软平台

音频编码技术:
名称    推出机构    推出时间    目前使用领域
AAC    MPEG    1997    各个领域(新)
AC-3    Dolby Inc.    1992    电影
MP3    MPEG    1993    各个领域(旧)
WMA    Microsoft Inc.    1999    微软平台

直播平台使用技术:
名称    协议    封装    视频编码    音频编码    播放器
CNTV    私有                
华数TV    RTMP    FLV    H.264    AAC    Flash
六间房    RTMP    FLV    H.264    AAC    Flash
中国教育电视台    RTMP    FLV    H.264    AAC    Flash
北广传媒移动电视    RTMP    FLV    H.264    AAC    Flash
上海IPTV    RTSP+RTP    TS    H.264    MP2    机顶盒

点播平台使用技术:
名称    协议    封装    视频编码    音频编码    播放器
CNTV    HTTP    MP4    H.264    AAC    Flash
CNTV(部分)    RTMP    FLV    H.264    AAC    Flash
华数TV    HTTP    MP4    H.264    AAC    Flash
优酷网    HTTP    FLV    H.264    AAC    Flash
土豆网    HTTP    F4V    H.264    AAC    Flash
56网    HTTP    FLV    H.264    AAC    Flash
音悦台    HTTP    MP4    H.264    AAC    Flash
乐视网    HTTP    FLV    H.264    AAC    Flash
新浪视频    HTTP    FLV    H.264    AAC    Flash


webm:google提出的一种媒体文件格式,其实就是一种一MKV容器格式为基础的视频封装技术,封装了VP8视频轨道和ogg音频轨道

blob:二进制大对象(binary large object),表示一个存储二进制文件的容器,例如图片或者声音文件。

SPS:sequence parameter set

Porting an application program includes using the Linux standard compiler GCC and some associated tools. 
移植应用程序涉及到使用Linux标准编译器GCC和其他一些相关的工具。

ALSA是Advanced Linux Sound Architecture,高级Linux声音架构

 

七、

1、视频信号格式:连续的图像,图像的个数以帧为单位,每个图像有排列的像素组成,每个像素有颜色的三基色取不同的分量构成。每个像
素的每个颜色分量用一个字节表示。一个像素由3个字节表示。
YUV格式:一个像素由一个亮度分量Y和两个色度分量U/V表示,一般一个像素由1.5个像素表示。

2、H264协议定义了三种帧,完整编码的帧叫I帧(关键帧),只包含差异部分编码的帧叫P帧(前向预测编码帧),参考前后的帧编码的帧叫
B帧(双向预测内插编码帧)。
    帧内压缩算法:生产I帧的算法。
    帧间压缩算法:生产B帧和P帧的算法。
    H264中图像以序列为单位进行组织,一个序列是一段图像编码后的数据流,以I帧开始,到下一个I帧结束。一个序列的第一个图像叫做
IDR图像(立即刷新图像),IDR都是I帧图像。

3、DTS:decoding time stamp,解码时间戳
   PTS:presentation time stamp,显示时间戳
   可以保持显示时序解码时序一致

   STC:System Time Clock
   PCR:Program Clock Reference

tts:text to speech

mime:Multipurpose Internet Mail Extensions

Port Layer 是位于操作系统 API 和应用程序之间的函数库。在 Port Layer 内部,不同平台拥有 Port Layer 的不同实现,在这些实现中

 

 

类型    网络传输    质量    终端    视频编码技术    业务运营商    政策

IPTV    电信运营商的专用网络    网络带宽和视频质量有保证    非智能机顶盒+普通家庭电视    H.264视频编码技术    电信    可直播

DVB    HFC(光纤和同轴电缆混合)    信号稳定,质量有保证    天线、非智能机顶盒等    数字编码技术    各个卫视    可直播

OTT    internet公网    需要一定的带宽才保证质量    智能机顶盒+显示器(电视、电脑、Pad、手机等)    支持多种视频编解码技术    牌照商    不能直播
 

使用了实际平台的系统调用。而对外,Port Layer 提供了一套统一的 API,屏蔽了底层系统的差异,从而使得开发者既不必关心软件究竟在
何种平台上开发,也不用关心在何种平台上运行。在当今的软件世界里,许多需要在不同平台上开发、运行的软件,比如 HTTP 服务器,数
据库等等,都可能需要 Port Layer。比如 Apache Http Server,就使用了 APR(Apache Portable Runtime),使它在不同平台上都可以运行。

 

qHD(quater High Definition):540P(960X540)

HD(High Definition):720P(1280X720)

FHD(Full High Definition):1080P (1920X1080)

QHD(Quad High Definition):1440P(2560X1440)

UHD(Ultra High Definition):2160P(3840X2160)

 

八、

Iptv和OTT区别:

目前内容交叉的厉害,很难从内容服务上找到区别,最显著的区别是iptv有电信运营商提供,走的城域专用网。ott由互联网集成平台提供,走的互联网。

 

九、

MSE和DASH区别:

MSE and DASH go together hand in glove. That is, for a browser or device to play DASH files, it must support MSE. So MSE is the playback spec, while DASH is the specified file format.
————————————————
版权声明:本文为CSDN博主「oldmtn」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/oldmtn/article/details/52277590

也就是dash是文件格式类型,mse是播放规范

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值