买服务器上雨云
由超大带宽雨云提供赞助This project is the basic integration of the mainstream video player technology on the market, aiming to become the Swiss Army Knife in the field of video playback, to create both unified and flexible playback solutions to meet the diverse business scenarios.
TcPlayer、AliPlayer、VePlayer these are commercial players that report data to the cloud.
This is just a reflection of my own experience, and is not supported by data.
xgplayer-flv.js=flv.js,xgplayer-hls.js=hls.js; h264 scene xgplayer-hls.js xgplayer-flv.js better compatibility,h265 scenexgplayer-hls xgplayer-flv better compatibilityflv.js and webtorrent.dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {
will-change: transform;
-webkit-animation-name: 'danmaku'; /* Compatibility issues, need to add -webkit- */
animation-name: 'danmaku';
-webkit-animation-timing-function: linear;
animation-timing-function: linear;
-webkit-animation-play-state: paused;
animation-play-state: paused;
}off cancel listener extension detailed in CustomDPlayer, paint-in-picture extension detailed in handlePipClick.unlimited: false, otherwise it will cause the main process blocking, personal test 1w data now!seek method with massive popups on, it will cause the popups before seek to overlap, instead of skipping the content of the popups before seek.dp.video.currentSrc doesn't get real address, need to use dp.options.video.url to get it, but it won't change after switching address, you need to manually assign the value after dp.stitchVideo.off event is globally canceled, timeupdate will clear the component's internal events as well, resulting in a normal screen for Nplayer and DPlayer and the progress bar rendering will remain unchanged when switching between the next episodes.art.on('artplayerPluginDanmuku:emit', () => {art.plugins.artplayerPluginDanmuku.emit({})}), don't need to listen to the send event in send once in the send event.Don't use vue's ref responsive proxy instance or you'll find it won't work, use shallowRef or let a variable.Solution1: create global.d.ts
declare module 'shaka-player/dist/shaka-player.compiled' {
export = shaka
}Solution2: Patch - Disadvantage patch and version number should be the same, the patch may not be in time
# Patch Link: https://gist.github.com/Security2431/2b28f17e11870bb4b0e347673e16d5ba#comments
1. Run npm i -D patch-package.
2. Download and move the shaka-player+4.3.4.patch file to /patches/shaka-player+4.3.4.patch in the root directory.
3. Add "scripts": {"postinstall": "patch-package"} in package.json. This make patches to be applied each time people run npm install.
4. Delete node_modules folder and execute npm install.Refer to github
Integrating multiple players is a hard thing, that is, the document method porter.