81 lines
36 KiB
JavaScript
81 lines
36 KiB
JavaScript
import{_ as s}from"./download-BaAFXe77.js";import{_ as d,c as a,a as n,o as l}from"./app-Dgsdh8A6.js";const o={};function e(r,t){return l(),a("div",null,t[0]||(t[0]=[n('<h1 id="视频流url" tabindex="-1"><a class="header-anchor" href="#视频流url"><span>视频流URL</span></a></h1><img src="'+s+`" width="100" height="100"><p>B站的番剧视频为http流媒体,需要对应的api以视频id获取取流url,并进行取流</p><h2 id="qn视频清晰度标识" tabindex="-1"><a class="header-anchor" href="#qn视频清晰度标识"><span>qn视频清晰度标识</span></a></h2><p><strong>注:该值在dash模式且非下载模式时无效</strong></p><table><thead><tr><th>值</th><th>含义</th><th>备注</th></tr></thead><tbody><tr><td>6</td><td>240P 极速</td><td>仅mp4方式支持</td></tr><tr><td>16</td><td>360P 流畅</td><td></td></tr><tr><td>32</td><td>480P 清晰</td><td></td></tr><tr><td>64</td><td>720P 高清</td><td>web端默认值<br>B站前端需要登录才能选择,但是直接发送请求可以不登录就拿到720P的取流地址<br><strong>无720P时则为720P60</strong></td></tr><tr><td>74</td><td>720P60 高帧率</td><td>需要认证登录账号</td></tr><tr><td>80</td><td>1080P 高清</td><td>TV端与APP端默认值<br>需要认证登录账号</td></tr><tr><td>100</td><td>智能修复</td><td>仅支持dash方式<br>需要<code>fnval&12240=12240</code><br>需要认证登录账号</td></tr><tr><td>112</td><td>1080P+ 高码率</td><td>大多情况需求认证大会员账号</td></tr><tr><td>116</td><td>1080P60 高帧率</td><td>大多情况需求认证大会员账号</td></tr><tr><td>120</td><td>4K 超清</td><td>需要<code>fnval&128=128</code>且<code>fourk=1</code><br>大多情况需求认证大会员账号</td></tr><tr><td>125</td><td>HDR 真彩色</td><td>仅支持dash方式<br>需要<code>fnval&64=64</code><br>大多情况需求认证大会员账号</td></tr><tr><td>126</td><td>杜比视界</td><td>仅支持dash方式<br>需要<code>fnval&512=512</code><br>大多情况需求认证大会员账号</td></tr><tr><td>127</td><td>8K 超高清</td><td>仅支持dash方式<br>需要<code>fnval&1024=1024</code><br>大多情况需求认证大会员账号</td></tr></tbody></table><p>例如:请求1080P+的视频,则<code>qn=112</code></p><h2 id="fnver视频流版本标识" tabindex="-1"><a class="header-anchor" href="#fnver视频流版本标识"><span>fnver视频流版本标识</span></a></h2><p>目前该值恒为0,即<code>fnver=0</code></p><h2 id="fnval视频流格式标识" tabindex="-1"><a class="header-anchor" href="#fnval视频流格式标识"><span>fnval视频流格式标识</span></a></h2><p>该代码为二进制属性位,如需组合功能需要使用<code>OR</code>运算结合一下数值</p><table><thead><tr><th>值</th><th>含义</th><th>备注</th></tr></thead><tbody><tr><td>0</td><td>flv格式</td><td>仅H.264编码<br>部分老视频存在分段现象<br>与mp4格式及dash格式互斥</td></tr><tr><td>1</td><td>mp4格式</td><td>仅H.264编码<br>不存在视频分段<br>与flv格式及dash格式互斥</td></tr><tr><td>16</td><td>dash格式</td><td>H.264编码或H.265编码<br>部分老视频的清晰度上限低于flv格式<br>与mp4格式及flv格式互斥</td></tr><tr><td>64</td><td>是否需求 HDR 视频</td><td>必须为dash格式<br>需要<code>qn=125</code><br>大多情况需求认证大会员账号</td></tr><tr><td>128</td><td>是否需求 4K 分辨率</td><td>该值与<code>fourk</code>字段协同作用<br>需要<code>qn=120</code><br>大多情况需求认证大会员账号</td></tr><tr><td>256</td><td>是否需求杜比音频</td><td>必须为dash格式<br>大多情况需求认证大会员账号</td></tr><tr><td>512</td><td>是否需求杜比视界</td><td>必须为dash格式<br>大多情况需求认证大会员账号</td></tr><tr><td>1024</td><td>是否需求 8K 分辨率</td><td>必须为dash格式<br>需要<code>qn=127</code><br>大多情况需求认证大会员账号</td></tr><tr><td>2048</td><td>是否需求 av1 编码</td><td>必须为dash格式
|
||||
|
|
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">'avid=2325306'</span><span style="color:#D7BA7D;"> \\</span></span>
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">'cid=3629601'</span><span style="color:#D7BA7D;"> \\</span></span>
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;">--data-urlencode </span><span style="color:#CE9178;">'ep_id=85046'</span><span style="color:#D7BA7D;"> \\</span></span>
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;">-b </span><span style="color:#CE9178;">'SESSDATA=xxx'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>https://api.bilibili.com/pgc/player/web/playurl?avid=2325306&cid=3629601&ep_id=85046</p><details><summary>查看响应示例:</summary><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-json"><span class="line"><span style="color:#D4D4D4;">{</span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "code"</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "message"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">"success"</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "result"</span><span style="color:#D4D4D4;">: {</span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "accept_format"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">"flv480,mp4"</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "code"</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "seek_param"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">"start"</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "is_preview"</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "fnval"</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "video_project"</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">true</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "fnver"</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "type"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">"FLV"</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "bp"</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "result"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">"suee"</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "seek_type"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">"offset"</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "from"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">"local"</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "video_codecid"</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">7</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "record_info"</span><span style="color:#D4D4D4;">: {</span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "record_icon"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">""</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "record"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">""</span></span>
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;"> }, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "durl"</span><span style="color:#D4D4D4;">: [</span></span>
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "size"</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">111138876</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "ahead"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">""</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "length"</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1394090</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "vhead"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">""</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "backup_url"</span><span style="color:#D4D4D4;">: [</span></span>
|
|||
|
|
<span class="line"><span style="color:#CE9178;"> "https://upos-sz-mirrorcoso1.bilivideo.com/upgcxcode/01/96/3629601/3629601_da8-1-32.flv?e=ig8euxZM2rNcNbRVhwdVhwdlhWdVhwdVhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1656098195&gen=playurlv2&os=coso1bv&oi=2946990771&trid=a1db84b216ea45dd89225f02a09093fdp&mid=0&platform=pc&upsig=878be08cc0e6bdea705952529e7e6785&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform&bvc=vod&nettype=0&orderid=1,3&agrr=1&bw=79726&logo=40000000"</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#CE9178;"> "https://upos-sz-mirrorcos.bilivideo.com/upgcxcode/01/96/3629601/3629601_da8-1-32.flv?e=ig8euxZM2rNcNbRVhwdVhwdlhWdVhwdVhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1656098195&gen=playurlv2&os=cosbv&oi=2946990771&trid=a1db84b216ea45dd89225f02a09093fdp&mid=0&platform=pc&upsig=8c31064c84d8e981704815992cfe315c&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform&bvc=vod&nettype=0&orderid=2,3&agrr=1&bw=79726&logo=40000000"</span></span>
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;"> ], </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "url"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">"https://cn-lnsy-cu-v-02.bilivideo.com/upgcxcode/01/96/3629601/3629601_da8-1-32.flv?e=ig8euxZM2rNcNbRVhwdVhwdlhWdVhwdVhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1656098195&gen=playurlv2&os=bcache&oi=2946990771&trid=0000a1db84b216ea45dd89225f02a09093fdp&mid=0&platform=pc&upsig=7a5c4f25b9056359127191390a73bedc&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform&cdnid=3281&bvc=vod&nettype=0&orderid=0,3&agrr=1&bw=79726&logo=80000000"</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "order"</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "md5"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">""</span></span>
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;"> ], </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "no_rexcode"</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">0</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "format"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">"flv480"</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "support_formats"</span><span style="color:#D4D4D4;">: [</span></span>
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "display_desc"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">"480P"</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "superscript"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">""</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "codecs"</span><span style="color:#D4D4D4;">: [ ], </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "format"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">"flv480"</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "description"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">"清晰 480P"</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "quality"</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">32</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "new_description"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">"480P 清晰"</span></span>
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;"> }, </span></span>
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;"> {</span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "display_desc"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">"360P"</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "superscript"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">""</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "codecs"</span><span style="color:#D4D4D4;">: [ ], </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "format"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">"mp4"</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "description"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">"流畅 360P"</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "quality"</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">16</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "new_description"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">"360P 流畅"</span></span>
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;"> ], </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "message"</span><span style="color:#D4D4D4;">: </span><span style="color:#CE9178;">""</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "accept_quality"</span><span style="color:#D4D4D4;">: [</span></span>
|
|||
|
|
<span class="line"><span style="color:#B5CEA8;"> 32</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#B5CEA8;"> 16</span></span>
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;"> ], </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "quality"</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">32</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "timelength"</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">1394090</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "has_paid"</span><span style="color:#D4D4D4;">: </span><span style="color:#569CD6;">false</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "clip_info_list"</span><span style="color:#D4D4D4;">: [ ], </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "accept_description"</span><span style="color:#D4D4D4;">: [</span></span>
|
|||
|
|
<span class="line"><span style="color:#CE9178;"> "清晰 480P"</span><span style="color:#D4D4D4;">, </span></span>
|
|||
|
|
<span class="line"><span style="color:#CE9178;"> "流畅 360P"</span></span>
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;"> ], </span></span>
|
|||
|
|
<span class="line"><span style="color:#9CDCFE;"> "status"</span><span style="color:#D4D4D4;">: </span><span style="color:#B5CEA8;">2</span></span>
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;"> }</span></span>
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h2 id="视频的取流-web端及app端" tabindex="-1"><a class="header-anchor" href="#视频的取流-web端及app端"><span>视频的取流(web端及APP端)</span></a></h2><p><strong>注意:</strong></p><ol><li>如flv模式则可能产生分段情况,将<code>$.data.durl[1-n].url</code>或<code>$.data.durl[1-n].backup_url[0]</code>中的内容作为url进行GET操作, 如果有多个视频, 需要手动合并处理</li><li>如mp4模式则需要获取对应的视频流(方法同上)</li><li>如dash模式则需要同时获取对应的视频流和伴音流(方法同上)</li><li>web端取流需要验证防盗链,即<code>referer</code>为 <code>.bilibili.com</code>域名下且UA不能为空;app端也需要验证防盗链,即UA需要含有<code>Mozilla/5.0 BiliDroid/*.*.* (bbcallen@gmail.com)</code>(*为版本);如<code>referer</code>或UA错误的情况会被判定为盗链,返回403 Forbidden故无法取流</li><li><strong>注意unicode转义符</strong></li></ol><p>以上述视频流url为例:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#1E1E1E;color:#D4D4D4;"><pre class="shiki dark-plus vp-code"><code class="language-shell"><span class="line"><span style="color:#DCDCAA;">wget</span><span style="color:#CE9178;"> 'https://upos-sz-mirrorhwo1.bilivideo.com/upgcxcode/01/96/3629601/3629601_da8-1-32.flv?e=ig8euxZM2rNcNbRVhwdVhwdlhWdVhwdVhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mq
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;">--referer </span><span style="color:#CE9178;">'https://www.bilibili.com'</span><span style="color:#D7BA7D;"> \\</span></span>
|
|||
|
|
<span class="line"><span style="color:#D4D4D4;">-O </span><span style="color:#CE9178;">'Download_video.flv'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>响应正文将返回一个flv文件</p>`,69)]))}const i=d(o,[["render",e]]),u=JSON.parse('{"path":"/docs/bangumi/videostream_url.html","title":"视频流URL","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1721960772000,"contributors":[{"name":"SocialSisterYi","username":"SocialSisterYi","email":"1440239038@qq.com","commits":2,"url":"https://github.com/SocialSisterYi"},{"name":"Scott Sloan","username":"","email":"world1019@sina.com","commits":1}],"changelog":[{"hash":"eba3aae1018d8796d6f0cf3de9df24535b00ac50","time":1721960772000,"email":"world1019@sina.com","author":"Scott Sloan","message":"添加智能修复清晰度相关表述"},{"hash":"f6760f4be38d5b592d396b211e48c666286524de","time":1677124138000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🔨remove header index"},{"hash":"7d89ece2ac46425810647c4ac92acf5f3721cb68","time":1676998806000,"email":"1440239038@qq.com","author":"SocialSisterYi","message":"🚀调整项目结构"}]},"filePathRelative":"docs/bangumi/videostream_url.md"}');export{i as comp,u as data};
|