Commit Graph
2039 Commits
Author SHA1 Message Date
Harvey Zhao 6b66029c54 feat: add sample video loading functionality and improve button styling in upscaler page 2026-03-01 15:56:57 +08:00
Harvey Zhao 9db9cd1f1e feat: remove muted attribute from original video in comparison section 2026-03-01 15:35:57 +08:00
Harvey Zhao 14ce165f50 feat: update index.html with improved link labels and add favicon to upscaler page 2026-03-01 15:27:06 +08:00
Harvey Zhao edc2b6c9f9 feat: add link to Video Upscaler in index.html and update upscaler page with Google AdSense integration 2026-03-01 15:12:33 +08:00
Harvey Zhao cea2859b40 feat: enhance video comparison functionality with improved drag-and-drop support and synchronized preview seeking
feat: update index.html for improved UI and UX with enhanced metadata and styling

feat: redesign index.html for enhanced UI and UX with improved layout and styling

feat: update index.html for improved UI with clearer messaging and streamlined layout

Update index.html

feat: enhance index.html with improved UI components, styling, and drag-and-drop support for video uploads

feat: update index.html for enhanced UI and improved video upload experience with preview functionality
2026-03-01 15:04:14 +08:00
Harvey Zhao f28b809a67 feat: enhance index.html with improved metadata and structured data for better SEO 2026-03-01 12:08:14 +08:00
Harvey Zhao f750e77e4f feat: add Upscaler web interface and core functionality
- Implemented a new HTML interface for image and video upscaling with WebGPU and WebGL support.
- Created the Upscaler class to handle image and video processing, including loading weights, managing workers, and handling real-time upscaling.
- Added support for selecting processing modes (small, medium, large) and handling file uploads.
- Integrated progress tracking and result display for processed images and videos.
- Implemented functionality for downloading processed results and real-time video processing from a URL.
2026-03-01 11:50:15 +08:00
Harvey Zhao 1841f754dc feat: enhance Danmuku plugin with batch processing for top calculations
- Implemented a callback pool in the Web Worker to handle concurrent requests without overwriting onmessage.
- Modified postMessage to generate unique IDs for messages and store corresponding callbacks.
- Improved state management by using in-place deletion for removing danmu from state pools.
- Optimized the rendering loop to batch calculate the top positions of danmu elements, reducing DOM reads and improving performance.
- Added a new function getDanmuTopBatch in the worker to handle batch requests for top calculations.
2026-02-19 12:48:32 +08:00
Harvey Zhao 0bdc59e446 chore: remove unused assets and sponsor page 2026-02-13 09:54:24 +08:00
Harvey Zhao cfaaea6a5c feat: add danmuku plugin documentation and i18n setup guide
- Created a new documentation file for the danmuku plugin with code examples.
- Added a comprehensive guide for language settings (i18n) including default languages, importing languages, adding new languages, and modifying existing languages.
- Included code snippets for initializing the Artplayer with different language configurations.
2026-02-12 16:55:43 +08:00
Harvey Zhao 687a34c6b3 Refactor canvas size calculation into a separate function and initialize canvas dimensions
- Moved the canvas size calculation logic into a dedicated function `calcCanvasSize`.
- Called `calcCanvasSize` to set the initial width and height of the canvas.
- Removed duplicate `calcCanvasSize` function definition from the code.
2026-02-11 23:03:24 +08:00
Harvey Zhao 14807e2633 feat: update artplayerPluginWebsr to support async upscale initialization
- Changed the return function to be async for handling asynchronous operations.
- Updated the call to startRealtimeUpscale to await its completion, allowing for proper handling of the upscale process with the specified network size option.
2026-02-11 23:00:36 +08:00
Harvey Zhao 210eb94b75 feat: add Upscaler class for image and video upscaling with Web Workers
- Implemented methods for initializing the upscaling process, loading weights, and processing images and videos.
- Added support for real-time video upscaling using OffscreenCanvas and Web Workers.
- Included utility functions for loading image and video metadata, handling blob responses, and managing network configurations.
- Introduced methods for downloading upscaled content and managing GPU capabilities.
- Added error handling and progress tracking for the upscaling process.
2026-02-11 22:54:13 +08:00
Harvey Zhao 17042867fc feat: add danmuku plugin and i18n setup documentation
- Created a new documentation file for the danmuku plugin with code examples.
- Added a new documentation file for language settings (i18n) with detailed instructions on language imports, default languages, and how to add or modify languages.
2026-02-10 23:12:03 +08:00
Harvey Zhao 7dffd99cfd Refactor code structure for improved readability and maintainability
Remove debugging border from the websr plugin's styling

