Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

b 站 m4s 格式视频音频分离的流解析?--新的DASH API #519

Open
zz5678 opened this issue Jul 19, 2020 · 7 comments
Open

b 站 m4s 格式视频音频分离的流解析?--新的DASH API #519

zz5678 opened this issue Jul 19, 2020 · 7 comments
Labels

Comments

@zz5678
Copy link

zz5678 commented Jul 19, 2020

b 站的 cdn 烂的要死,偶然发现 b 站还有这样的音频,视频流分离的网页播放,可以轻松跑满200兆宽带!!

比如这个页面,用视频抓流 https://www.bilibili.com/v/game/match/singledata/6525
可见 m4s 后缀的三个流,大致这样:

bilivideo.com/upgcxcode/63/31/214303163/214303163-1-30216.m4s\?expires\=1595174713\&platform\=pc

都来讨论下,如何获取流地址呢? @iawia002

@mengmo
Copy link
Collaborator

mengmo commented Jul 19, 2020

annie 已经用上 DASH API 了
iawia002/lux#732
不过,个人觉得旧 API 还可以保留

@zz5678
Copy link
Author

zz5678 commented Jul 20, 2020

奇怪的是,用annie解析出来的的流地址,使用 mpv 播放一直返回403
header设置了与annie给出的相同,还是不行。如下是 curl 测试,url是 annie -j 解析出来的
image

@mengmo
Copy link
Collaborator

mengmo commented Jul 21, 2020

奇怪的是,用annie解析出来的的流地址,使用 mpv 播放一直返回403
header设置了与annie给出的相同,还是不行。如下是 curl 测试,url是 annie -j 解析出来的
image

\u0026改为&

@zz5678
Copy link
Author

zz5678 commented Jul 21, 2020

\u0026改为&

…… 严重的挫伤了我对 @iawia002 的编程严谨信心 …… 都没想到 annie 能给出这种输出 😤 😤 😤

@mengmo
Copy link
Collaborator

mengmo commented Jul 21, 2020

\u0026改为&

…… 严重的挫伤了我对 @iawia002 的编程严谨信心 …… 都没想到 annie 能给出这种输出 😤 😤 😤

@zz5678 建议到 annie 那边问一下究竟是没考虑到还是有意如此设计

个人认为如果有问题还是以解决问题为优先考虑
过多讨论与解决问题无关的话题并非积极的做法

@zz5678
Copy link
Author

zz5678 commented Jul 21, 2020

haha,并不算。其实和 iawia002 还算熟,开玩笑的。另,这不是大问题,不需要解决。只是我没想到会遭遇低级错误

@zz5678
Copy link
Author

zz5678 commented Jul 22, 2020

目前 ykdl 还不支持 DASH 解析,写了个用 annie 解析 ,mpv 来播放 bili 的脚本,目前这 cdn 缓冲速度,简直太快了,不知道 b 站这个穷鬼能这么烧几个月钱。。。。

#!/bin/bash

u="$@"
echo ">>> playing $u"
json=$(annie -j $u | jq -r '.[0].streams."80".parts')
url_1=$(echo $json | jq -r '.[0].url')
url_2=$(echo $json | jq -r '.[1].url')
ext_1=$(echo $json | jq -r '.[0].ext')

if [[ $ext_1 =~ m4a ]]; then
    temp=$url_1
    url_1=$url_2
    url_2=$temp
fi

mpv --referrer=$u --audio-file=$url_2 $url_1 &

@zz5678 zz5678 changed the title b 站 m4s 格式视频音频分离的流解析? b 站 m4s 格式视频音频分离的流解析?--新的DASH API Jul 24, 2020
@SeaHOH SeaHOH added the pending label Jan 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants