All Projects → FriendsOfREDAXO → Plyr

FriendsOfREDAXO / Plyr

Licence: mit
Plyr Mediaplayer (Video und Audio) im Front- und Backend

Projects that are alternatives of or similar to Plyr

Plyr React
A simple, accessible and customisable react media player for Video, Audio, YouTube and Vimeo
Stars: ✭ 89 (+196.67%)
Mutual labels:  vimeo, player, youtube
React Player
A React component for playing a variety of URLs, including file paths, YouTube, Facebook, Twitch, SoundCloud, Streamable, Vimeo, Wistia and DailyMotion
Stars: ✭ 5,931 (+19670%)
Mutual labels:  vimeo, player, youtube
Openwhyd
💎 Like Pinterest, for Music
Stars: ✭ 287 (+856.67%)
Mutual labels:  vimeo, player, youtube
Vime
Customizable, extensible, accessible and framework agnostic media player. Modern alternative to Video.js and Plyr. Supports HTML5, HLS, Dash, YouTube, Vimeo, Dailymotion...
Stars: ✭ 1,928 (+6326.67%)
Mutual labels:  vimeo, player, youtube
Kaku
🎧 Kaku is a highly integrated music player supports different online platform like YouTube, SoundCloud, Vimeo and more. Available on Mac, Windows and Linux.
Stars: ✭ 1,028 (+3326.67%)
Mutual labels:  vimeo, player, youtube
Min Vid
Popout video player in Firefox
Stars: ✭ 180 (+500%)
Mutual labels:  vimeo, player, youtube
Redditmusicplayer
🎵 A free and open-source streaming music web player using data from Reddit
Stars: ✭ 401 (+1236.67%)
Mutual labels:  player, youtube
Sonatamediabundle
Symfony SonataMediaBundle
Stars: ✭ 415 (+1283.33%)
Mutual labels:  vimeo, youtube
Pylivestream
Pure Python FFmpeg-based live video / audio streaming to YouTube, Facebook, Periscope, Twitch, and more
Stars: ✭ 442 (+1373.33%)
Mutual labels:  vimeo, youtube
Rssbox
📰 I consume the world via RSS feeds, and this is my attempt to keep it that way.
Stars: ✭ 492 (+1540%)
Mutual labels:  vimeo, youtube
Maia Yt
Currently codenamed maia-yt is a userscript (and browser extension) that enhances the user's experience on YouTube.
Stars: ✭ 493 (+1543.33%)
Mutual labels:  player, youtube
Lightgallery.js
Full featured JavaScript image & video gallery. No dependencies
Stars: ✭ 5,168 (+17126.67%)
Mutual labels:  vimeo, youtube
Plyr
A simple HTML5, YouTube and Vimeo player
Stars: ✭ 20,859 (+69430%)
Mutual labels:  vimeo, youtube
Vue Video Player
🎞 @videojs component for @vuejs
Stars: ✭ 4,026 (+13320%)
Mutual labels:  player, youtube
Lightgallery
A customizable, modular, responsive, lightbox gallery plugin.
Stars: ✭ 4,829 (+15996.67%)
Mutual labels:  vimeo, youtube
Upnext
Chrome Extension for streaming music from SoundCloud & YouTube
Stars: ✭ 320 (+966.67%)
Mutual labels:  player, youtube
Superembed.js
Fluid width for YouTube, Vimeo, Vine, VideoPress, DailyMotion, and more embedded videos.
Stars: ✭ 615 (+1950%)
Mutual labels:  vimeo, youtube
Yt Player
Simple, robust, blazing-fast YouTube Player API
Stars: ✭ 576 (+1820%)
Mutual labels:  player, youtube
Podsync
Turn YouTube or Vimeo channels, users, or playlists into podcast feeds
Stars: ✭ 657 (+2090%)
Mutual labels:  vimeo, youtube
Raspberrycast
📺 Transform your Raspberry Pi into a streaming device. Videos can be sent from mobile devices or computers (Chrome extension).
Stars: ✭ 726 (+2320%)
Mutual labels:  vimeo, youtube

REDAXO-AddOn: Plyr

Das AddOn stellt den Video-/Audio-Player Plyr zur Verfügung.

Screenshot

Es können lokale Audio-Dateien (mp3), Videos und Youtube- sowie Vimeo-Videos eingebunden werden.
Wir haben uns bewusst gegen eine automatische Einbindung im Frontend entschieden um dem Entwickler alle Freiheiten zu lassen.

AddOn Features

  • REX_PLYR[] Variable zur schnellen Ausgabe in einem Modul
  • Statische PHP Methode zur Ausgabe des Videos
  • Einbindung des Players im Backend
  • Plyr bindet sich in die Detailseite des Medienpools ein
  • Methoden zur Ermittlung des Videotyps
  • Controls können je Ausgabe definiert werden
  • Kein JQuery benötigt