Enhance canvas sizing logic in artplayer-plugin-websr

- Updated canvas positioning to center it within the player.
- Introduced a new function to calculate canvas size based on the video aspect ratio.
- Adjusted canvas dimensions during initialization and on resize events to maintain aspect ratio.
- Ensured canvas styles are updated to reflect the calculated dimensions.

feat: add comparison mode to artplayer-plugin-websr

- Updated README.md to reflect new comparison feature and simplified content.
- Modified package.json to remove unnecessary keywords.
- Enhanced index.js to implement comparison functionality, allowing users to compare original and upscaled video.
- Added new methods for enabling, disabling, and toggling comparison mode, as well as setting and getting the comparison position.
- Updated TypeScript definitions to include new comparison options and methods.
2026-02-10 23:02:31 +08:00
Harvey Zhao 07a5b0c0f0 Refactor controls.less for improved readability and structure
- Organized the control layout by grouping related styles together.
- Enhanced the alignment and spacing properties for better consistency.
- Maintained existing functionality while improving code clarity.
2026-01-12 22:10:34 +08:00
Harvey Zhao 4a980971f7 feat: update libUris in common.js with dynamically built plugin file paths 2026-01-04 21:09:35 +08:00
Harvey Zhao a3416fcb33 Refactor code structure for improved readability and maintainability 2026-01-04 18:00:12 +08:00
Harvey Zhao 23a20d5d6d feat: enhance audio track plugin with waiting and playing event handling 2026-01-04 17:29:05 +08:00
Harvey Zhao ca34b47180 Remove artplayer-plugin-liquid-glass plugin
- Deleted the plugin files including JavaScript, CSS, README, and type definitions.
- Removed references to the plugin from the documentation.
- Cleaned up the package structure by removing the .npmignore and package.json files related to the plugin.
2026-01-04 16:54:07 +08:00
Harvey Zhao c655f073ae feat: add danmuku plugin documentation and i18n setup guide
- Created a new documentation file for the danmuku plugin with code examples.
- Added comprehensive language settings documentation, including default languages, import instructions, and examples for adding and modifying languages.
- Updated the i18n documentation to reflect changes in language handling and provide clear examples for users.
2026-01-04 15:59:52 +08:00
Harvey Zhao cf01186977 Refactor code structure for improved readability and maintainability 2026-01-03 19:56:06 +08:00
Harvey Zhao b69d020c5a feat: add artplayer-plugin-jassub for enhanced video subtitle rendering 2026-01-03 19:01:40 +08:00
Harvey Zhao 0d032f685b Merge branch 'artplayer-plugin-jassub' 2026-01-03 18:58:13 +08:00
Harvey Zhao f4d99eb09e Refactor code structure for improved readability and maintainability
feat: add JASSUB type definitions and update common.js references

feat: add JASSUB plugin for advanced subtitle rendering in HTML5 video

- Implemented a new JASSUB class for handling subtitle rendering with options for video and canvas targets.
- Added support for both synchronous and asynchronous rendering modes.
- Integrated Web Worker for offloading rendering tasks, improving performance.
- Included methods for managing subtitle tracks, styles, and events.
- Added color space verification and handling to ensure accurate subtitle display.
- Implemented local font access for enhanced typography options in subtitles.
- Introduced a benchmarking feature to assess rendering performance.

refactor: update README and type definitions for artplayer-plugin-jassub

