Windows 10 / 11 · 免费

浏览器播不动的片
交给 VDVD 影音

一款 Windows 桌面播放器。直连 m3u8 / HLS,走本机硬解与网络栈; 自动补上 Referer / User-Agent,防盗链的源在浏览器里黑屏,在这里照常播; 整部剧一次交过来,选集、进度记忆、弹幕都在。

装完回到原来的影视站,再点一次播放按钮,就会自动用本机的 VDVD 影音打开。

版本1.1.0 体积约 2.9 MB 系统Windows 10 / 11(64 位)

它替浏览器做的那几件事

不换片源、不改后端。播放地址还是你站自己给的那个地址。

直连 m3u8 / HLS

走桌面播放器的硬解与网络栈,比在浏览器里播更稳、更省电,长时间看不发烫。

防盗链源照播

自动补上 Referer / User-Agent。浏览器里播不了、一播就黑屏的源,这里能正常播。

整部剧一起交过来

支持多线路 / 全集清单,打开就是完整选集面板,不用一集一集点回来。

进度记忆与续播

关掉再打开,接着上次的位置播。播放进度按本机记忆保存,换剧集也不串。

弹幕

匹配弹幕库,支持开关、透明度、字号与屏蔽设置,也可导入本地弹幕文件。

资源库与本地视频

直播、点播、本地视频统一收进资源库,支持添加与采集,桌面端一个入口管到底。

两种接入方式

唤起式给第三方站用,桥接式给「站本身就在播放器里被打开」用。两条路可以同时存在,互不冲突。

第三方站首选

唤起式 vdvd://

访客在自己平时的浏览器里浏览你的站,点一下播放按钮,本机播放器弹出来播。

  • 播放按钮的链接换成 vdvd://… 就行
  • 不需要访客先打开播放器,也不要知道他装没装
  • 不支持选集(协议只带一条地址)

桥接式 window.VDVDPlayer

访客在 VDVD 影音的内置浏览器里浏览你的站,页面调一句 JS 把播放交出去。

  • 支持整套线路 / 集数,播放器里直接选集
  • MacCMS 一类站点(有 window.VOD)零改动自动接管
  • 其他站点判断 isEmbedded 后显式调用
js · 唤起式(配合未安装兜底)
function vdvdUrl(playUrl, title) {
  var q = 'url=' + encodeURIComponent(playUrl)
        + '&title=' + encodeURIComponent(title || document.title)
        + '&referer=' + encodeURIComponent(location.href)
        + '&back=' + encodeURIComponent(location.href);
  return 'vdvd://play?' + q;
}

// 先唤起,1.5 秒内没抢到前台就当没装,跳下载页
function launchVdvd(uri) {
  var left = false;
  window.addEventListener('blur', function () { left = true; }, { once: true });
  setTimeout(function () {
    if (!left && !document.hidden) location.href = 'https://pc.vdvd.net/';
  }, 1500);
  location.href = uri;
}
js · 桥接式(在播放器里可带整部剧选集)
function playVideo(mediaUrl, title, playlist) {
  var p = window.VDVDPlayer;

  // ① 正在播放器内置浏览器里浏览本站 → 交给桥接 API
  if (p && p.isEmbedded) {
    p.play(mediaUrl, title, playlist ? { playlist: playlist } : undefined);
    return;
  }

  // ② 普通浏览器 → 唤起式(装了就弹播放器,没装就跳下载页)
  launchVdvd(vdvdUrl(mediaUrl, title));
}

常见问题

点播放没反应 / 播放器没弹出来?

多半是还没装,或者浏览器弹了「打开 vdvd?」的确认框而没点「打开」。装好之后回到原站点,再点一次播放按钮即可。

浏览器的限制在于:网页无法可靠探测本机装没装某个程序。所以标准做法是「先唤起、再兜底跳下载页」。

装了,但它老是用网页播放器播,不是桌面播放器?

那说明你站的播放按钮还是网页播放器的链接。要让它走本机播放器,需要你把按钮换成 vdvd:// 链接,或在页面里调用 window.VDVDPlayer.play()。见 接入文档。

为什么在浏览器里 window.VDVDPlayer 是 undefined?

正常。这个对象只在 VDVD 影音内部存在,用来给「在播放器里打开的站点」调用。普通 Chrome / Edge / 手机浏览器里没有它。

Mac、手机、Linux 能用吗?

目前只有 Windows 版(Win10 / 11)。其他平台请继续使用站点自己的网页播放器。

整部剧能一次交过去吗?

可以。play(url, title, options) 的 options.playlist 支持多线路、每线路多集,几百集也没问题——清单只存在播放器内存里用于渲染选集,不发任何网络请求。

从播放器点「返回网站」,会不会又被拽回播放器?

不会。回跳地址上带一次性标记 #__vdvd=back,读到就不再接管,所以不会来回跳。这一条对接入方也有约束:接管判断必须先读这个标记。

播放器会不会代理、缓存我的视频?

不会。播放器不代理、不存储、不分发视频内容,串流全程从源站直连访客设备;Referer 只用于适配你站点的防盗链。播放地址由站点提供,内容合法性由站点自行负责。