Einbindung im Frontend

Die nötigen Dateien findet man im Assets-Ordner. Eigene CSS und JS sollten nach Möglichkeit an anderer Stelle abgelegt werden um Probleme nach einem Update zu vermeiden.

Plyr benötigigt 2 JS-Dateien und eine CSS. In der plyr_video.js wird der Player initialisiert.

CSS für Plyr

<link rel="stylesheet" href="<?= rex_url::base('assets/addons/plyr/vendor/plyr/dist/plyr.css') ?>">

JS für Plyr

<script src="<?= rex_url::base('assets/addons/plyr/vendor/plyr/dist/plyr.min.js') ?>"></script>
<script src="<?= rex_url::base('assets/addons/plyr/plyr_init.js') ?>"></script>

Alle Infos zur Konfiguration der Skripte oder der Controls der nachfolgenden Ausgaben, finden sich auf der GitHub-Site von Plyr.

Modul-Beispiel, hier mit MFORM CustomLink

Eingabe

$mform = new MForm();
$mform->addFieldset("Video");
$mform->addCustomLinkField("1", array('label'=>'Video', 'data-tel'=>'disable', 'data-mailto'=>'disable', 'data-formlink'=>'disable', 'data-intern'=>'disable'));
$mform->addMediaField(1, array('label'=>'Image'));
echo $mform->show();

Ausgabe über rex_plyr::outputMedia

$media = rex_plyr::outputMedia($url,$controls,$poster);

Beispiel:

$media = rex_plyr::outputMedia('REX_VALUE[1]','play-large,play,progress,airplay,pip','/media/cover/REX_MEDIA[1]');

Bei Medien aus dem Medienpool muss nur der Dateiname angegeben werden. Bei Youtube und Vimeo immer die vollständige URL. Diese Methode bietet sich an um evtl. mehrere Videos z.B. aus einer Datenbank oder Medialist zu verarbeiten.

Alternative Ausgabe per REX_PLYR

REX_PLYR[1]

oder mit Konfiguration der Player-Elemente:

REX_PLYR[id=1 controls="play,progress" poster="/media/poster.jpg"]

Alternative init.js

zur Änderung der Vollbildanzeige bei Orientierungsänderung des Geräts

document.addEventListener("DOMContentLoaded", function(){
const players = Plyr.setup('.rex-plyr',{
youtube: {
noCookie: true
},
fullscreen: {
enabled: true,
fallback: true,
iosNative: false }
});
});

const players = new Plyr('.rex-plyr');
players.on('play', event => {
const instance = event.detail.plyr;

screen.orientation.addEventListener("change", function() {
if(screen.orientation.type = 'landscape-primary') {
players.fullscreen.enter();
}
if(screen.orientation.type = 'portrait-primary') {
players.fullscreen.exit();
}
}, false);

window.addEventListener('orientationchange', function() {
if (window.orientation & 2) {
players.fullscreen.enter();
} else {
players.fullscreen.exit();
}

});

});

Hilfsmethoden in der rex_plyr class

checkUrl($url) Gibt sofern es sich um eine Mediapool-Datei handelt die URL zum Medium zurück.

checkYoutube($url) Prüft ob es sich um eine Youtube-URL handelt

getYoutubeId($url) Ermittelt die Youtube-ID eines Videos

checkVimeo($url) Prüft ob es sich um eine Vimeo-URL handelt

getVimeoId($url) Ermittelt die Vimeo-Id eines Videos

checkMedia($url) Überprüft ob es sich um ein MP4-Video aus dem Medienpool handelt

checkExternalMp4($url) Überprüft ob ein externes MP4-Video verlinkt ist.

checkVideo($url) Überprüft ob es sich um eine Video-Datei / eine Video-Url handelt die plyr abspielen kann.

checkAudio($url) Überprüft ob es sich um eine MP3-Audio-Datei aus dem Medienpool handelt

Beispiel

$plyr = new rex_plyr();
$id = $plyr->checkMedia($url);

Bugtracker

Du hast einen Fehler gefunden oder ein nettes Feature parat? Lege ein Issue an. Bevor du ein neues Issue erstellst, suche bitte ob bereits eines mit deinem Anliegen existiert.

Lizenz

siehe LICENSE.md

Plyr und Afterglow stehen unter MIT-Lizenz. Die Player bedienen sich jedoch teils unterschiedlicher Quellen, deren Lizenzen sich unterscheiden können.

Autor

Friends Of REDAXO

Projekt-Lead Thomas Skerbis

Credits:

First Release: Christian Gehrke

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].