- Removed installation and usage instructions from README.md for clarity.
- Updated index.js to remove direct assignment of jassub instance to art.
- Enhanced type definitions in artplayer-plugin-jassub.d.ts to include detailed JassubOption and JassubInstance interfaces.
2026-01-03 18:56:06 +08:00
Harvey Zhao fa2c69e83d feat: add React and Vue examples with Artplayer integration
- Implemented a React template with Vite, including ESLint configuration and necessary dependencies.
- Created a Vue template with Vite, including setup for Artplayer and plugins.
- Added internationalization support in both React and Vue examples.
- Included sample video and Danmuku plugin integration in both frameworks.
- Established project structure with appropriate configuration files and README documentation.
2026-01-03 14:08:31 +08:00
Harvey Zhao 62b4be9d82 feat: add update method to artplayerPluginAudioTrack for dynamic audio options 2026-01-03 14:03:26 +08:00
Harvey Zhao e559d3bc6f feat: enhance artplayerPluginAudioTrack with update method for dynamic option changes 2026-01-03 14:02:30 +08:00
Harvey Zhao a8d36a38ad feat: add artplayer-plugin-audio-track for audio synchronization with video
- Implemented the audio track plugin for ArtPlayer, allowing audio to be synchronized with video playback.
- Added main functionality in `src/index.js` to handle audio playback, synchronization, and event listeners for play, pause, seek, and volume changes.
- Created TypeScript definitions for the plugin in `types/artplayer-plugin-audio-track.d.ts`.
- Included necessary build files in `dist/` for various module formats (CommonJS, ES Module, and legacy).
- Updated package metadata in `package.json` and added a README for documentation.
- Added `.npmignore` to exclude unnecessary files from the package.
2026-01-03 13:42:11 +08:00
Harvey Zhao ae03670f9a Revert "feat(cssVar): add new CSS variables for font size and tooltip positioning"
This reverts commit 59e9a32ecb.
2026-01-03 00:11:00 +08:00
Harvey Zhao ce35026cb4 Revert "feat(cssVar): add new CSS variables for font size and tooltip positioning"
This reverts commit 59e9a32ecb.
2026-01-03 00:10:29 +08:00
Harvey Zhao fce3b33909 feat: add artplayer-plugin-jassub with initial implementation and documentation 2026-01-02 23:42:05 +08:00
Harvey Zhao 0bb4e1acdb Refactor code structure for improved readability and maintainability 2026-01-01 19:50:00 +08:00
Harvey Zhao 4a0fbda3c4 fix: update loadTimeout default value to 0 in README, MediaBunnyEngine, and TypeScript definitions 2026-01-01 17:43:21 +08:00
Harvey Zhao d892685a25 fix: prevent concurrent frame fetching in VideoEngine
Added a flag to manage the fetching state of video frames in the VideoEngine class. This change ensures that the updateNextFrame method does not attempt to fetch new frames while a previous fetch is still in progress, preventing potential race conditions and improving stability during playback.
2026-01-01 17:32:21 +08:00
Harvey Zhao 9d760a2f59 refactor: remove architecture documentation and improve code readability
- Deleted ARCHITECTURE.md file to streamline project documentation.
- Refactored AudioEngine, EventTarget, MediaBunnyEngine, VideoEngine, VideoShim, and index.js for improved readability by adding consistent line breaks and spacing.
- Enhanced code structure by ensuring single-responsibility principles and clearer flow in methods.
- Updated TypeScript definitions for better clarity on options available in the artplayer-proxy-mediabunny package.
2026-01-01 17:25:21 +08:00
Harvey Zhao be44c1f8dd Enhance property handling in artplayerProxyMediabunny
- Updated the way properties from the shim instance and its prototype are retrieved.
- Replaced the for-in loop with a Set to ensure all properties, including inherited ones, are considered.
- Excluded the 'constructor' property from being added to the canvas.

refactor: remove unused utility functions and streamline event handling

- Deleted `videoEvents.js`, `clamp.js`, and `sleep.js` as they were not utilized.
- Introduced a new `EventTarget` class to manage event listeners more efficiently.
- Enhanced `MediaBunnyEngine`, `AudioEngine`, `VideoEngine`, and `VideoShim` to utilize the new event system.
- Updated type definitions in `artplayer-proxy-mediabunny.d.ts` to include new configuration options.
- Added comprehensive architecture documentation to clarify the structure and flow of the MediaBunny engine.
- Refactored the codebase for improved readability and maintainability, including better naming conventions and JSDoc comments.
2026-01-01 17:03:44 +08:00
Harvey Zhao 59e9a32ecb feat(cssVar): add new CSS variables for font size and tooltip positioning
Refactor styles for consistency and improved theming

