流媒体相关

流媒体相关:

ts是一种封装格式(容器),对应的其他封装格式有:avi,wmv,mpeg,mkv,rm,qt,ogg,mod;下面对应的是编码格式。目前主要的编码格式有:MPEG和H264,H265。

Ts的优点是从视频流的任一片段开始都可以独立解码(因为,I帧和pmt,pat表大概每间隔不到两秒就会有,而对于解码,I帧和pmt,pat是必须的)。

Ts流里面主要有pat,pmt和音视频文件。Pid是ts流的唯一标识,包头指明负载类型,pat的pid默认为:全0。

Ts流到达之后的流程为:通过ts的pid找到pat(里面存放了所有节目的信息),然后通过pat里的信息找到pmt(里面存放了某一个节目的信息),将pmt所表明的相同pid的ts包,提取出所要的音视频。

Ts流发出的时候有一个pcr时间戳,主要用于ss发流时确定,很大部分决定了节目的码率,同时两个pcr之间的ts包数量是固定或可变的决定了这是一个CBR还是VBR片源;提取之后有一个解码的过程,依据DTS来确定时间点;播放有一个音视频同步的过程,主要是通过pts时间戳来确定显示时间。

从头端到STB,多媒体文件经历了:编码(H264,H265,MPEG…),传输到节点(TS OVER UDP,TS OVER TCP),节点会将TS包里的I帧的pcr打到RTP的扩展头中(用于实现FCC,时移,快进快退)。

对于快进/快退文件的生成,行业内一般以VLC正常播放作为鉴定标准。

时间戳间隔是固定的,MPEG-2规定一般不超过100ms,但是HDTV规范规定了两个连续时间戳的间隔最好不超过40ms,PAT,PMT之间的时间间隔也不超过40ms。

ES大包里面是各种I帧,B帧和P帧,是按顺序放在一起的,(比如图像采样频率是60hz,则每帧图像的间隔是固定的:1000/60ms。)没有时间只有顺序(I,B,P帧的顺序)。

和ts类似的有flv格式,传输时是流,放在一起是文件,所以封装格式指的就是ts。

传送到转码器之前的pes包里面就有pts和dts,但是没有I帧数据,I 帧数据是在ES层拿到的。

PTS主要用于音视频同步,DTS主要是因为双向编码的B帧引起的。若没有B帧,则没有DTS,若有B帧,则B 帧的pts和DTS是一样的,一般采用PTS。

媒体文件从头端到用户的过程:ES-PES-TS-UDP-RTP-UDP。

原始图像(60hz,RGB,YUV)是一幅一幅可以显示的画面(相当于每帧都是I帧),比较大。经过编码(变换编码:帧内冗余;运动估计:帧间冗余;运动补偿:提高效率;熵编码)。将1280720像素块的图像划分为16090的8*8的图像块)将其压缩成ES(里面是I,B,P帧),音频也进行压缩编码。将每一帧加上PES头(里面有PTS和DTS),然后切分为188字节的TS包,基于UDP传输到转码器(转码器收到ts流后,将其剥开到ES层,提取其中的I帧位置信息(通过识别算法),然后写进RTP头中,用于业务层面的FCC,时移,快进快退)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值