浏览器播不动的片
交给 VDVD 影音
一款 Windows 桌面播放器。直连 m3u8 / HLS,走本机硬解与网络栈; 自动补上 Referer / User-Agent,防盗链的源在浏览器里黑屏,在这里照常播; 整部剧一次交过来,选集、进度记忆、弹幕都在。
装完回到原来的影视站,再点一次播放按钮,就会自动用本机的 VDVD 影音打开。
它替浏览器做的那几件事
不换片源、不改后端。播放地址还是你站自己给的那个地址。
直连 m3u8 / HLS
走桌面播放器的硬解与网络栈,比在浏览器里播更稳、更省电,长时间看不发烫。
防盗链源照播
自动补上 Referer / User-Agent。浏览器里播不了、一播就黑屏的源,这里能正常播。
整部剧一起交过来
支持多线路 / 全集清单,打开就是完整选集面板,不用一集一集点回来。
进度记忆与续播
关掉再打开,接着上次的位置播。播放进度按本机记忆保存,换剧集也不串。
弹幕
匹配弹幕库,支持开关、透明度、字号与屏蔽设置,也可导入本地弹幕文件。
资源库与本地视频
直播、点播、本地视频统一收进资源库,支持添加与采集,桌面端一个入口管到底。
两种接入方式
唤起式给第三方站用,桥接式给「站本身就在播放器里被打开」用。两条路可以同时存在,互不冲突。
唤起式 vdvd://
访客在自己平时的浏览器里浏览你的站,点一下播放按钮,本机播放器弹出来播。
- 播放按钮的链接换成
vdvd://…就行 - 不需要访客先打开播放器,也不要知道他装没装
- 不支持选集(协议只带一条地址)
桥接式 window.VDVDPlayer
访客在 VDVD 影音的内置浏览器里浏览你的站,页面调一句 JS 把播放交出去。
- 支持整套线路 / 集数,播放器里直接选集
- MacCMS 一类站点(有
window.VOD)零改动自动接管 - 其他站点判断
isEmbedded后显式调用
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;
}
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 只用于适配你站点的防盗链。播放地址由站点提供,内容合法性由站点自行负责。