Qiudaomao DanMuPlayer Save Abandoned

A ffmpeg based player for tvOS TVML support DanMu

Project README

A ffmpeg based player for tvOS TVML support DanMu

A front-end HUD similiar to built-in Player.

Javascript API Similar to TVML built-in Player.

Back-end based on a modified for tvOS ijkplayer

My project LazyCat use DanMuPlayer to play bili and panda video and live stream with dynamic subtitles (danmu弹幕).

JavaScript API Sample:

let video = new DMMediaItem('video', video_url);
video.url = video_url;
video.artworkImageURL = data.img;
video.title = data.MovieName;
video.description = data.description;
let videoList = new DMPlaylist();
videoList.push(video);
let myPlayer = new DMPlayer();
myPlayer.playlist = videoList;
myPlayer.addEventListener('timeBoundaryDidCross', (listener, extraInfo) => {
    console.log("bound: " + listener.boundary);
}, time_array);
myPlayer.addEventListener('timeDidChange', function(listener,extraInfo) {
    console.log("time: " + listener.time);
},{interval: 1});
myPlayer.addEventListener('stateDidChange', function(listener, extraInfo) {
    console.log("state: " + listener.state);
},{});
myPlayer.addDanMu(msg="This is a test", color=0xFF0000, fontSize=25, style=0);
//style 0:normal 1:top 2:bottom
myPlayer.play()

New feature and bug fix still ongoing...

Integreting and Build Step:

1. git submodule add https://github.com/qiudaomao/DanMuPlayer.git DanMuPlayer

2. cd DanMuPlayer && git submodule update --init --recursive

3. cd ijplayer ./ios-init.sh, cd ./ios, ./build-openssl.sh && ./build-ffmpeg.sh

4. drag DanMuPlayer.xcodeproject and IJKMediaFramework.xcodeproj to your project

5. Add below line to tvos swift project to finish basic setup

#import <DanMuPlayer.h>//add this line to objc-swift bridge file YourProjectName-Bridging-Header.h

func appController(_ appController: TVApplicationController, evaluateAppJavaScriptIn jsContext: JSContext) {
    *DMPlayer.setup(jsContext, controller: appController.navigationController)*
}

#finally call the player from javascript

Demo from LazyCat:

a.jpg

b.jpg

Open Source Agenda is not affiliated with "Qiudaomao DanMuPlayer" Project. README Source: qiudaomao/DanMuPlayer
Stars
42
Open Issues
2
Last Commit
5 years ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating