SkillAgentSearch skills...

GSYVideoPlayer

Video players (IJKplayer, ExoPlayer, MediaPlayer), HTTPS, 16k page size, danmaku (bullet chat) support, external subtitles, support for filters, watermarks, and GIF screenshots, pre-roll and mid-roll ads, multiple simultaneous playback, basic seeking/dragging, volume and brightness adjustment, play-while-cache support

Install / Use

npx skills add CarGuo/GSYVideoPlayer

Installs into whichever agent you are using.

About this skill

Quality Score

0/100

Supported Platforms

Universal

README

中文文档

Supports IJKPlayer, Media3(EXOPlayer2), MediaPlayer, AliPlayer, implementing a multi-functional video player. (Please read the following instructions carefully, most questions can be answered below).

* HarmonyOS version openharmony-tpc/GSYVideoPlayer

If cloning is too slow or images are not visible, you can try to synchronize from the following addresses

  • GitCode https://gitcode.com/ZuoYueLiang/GSYVideoPlayer
  • Gitee:https://gitee.com/CarGuo/GSYVideoPlayer

Type | Function -------------|------------------------------------------------------------------------------------------------------------------------------------------------- Cache | Play while caching, using AndroidVideoCache; Media3(ExoPlayer) uses SimpleCache. Protocols | h263\4\5, Https, concat, rtsp, hls, rtmp, crypto, mpeg, etc. (ijk mode format support) Filters | Simple filters (mosaic, black and white, color filter, Gaussian, blur, etc. more than 20 kinds), animation, (watermark, multi-screen playback, etc.). Frame images | Video first frame, video frame screenshots, composed player screenshots including UI, and video to gif function. Playback | List playback, continuous list playback, gravity rotation and manual rotation, video's own rotation attribute, fast and slow playback, network video loading speed. Screen | Adjust display ratio: default, 16:9, 4:3, fill; rotate screen angle during playback (0,90,180,270); mirror rotation. Kernel | IJKPlayer, Media3(EXOPlayer), MediaPlayer, AliPlayer switching, custom kernel Layout | Full screen and non-full screen two sets of layout switching, pure playback support without any operation controls, barrage function, inherited custom any layout. Playback | Singleton playback, multiple simultaneous playback, video list sliding automatic playback, seamless playback of list switching detail pages. Window | Small window, small window playback in multiple windows (including desktop). Ads | Opening ads, skip ad support, interstitial ad function. Subtitles | Unified external subtitle overlay supports SRT/WebVTT across IJK, Media3(EXOPlayer), and MediaPlayer; Media3 embedded cues can bridge to the same UI. Dash | Media3(exo2) mode supports dash; the demo supports HLS master / DASH MPD adaptive quality track switching. Stream | Supports metadata playback Adapt 16k | ex_so adapts to 16K Page Size openssl | Currently ex_so's arm64/x86_64 uses openssl 1.1.1w FFmpeg | Currently ex_so's arm64/x86_64 uses FFmpeg 4.3 FFmpeg | Currently ex_so's arm64/x86_64 supports G711a(pcm_alaw) Cast | First-class DLNA/UPnP casting built on jUPnP 3.0.3; CastCapability / CastProvider / CastSession SPI, SetAVTransportURI → Play → Seek chain preserves the local position when casting mid-playback; ships with a single-device Loopback Receiver for on-device smoke tests. Details. More | No black screen when pausing front and back switching; multi-URL quality switching; Exo HLS/DASH adaptive quality; seamless switching support; keep-last-frame demo; WebVTT progress bar preview. Customization | Customizable rendering layer, custom management layer, custom playback layer (control layer), custom cache layer.

Maven Central Version Build Status Github Actions

GitHub stars GitHub forks GitHub issues GitHub License

Star

| Official Account | Juejin | Zhihu | CSDN | Jianshu |---------|-------------------------------------------------------------|-------------------------------------------|-----------------------------------------|----------------------------------------------| | GSYTech | Click me | Click me | Click me | Click me

--------------Demo APK Download Address---------------

I. Using Dependencies

There are currently three hosting methods:

  • MavenCentral: Available after version 11.0.0, all base class packages are published and hosted here.
  • Github Package: Available from version 9.1.0, but before version 11.0.0, the basic dependencies of GSYIjkJava are still hosted on jitpack.
  • Jitpack IO: Will continue to be released, but there is a random loss of packages on the hosting platform.

--- Version Update Instructions --- .

--- Recent Playback Features --- .

1. MavenCentral Reference (Recommended)

Since jitpack keeps losing packages, it has been migrated to MavenCentral. The usage is as follows:

First Add

allprojects {
    repositories {
        ///...
        mavenCentral()
        maven { url "https://maven.aliyun.com/repository/public" }
    }
}

You can choose one of the following three and add it to the build.gradle under the module.

A. Direct Introduction

 //Complete version introduction

implementation 'io.github.carguo:gsyvideoplayer:13.1.0'


//Whether AliPlayer mode is needed
implementation 'io.github.carguo:gsyvideoplayer-aliplay:13.1.0'

B. Add java and the so support you want:

 implementation 'io.github.carguo:gsyvideoplayer-java:13.1.0'

 //Whether ExoPlayer mode is needed
 implementation 'io.github.carguo:gsyvideoplayer-exo2:13.1.0'

 //Whether AliPlayer mode is needed
 implementation 'io.github.carguo:gsyvideoplayer-aliplay:13.1.0'

 //so of ijk mode according to your needs
 implementation 'io.github.carguo:gsyvideoplayer-arm64:13.1.0'
 implementation 'io.github.carguo:gsyvideoplayer-armv7a:13.1.0'
 implementation 'io.github.carguo:gsyvideoplayer-armv5:13.1.0'
 implementation 'io.github.carguo:gsyvideoplayer-x86:13.1.0'
 implementation 'io.github.carguo:gsyvideoplayer-x64:13.1.0'

C. Support other format protocols (mpeg, rtsp, concat, crypto protocols, support 16k Page Size)

A and B normal versions support 263/264/265, etc. For mpeg encoding, there will be sound but no picture. The so introduced by C supports mpeg encoding and other supplementary protocols, but the so package is relatively larger.

 implementation 'io.github.carguo:gsyvideoplayer-java:13.1.0'

 //Whether ExoPlayer mode is needed
 implementation 'io.github.carguo:gsyvideoplayer-exo2:13.1.0'

 //Whether AliPlayer mode is needed
 implementation 'io.github.carguo:gsyvideoplayer-aliplay:13.1.0'

 //More ijk encoding support
 implementation 'io.github.carguo:gsyvideoplayer-ex_so:13.1.0'

D. Jetpack Compose Support (Optional)

The gsyvideoplayer-compose module is published with v13.1.0. It can be consumed from Maven Central / GitHub Packages like the other modules, or by depending on the source module directly with implementation project(":gsyVideoPlayer-compose") when working inside this repository.

🛠 Toolchain note: the Compose module is verified on JDK 21 in CI (.github/workflows/*.ymlactions/setup-java java-version: 21) and JDK 17 locally (the module pins sourceCompatibility / targetCompatibility / jvmTarget = 17 in gsyVideoPlayer-compose/build.gradle). Both are fine; just make sure your local JDK is ≥ 17 so Kotlin 2.0.21 + AGP 8.6.1 can build.

The new gsyvideoplayer-compose module exposes Compose entries on top of the existing kernels and UI without touching any legacy code:

  • Wrapper mode: a single Composable GSYVideoPlayerView { ... } embeds StandardGSYVideoPlayer into a Compose screen, with automatic Lifecycle bridge and release on dispose. An optional setUpKey: Any? parameter lets you trigger setUp again only when the data identity changes (idempotent).
  • Native mode: GSYComposeHostPlayer + GSYPlayerController exposes a GSYPlayerSnapshot state stream plus an events: SharedFlow<GSYPlayerEvent> of one-shot edge events (Prepared / AutoComplete / Error), so t

Related Skills

View on GitHub
GitHub Stars21.5k
CategoryCustomer
Updated5h ago
Forks4.3k

Languages

Java

Security Score

100/100

Audited on Aug 8, 2026

No findings