央视直播协议分析

看中秋晚会,突然想看下央视直播协议,所以,用wireshark抓包看了下,大概看出他们的直播流程。以下的url,都可以直接wget到。很多细节东西没有搞清楚。记录下吧。

一、请求直播地址(类似HLS的m3u的url),获取到的一个xml文件。看里面的标签,能大概看出其中的意思。

http://cctv1.vtime.cntv.wscdns.com//cache/cctv1hds.f4m?AUTH=7MY0BoFXk9+L0eQC9rnTv/+EAzcDxd35FsowQKfvW7HCOjVLNRATgYVIHg2Nlbl1E/ApfvePNfP8DqyOjAXo7A==

<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns="http://ns.adobe.com/f4m/1.0">
  <id>
    cctv1hds
  </id>
  <streamType>
    live
  </streamType>
  <duration>
    0
  </duration>
  <bootstrapInfo
    profile="named"
    url="../cache/14_/seg1/index.bootstrap"
    id="bootstrap74505"
    >
  </bootstrapInfo>
  <media
    streamId="cctv1hds_0"
    url="../cache/14_/seg1/index"
    bitrate="500"
    bootstrapInfoId="bootstrap74505"
  >
    <metadata>
      AgAKb25NZXRhRGF0YQgAAAAAAAhkdXJhdGlvbgBBUGJN0uFHrgAFd2lkdGgAQIaAAAAAAAAABmhlaWdodABAeWAAAAAAAAAMdmlkZW9jb2RlY2lkAgAEYXZjMQAKYXZjcHJvZmlsZQBAWQAAAAAAAAAIYXZjbGV2ZWwAQD4AAAAAAAAADnZpZGVvZnJhbWVyYXRlAAAAAAAAAAAAAAxhdWRpb2NvZGVjaWQCAARtcDRhAA9hdWRpb3NhbXBsZXJhdGUAQOdwAAAAAAAADWF1ZGlvY2hhbm5lbHMAQAAAAAAAAAAACXRyYWNraW5mbwoAAAACAwAJdGltZXNjYWxlAAAAAAAAAAAAAAhsYW5ndWFnZQIAA2BgYAAACQMACXRpbWVzY2FsZQAAAAAAAAAAAAAIbGFuZ3VhZ2UCAANgYGAAAAkAAAk=
    </metadata>
  </media>
  <media
    streamId="cctv1hds_1"
    url="../cache/13_/seg1/index"
    bitrate="850"
    bootstrapInfoId="bootstrap74505"
  >
    <metadata>
      AgAKb25NZXRhRGF0YQgAAAAAAAhkdXJhdGlvbgBBUGJN0uFHrgAFd2lkdGgAQI4AAAAAAAAABmhlaWdodABAgOAAAAAAAAAMdmlkZW9jb2RlY2lkAgAEYXZjMQAKYXZjcHJvZmlsZQBAWQAAAAAAAAAIYXZjbGV2ZWwAQD8AAAAAAAAADnZpZGVvZnJhbWVyYXRlAAAAAAAAAAAAAAxhdWRpb2NvZGVjaWQCAARtcDRhAA9hdWRpb3NhbXBsZXJhdGUAQOdwAAAAAAAADWF1ZGlvY2hhbm5lbHMAQAAAAAAAAAAACXRyYWNraW5mbwoAAAACAwAJdGltZXNjYWxlAAAAAAAAAAAAAAhsYW5ndWFnZQIAA2BgYAAACQMACXRpbWVzY2FsZQAAAAAAAAAAAAAIbGFuZ3VhZ2UCAANgYGAAAAkAAAk=
    </metadata>
  </media>
  <media
    streamId="cctv1hds_2"
    url="../cache/12_/seg1/index"
    bitrate="1200"
    bootstrapInfoId="bootstrap74505"
  >
    <metadata>
      AgAKb25NZXRhRGF0YQgAAAAAAAhkdXJhdGlvbgBBUGJN0uFHrgAFd2lkdGgAQJAAAAAAAAAABmhlaWdodABAggAAAAAAAAAMdmlkZW9jb2RlY2lkAgAEYXZjMQAKYXZjcHJvZmlsZQBAWQAAAAAAAAAIYXZjbGV2ZWwAQD8AAAAAAAAADnZpZGVvZnJhbWVyYXRlAAAAAAAAAAAAAAxhdWRpb2NvZGVjaWQCAARtcDRhAA9hdWRpb3NhbXBsZXJhdGUAQOdwAAAAAAAADWF1ZGlvY2hhbm5lbHMAQAAAAAAAAAAACXRyYWNraW5mbwoAAAACAwAJdGltZXNjYWxlAAAAAAAAAAAAAAhsYW5ndWFnZQIAA2BgYAAACQMACXRpbWVzY2FsZQAAAAAAAAAAAAAIbGFuZ3VhZ2UCAANgYGAAAAkAAAk=
    </metadata>
  </media>
  <media
    streamId="cctv1hds_3"
    url="../cache/11_/seg1/index"
    bitrate="2000"
    bootstrapInfoId="bootstrap74505"
  >
    <metadata>
      AgAKb25NZXRhRGF0YQgAAAAAAAhkdXJhdGlvbgBBUGJN0uFHrgAFd2lkdGgAQJQAAAAAAAAABmhlaWdodABAhoAAAAAAAAAMdmlkZW9jb2RlY2lkAgAEYXZjMQAKYXZjcHJvZmlsZQBAWQAAAAAAAAAIYXZjbGV2ZWwAQD8AAAAAAAAADnZpZGVvZnJhbWVyYXRlAAAAAAAAAAAAAAxhdWRpb2NvZGVjaWQCAARtcDRhAA9hdWRpb3NhbXBsZXJhdGUAQOdwAAAAAAAADWF1ZGlvY2hhbm5lbHMAQAAAAAAAAAAACXRyYWNraW5mbwoAAAACAwAJdGltZXNjYWxlAAAAAAAAAAAAAAhsYW5ndWFnZQIAA2BgYAAACQMACXRpbWVzY2FsZQAAAAAAAAAAAAAIbGFuZ3VhZ2UCAANgYGAAAAkAAAk=
    </metadata>
  </media>

