All Projects → qiudaomao → DanMuPlayer

qiudaomao / DanMuPlayer

Licence: MIT license
A ffmpeg based player for tvOS TVML support DanMu

Programming Languages

objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to DanMuPlayer

TVMLKitchen
Swifty TVML template manager with or without client-server
Stars: ✭ 82 (+105%)
Mutual labels:  tvos, tvml
Pbjvideoplayer
▶️ video player, simple way to play and stream media on iOS/tvOS
Stars: ✭ 620 (+1450%)
Mutual labels:  player, tvos
moe.TV
watch bangumi on your tvOS
Stars: ✭ 25 (-37.5%)
Mutual labels:  tvos, appletv
Swiftysound
SwiftySound is a simple library that lets you play sounds with a single line of code.
Stars: ✭ 995 (+2387.5%)
Mutual labels:  player, tvos
TVGemist
An *Unofficial* Uitzending Gemist application for  TV
Stars: ✭ 23 (-42.5%)
Mutual labels:  tvos, appletv
F1-AppleTV
F1TV app for the Apple TV
Stars: ✭ 16 (-60%)
Mutual labels:  tvos, appletv
MiaoProject
Miao Project Bug 反馈
Stars: ✭ 1,199 (+2897.5%)
Mutual labels:  tvos, appletv
Player
▶️ video player in Swift, simple way to play and stream media on iOS/tvOS
Stars: ✭ 1,849 (+4522.5%)
Mutual labels:  player, tvos
Sgplayer
A powerful media play framework for iOS, macOS, and tvOS.
Stars: ✭ 1,974 (+4835%)
Mutual labels:  player, tvos
AirPlayAuth
Since tvOS 10.2 AppleTV is enforcing the "Device verification" for AirPlay, which could be manually enabled/disabled before. This library allows to pair with an AppleTV and can be used in any app supporting streaming/casting to an AppleTV.
Stars: ✭ 82 (+105%)
Mutual labels:  tvos, appletv
tvos-soap4.me
tvOS app for soap4.me video service https://soap4.me/
Stars: ✭ 22 (-45%)
Mutual labels:  tvos, tvml
SwiftRadix
Easily convert integers to binary/hex/octal strings and back again with clean functional syntax.
Stars: ✭ 34 (-15%)
Mutual labels:  tvos
pxtnplay
Play Pxtone Collage files in Linux or MacOS.
Stars: ✭ 30 (-25%)
Mutual labels:  player
ivysilani tvOS
Neoficiální klient iVysílání pro sledování videoobsahu veřejnoprávní České televize na Apple TV
Stars: ✭ 41 (+2.5%)
Mutual labels:  tvos
somafm
📻 A SomaFM Desktop Player
Stars: ✭ 20 (-50%)
Mutual labels:  player
bitmovin-player-ui
The Bitmovin Adaptive Streaming Player UI
Stars: ✭ 115 (+187.5%)
Mutual labels:  player
audioplayer editor
Audio Player ID3 editor add-on for the Audio Player in Nextcloud & ownCloud
Stars: ✭ 24 (-40%)
Mutual labels:  player
leaflet-react-track-player
This is plugin for react-leaflet. It create player for control of track. 🍃🌎⚔
Stars: ✭ 21 (-47.5%)
Mutual labels:  player
AudioThief
Let you gain and release AudioFocus.
Stars: ✭ 40 (+0%)
Mutual labels:  player
UitzendingGemist
An *Unofficial* Uitzending Gemist application for Apple TV 4 (**deprecated, use TV Gemist ☝🏻**)
Stars: ✭ 48 (+20%)
Mutual labels:  tvos

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].