typecho 在文章中添加 bilibili 视频

一、获取视频来源:

可以有2种方式来定位一个 bilibili 视频:

  • 第一种是使用 bvid 参数定位
  • 第二种是使用 aid 参数定位

如何获取这两个参数?

首先我们可以看看 bilibili 网站中的视频页面链接其实可以分为两种:

但是,不管那种地址,我们都可以通过查看 bilibili 视频所在网页的源代码来找到这些参数的值。

方法:在 bilibili 视频页面,右键查看源代码,然后按 ctrl+F 组合键搜索"aid","bvid"(带引号搜索可以精准定位)

例如,对于第二种视频,我们搜索 "aid" 可以找到647个值,每个值对应一个视频,首先看第一个 aid 的值为 478818261 ,并且往后看可以发现"bvid": "BV1vT411d7QE", "cid": 1022370693,以及 "long_title": "凡人风起天南1重制版"。long_title的值就是这个视频的标题(第一集),而另一个定位视频的 bvid 的值也同样找到了,就是 1vT411d7QE 。

第一种视频还提供了"嵌入代码",直接使用这些代码就可达到引用的效果。

方法:在 bilibili视频下方有个点击复制链接的图标,移动至图标会弹出一个对话框,对话框下方如果有"嵌入代码",点击即可复制该代码。

例如,泽泽社长的这个视频 https://www.bilibili.com/video/BV1uS4y1S7E6,我们可以找到他的"嵌入代码"为:

html 复制代码
<iframe src="//player.bilibili.com/player.html?aid=725087364&bvid=BV1uS4y1S7E6&cid=556589728&p=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>

这是操作截屏:

二、引用视频

1. 视频引用的 CSS 样式

css 复制代码
/* bilibili视频挂载样式 */
.iframe_div {
  position: relative;
  width: 100%;
  height: 0;
}

.iframe_div .iframe_video {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0
}

2. 引用视频可通过 <iframe> 标签来实现,有 2 种方法:

第一种方法

html 复制代码
<div class="iframe_div">
   <iframe class="iframe_video" src="//player.bilibili.com/player.html?aid=478818261"> </iframe>
</div>

<!-- 或者 -->
<div class="iframe_div">
   <iframe class="iframe_video" src="//player.bilibili.com/player.html?bvid=1vT411d7QE"> </iframe>
</div>

还有以下参数可以控制视频的显示:

参数 说明
page 第几个视频, 起始下标为 1 (默认值也是为1) 就是B站视频选集里的第几个视频
as_wide 是否宽屏 1: 宽屏, 0: 小屏
high_quality 是否高清 1: 高清, 0: 最低视频质量(默认),不过因为要 bilibili 对于高清视频要求登陆的远古,往往设置了高清也无效。
danmaku 是否开启弹幕 1: 开启(默认), 0: 关闭

因此,上面的引用还可以完善为:

html 复制代码
<div class="iframe_div">
   <iframe class="iframe_video" src="//player.bilibili.com/player.html?aid=478818261&page=1&danmaku=0&as_wide=1&high_quality=1"> </iframe>
</div>

这种方式可以显示与 bilibili 网站中界面一致的视频界面,而且点击视频可以直接链接到 bilibli 网站,但要素太多,有时候并不喜欢。

不过在手机浏览器中使用这种方法的前提是视频在分享那里提供了"嵌入代码",没有提供这个潜入代码的视频在手机浏览器中会无法正常播放。

第二种方法:

这种方法只显示视频,没有跳转,也没有花里胡哨的点赞、分享等功能信息,不过只适用于上面提到的第一种视频,也就是 https://www.bilibili.com/video/BV17B4y1R775 这样的视频,如果选择第二种视频,往往会因为视频著作权等原因而无法正常播放。

html 复制代码
<div class="iframe_div">
   <iframe class="iframe_video" src="https://www.bilibili.com/blackboard/html5mobileplayer.html?bvid=17B4y1R775"></iframe>
</div>

第一种方法的参数同样可以用于第二种方法,如:

html 复制代码
<div class="iframe_div">
   <iframe class="iframe_video" src="https://www.bilibili.com/blackboard/html5mobileplayer.html?bvid=17B4y1R775&page=1&danmaku=0&as_wide=1&high_quality=1"></iframe>
</div>
相关推荐
core5124 天前
[硬核解析] 从感知到交互:InternVideo 1/2/2.5 全系列架构演进与原理解析
架构·大模型·交互·视频·video·intern
视频技术分享4 天前
实时音视频技术选型指南:国内主流厂商功能对比
视频
视频技术分享5 天前
音视频SDK选型与集成要点:打造卓越互动体验的关键
视频
视频技术分享6 天前
视频会议软件私有化:企业内网部署新趋势
视频
jbk33116 天前
视频镜头抽帧,从视频每个镜头中抽取一张图片保存
自动化·视频·剪映
视频技术分享6 天前
介绍主流的音视频通讯解决方案
视频
视频技术分享7 天前
主流的音视频SDK调研
视频
视频技术分享8 天前
播放器SDK深度选型指南
视频
视频技术分享9 天前
协同办公系统国产化进程中的音视频技术实现路径
视频
长安即是故里12 天前
个人相册部署
php·相册·typecho