</manifest>

==========================================================================分割线==============================================

<media
    streamId="cctv1hds_3"
    url="../cache/11_/seg1/index"
    bitrate="2000"
    bootstrapInfoId="bootstrap74505"
  >
    <metadata>
      AgAKb25NZXRhRGF0YQgAAAAAAAhkdXJhdGlvbgBBUGJN0uFHrgAFd2lkdGgAQJQAAAAAAAAABmhlaWdodABAhoAAAAAAAAAMdmlkZW9jb2RlY2lkAgAEYXZjMQAKYXZjcHJvZmlsZQBAWQAAAAAAAAAIYXZjbGV2ZWwAQD8AAAAAAAAADnZpZGVvZnJhbWVyYXRlAAAAAAAAAAAAAAxhdWRpb2NvZGVjaWQCAARtcDRhAA9hdWRpb3NhbXBsZXJhdGUAQOdwAAAAAAAADWF1ZGlvY2hhbm5lbHMAQAAAAAAAAAAACXRyYWNraW5mbwoAAAACAwAJdGltZXNjYWxlAAAAAAAAAAAAAAhsYW5ndWFnZQIAA2BgYAAACQMACXRpbWVzY2FsZQAAAAAAAAAAAAAIbGFuZ3VhZ2UCAANgYGAAAAkAAAk=
    </metadata>
  </media>


包括四个清晰度,从码率(bitrate: 500,850,1200,2000)可以看出。



把以上<metadata>中的数据 base64解码并不能完全解析出来,但是从解析的内容来看,主要是指明了其中宽高之类的信息

onMetaDatadurationAPbMҡGwidth@height@ videocodecidavc1
avcprofile@Yavclevel@?videoframerate audiocodecidmp4aaudiosamplerate@簀
audiochannels@    trackinfo
    timescalelanguage```        timescalelanguage```   


二、请求其中的一个清晰度的码流信息:获取到一堆的加密过得信息,没有解密的本事。

http://cctv1.vtime.cntv.wscdns.com/cache/14_/seg1/index.bootstrap


三、应该是根据第二部获取的信息开始实际的码流请求。

http://cctv1.vtime.cntv.wscdns.com/cache/11_/seg1/indexSeg368486310-Frag368486310


/indexSeg368486310-Frag368486310的序列号是不断增长的。获取的应该是实际的码流数据。(用播放器不能直接播放,估计是加密了的)。




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值