腾讯视频解析知识库(持续更新)

1799天前 · 分享 · 7242次阅读

2019/12/19

视(音)频类型id与编码、分辨率等对应关系

首先腾讯视频的m3u8链接一般长这样:

http://101.206.186.17/moviets.tc.qq.com/AN5SbV718VX6_2HWcx7ahexT_ZdqeD3jXHJoe4mD9NKM/uwMROfz2r5xggaQXGdGnC2df54QW1RJDjotqhbRC6iUyaxmU/dWU834FFbAZywdBb92AWkZwTetnAdWHQnHhYPgN-01EWtYg2H3dR-KubOrltU-9MVh5K0uCs_vi1o8tEqEhPvpplNhhmQqTr9rPDrxorb279J7VGAN8z8BjWhZ72lx_h0A1zF3dq3lJ-1XHivHpn8WaF_FKRLhS8goQoQyZtJDY/e0033e0q9cc.322016.ts.m3u8?ver=4
  • 最前面的ip是接口返回给用户的cdn ip
  • moviets.tc.qq.com是m3u8资源所位于的域名
  • 中间一串是变化的
  • e0033e0q9cc是视频vid
  • ver是m3u8版本 已知的有4和5
  • 最前面通常会是http://defaultts.tc.qq.com/defaultts.tc.qq.com/以及http://ltsbsy.qq.com等等
  • 322016是一个和视频编码分辨率相关的参数

已知id与视频/音频对应关系:

320001 -> 普通音频(AAC)
320069 -> 1080p h265 3Mbps码率
320093 -> 1080p h264
320143 -> 1080p h265(官方标注4K 实际是伪4K 不过码率高点罢了)
320144 -> ?
320159 -> 1080p h265 杜比视界(1.0, dvhe.stn@fhd24, BL+RPU) mediainfo示例:https://pastebin.com/77rpguT3
320156 -> ?
320161 -> ? 杜比视界
320160 -> 4K h265 杜比视界(1.0, dvhe.stn@uhd24, BL+RPU) mediainfo示例:https://pastebin.com/nzLY2S3R
320164 -> 1080p h265 杜比视界(1.0, dvhe.stn@fhd24, BL+RPU) mediainfo示例:https://pastebin.com/eFzFtytv
320179 -> 1080p h265 HDR10(Apple系) mediainfo示例:https://pastebin.com/VRcJpV2M
320194 -> 1080p h265 HDR10(Android系)
320199 -> 1080p h265 杜比视界(1.0, dvhe.stn@fhd30, BL+RPU) mediainfo示例:https://pastebin.com/npqv4Hf7
321001 -> 270p h264
321002 -> 480p h264
321003 -> 720p h264
321004 -> 1080p h264
321005 -> 1080p h264(官方标注杜比视听 实际只是码率高点)
322000 -> ?
322001 -> 270p h265
322002 -> 480p h265
322003 -> 720p h265
322004 -> 1080p h265
322005 -> ?
322006 -> ?
322011 -> 270p h265
322012 -> 480p h265
322013 -> 720p h265
322014 -> 1080p h265
322016 -> 4K h265
322069 -> ?
326013 -> 杜比音效(AC3)

2019/12/18

可以自己抓app的包看到参数

获取hdr+杜比音轨

http://vv.video.qq.com/getinfo?spptype=4,5,6,7,8,9,10,11,12&spaudio=15&spvideo=128&spwm=2&livequeue=1&defnpayver=5&hevclv=33&platform=10303&sdtfrom=v5000&vid=i0032qxbi2v&cKey=&ipstack=0&track=db&drm=104&defnsrc=3&charge=1&atime=26&spau=1&appVer=7.7.8.20476&defn=hdr10&encryptVer=5.1&dtype=3&incver=20476&newnettype=1&spsrt=1&sphls=1&otype=ojson&device=21&flowid=&clip=0&fhdswitch=0&
  • 普通音频&defn=audio
  • 返回hdr链接&defn=hdr10
  • 需要返回杜比音轨时添加&track=db

腾讯视频指定平台返回该平台支持的类型

{
    "spvideo":"128",
    "platform":"10303",
    "sdtfrom":"v5000",
    "hevclv":"33",
    "appVer":"7.7.8.20476",
    "encryptVer":"5.1"
}

指定&otype=ojson或者&otype=json,返回时会是纯json格式(没有QZOutputJson之类的),否则返回xml格式内容。
返回示例:
请输入图片描述
腾讯真正HDR的链接后缀应该是320194,此处HDR不是真正的HDR,而是普通的1080,因为并没提供(?)
请输入图片描述