- Updated context menu styles to use new spacing and surface mixins.
- Adjusted control styles to utilize touch hit size for better accessibility.
- Refined info panel padding and applied panel surface mixin for uniformity.
- Standardized mini player transitions and background colors.
- Introduced new mixins for panel surfaces and flyout animations.
- Enhanced notice padding and applied consistent spacing variables.
- Updated plugin styles to use new icon sizes and panel surface mixin.
- Improved progress bar styles with consistent surface and shadow properties.
- Refactored selector styles to utilize new surface mixin and flyout animations.
- Streamlined setting panel styles with consistent spacing and hover effects.
- Added new variables for spacing, surface colors, and icon sizes.
- Updated volume panel styles to use new spacing and flyout animations.

feat(cssVar): add new CSS variables for enhanced theming and layout

Refactor styles in ArtPlayer

- Updated transition properties across various LESS files to use the new `--art-ease-standard` variable for consistency.
- Added new CSS variables for mobile padding and border radius.
- Introduced shadow variables for different elevation levels.
- Minor adjustments to ensure proper formatting and consistency in LESS files, including adding missing newlines at the end of files.

refactor: replace art-text-muted mixin with direct font-size in setting.less

Refactor styles for context menu, info panel, and settings

- Updated font sizes to use the new variable `--art-font-size-sm` for consistency across context menus, info panels, and settings.
- Introduced a new mixin `.art-menu-item-base` to standardize menu item styles, including padding and hover effects.
- Adjusted padding and positioning for tooltip elements in the progress bar.
- Added new CSS variables for tip padding and offset to enhance maintainability and readability of styles.
2025-12-14 12:30:20 +08:00
Harvey Zhao 51d49f857a chore: update version to 1.0.2 and improve chapter plugin functionality
- Bump version from 1.0.1 to 1.0.2 in package.json.
- Refactor index.js to remove unused variables and simplify event handling.
- Enhance title display logic in the chapter plugin for better user experience.
- Update styles in style.less for smoother transitions and improved visibility of chapter titles.
2025-12-14 11:05:34 +08:00
Harvey Zhao a93967d518 fix(thumbnailsMix): streamline loading logic and variable names
- Renamed 'loading' to 'loding' for consistency.
- Removed unnecessary 'isLoad' variable.
- Simplified loading checks in the showThumbnails function.
2025-12-13 23:09:47 +08:00
Harvey Zhao 8cb9cd480c refactor: simplify thumbnail display logic and improve hover effects
- Removed unnecessary hover event handling for thumbnails.
- Updated thumbnail visibility logic to always show when loading.
- Enhanced CSS for progress tip and thumbnails with scaling and opacity transitions.
- Added hover class to manage thumbnail visibility on progress hover.
2025-12-13 23:05:28 +08:00
Harvey Zhao 911c88d95f feat(progress): enhance progress tooltip and hover effects
- Updated the progress tooltip to display the current time or '00:00' when no time is available.
- Improved hover functionality by adding/removing a class on the player element based on the hover state.
- Refactored mousemove event handling to streamline tooltip visibility and highlight display logic.
- Removed unnecessary display property manipulation for the tooltip in CSS.
2025-12-13 22:39:15 +08:00
Harvey Zhao 7d8034ca18 fix: reset playback state on play after ended and emit additional events on video end 2025-12-13 20:22:38 +08:00
Harvey Zhao e45bc1ef20 fix: update video URL in danmuku.mask.js example 2025-12-13 19:08:56 +08:00
Harvey Zhao bd6ce34420 feat: add poster image and adjust liquid glass plugin styles 2025-12-13 17:19:40 +08:00
Harvey Zhao dbeaba78e6 feat: add i18n support documentation and language import examples
- Created a new documentation file for language settings in i18n.
- Added examples for setting default languages and importing additional languages.
- Included instructions for adding and modifying languages in the ArtPlayer plugin.
- Introduced a new plugin: artplayer-plugin-liquid-glass with various build formats (legacy, mjs, etc.).
2025-12-13 17:11:51 +08:00
Harvey Zhao ef537ecfbf Merge branch 'master' into artplayer-plugin-liquid-glass 2025-12-13 17:06:46 +08:00
Harvey Zhao b7d94558b2 feat: enhance liquid glass plugin with customizable width and improved s… 2025-12-13 17:05:51 +08:00
Harvey Zhao efa757ca2d feat: enhance liquid glass plugin with customizable width and improved styles 2025-12-13 16:50:59 +08:00
Harvey Zhao e27581b800 Refactor code structure for improved readability and maintainability 2025-12-13 16:16:30 +08:00