原来是姿势不对,根据@花村 的分享spvideo改为140则会返回HDR,如图:
请输入图片描述

TODO

补充其他平台的参数...

👍 4

none

最后修改于1671天前

评论

贴吧 狗头 原神 小黄脸
收起

贴吧

狗头

原神

小黄脸

  1. 00 1676天前

    大佬,已知电视和网页的vid一样,但是网页最高的画质只能选1080p
    有没有办法在网页抓取电视的m3u8?
    或者判断最大画质?这里说的是单个视频

    1. 00 1676天前

      也就是可否直接在网页,在pc端抓取4k 画质?

      1. 未末 1675天前

        可以获取,毕竟解析是通过接口完成的。

        1. 00 1675天前

          可否给个pc端能用的网页抓4k接口?
          不方便公开的话能私享吗?(大佬看的到我邮箱吧)
          天天架设备抓包腾讯4k好麻烦呀(┬_┬)
          (无需审核通过此消息)

          1. 未末
            未末 1675天前

            http://wuxianlin.com/android/

  2. 刀锋 1680天前

    发现一个问题.如果用http://vv.video.qq.com/getinfo?spptype=4,5,6,7,8,9,10,11,12&spaudio=15&spvideo=140&spwm=2&livequeue=1&defnpayver=5&hevclv=33&platform=10303&sdtfrom=v5000&vid=i0032qxbi2v&cKey=&ipstack=0&track=db&drm=104&defnsrc=3&charge=1&atime=26&spau=1&appVer=7.7.8.20476&defn=hdr10&encryptVer=5.1&dtype=3&incver=20476&newnettype=1&spsrt=1&sphls=1&otype=ojson&device=21&flowid=&clip=0&fhdswitch=0 请求的视频只能看3分37秒,cookie我都是用的安卓的cookie..难道还有参数?还有z0033zg18xu这个vid的视频返回的比例也不对,我抓pc端的客户端抓到1920x1080的视频,但是这个只能1920x726的分辨率

  3. 刀锋 1681天前

    "spvideo":"128",

    "platform":"10303",

    其实好像只需要这个就可以获取到了,但是获取到的链接播放不了,显示未授权

    1. 未末 1681天前

      可能需要加上ckey这个参数

      1. 刀锋 1680天前

        加入ckey参数还是不行,,还有
        http://vv.video.qq.com/getinfo?spptype=4,5,6,7,8,9,10,11,12&spaudio=15&spvideo=128&spwm=2&livequeue=1&defnpayver=5&hevclv=33&platform=10303&sdtfrom=v5000&vid=i0032qxbi2v&cKey=&ipstack=0&track=db&drm=104&defnsrc=3&charge=1&atime=26&spau=1&appVer=7.7.8.20476&defn=hdr10&encryptVer=5.1&dtype=3&incver=20476&newnettype=1&spsrt=1&sphls=1&otype=ojson&device=21&flowid=&clip=0&fhdswitch=0 这个我用我vip的cookie只能获取到720p的视频

      2. 刀锋 1680天前

        加入ckey参数还是不行,,还有
        http://vv.video.qq.com/getinfo?spptype=4,5,6,7,8,9,10,11,12&spaudio=15&spvideo=128&spwm=2&livequeue=1&defnpayver=5&hevclv=33&platform=10303&sdtfrom=v5000&vid=i0032qxbi2v&cKey=&ipstack=0&track=db&drm=104&defnsrc=3&charge=1&atime=26&spau=1&appVer=7.7.8.20476&defn=hdr10&encryptVer=5.1&dtype=3&incver=20476&newnettype=1&spsrt=1&sphls=1&otype=ojson&device=21&flowid=&clip=0&fhdswitch=0 这个我用我vip的cookie只能获取到720p的视频

        1. 未末 1677天前

          不知道你的cKey是怎么算的。
          不过encryptVer、appVer和platform三者是相关联的,说明白一点就是不同平台三者搭配不一样,所以出现前面你提到的未授权的情况,因为不匹配的请求无法通过服务器的验证。
          另外encryptVer不同,对应的cKey算法也不同。
          另外提醒一下,getinfo是移动端接口。

  4. 千千万万道不明 1799天前

    围观大佬惹...

目录

avatar

未末

迷失

126

文章数

275

评论数

7

分类