Extension:EmbedVideo

This page is a translated version of the page Extension:EmbedVideo and the translation is 95% complete.
Other languages:
Manuel des extensions MediaWiki
OOjs UI icon advanced-invert.svg
EmbedVideo
État de la version : stable
EmbedVideoExample1-new.png
Implémentation Fonction d'analyseur
Description Ajoute une fonction d'analyseur appelée #ev pour intégrer des clips vidéo à partir de services de partage de vidéos populaires
Auteur(s)
Dernière version 2.9.0 (2020-10-14)
MediaWiki 1.29+
PHP 7.0+
Licence Licence MIT
Téléchargement
Exemple Gamepedia Help Wiki

Vérifier la matrice des utilisations et des versions.

Rôle Vagrant embedvideo

L'extension EmbedVideo ajoute une fonction d'analyseur appelée #ev pour intégrer des clips vidéo de plus de 24 services de partage de vidéos populaires dans plusieurs langues et pays. It also adds video and audio media handlers to support transforming standard [[File:Example.mp4]] file links into embedded HTML5 ‎<video> and ‎<audio> tags.

Page d'accueil du projet
Documentation sur GitLab
Code source
Code source sur GitLab
Bugs
Suivi des problèmes chez GitLab
Gestion des licences
EmbedVideo est publié sous The MIT License.
GDPR-conforme Forge
Code source sur GitLab - se concentre sur une version plus centrée sur la confidentialité d'EmbedVideo. Notez que seuls YouTube, Spotify, Vimeo et Archive.org sont pris en charge et que toutes les fonctions d'analyseur sauf #ev sont supprimées.
À partir de la série 2.x, l'extension EmbedVideo a un nouveau mainteneur et une base de code entièrement réécrite. Il conserve la rétrocompatibilité avec EmbedVideo 1.0 et EmbedVideoPlus.

Utilisation

Gestionnaire de médias

Pour le contenu téléchargé localement, le processus pour d'affichage sur une page est le même que pour une image. Voir la documentation sur la syntaxe des images pour une référence complète sur cette fonctionnalité.

Cet exemple affiche une vidéo dans la page en utilisant une balise HTML5 ‎<video>.

[[File:Example.mp4]]

Pour spécifier les horodatages de début et de fin dans le support, utilisez les paramètres de début et de fin. L’horodatage peut être formaté comme suit : ss, :ss, mm:ss, hh:mm:ss, ou dd:hh:mm:ss.

[[File:Example.mp4|start=2|end=6]]

Balises

La fonction d’analyse EmbedVideo s’attend à être appelée de l’une des façons suivantes:

#ev — Balise de parseur classique

  • {{#ev:service|id}}
  • {{#ev:service|id|dimensions}}
  • {{#ev:service|id|dimensions|alignment}}
  • {{#ev:service|id|dimensions|alignment|description}}
  • {{#ev:service|id|dimensions|alignment|description|container}}
  • {{#ev:service|id|dimensions|alignment|description|container|urlargs}}
  • {{#ev:service|id|dimensions|alignment|description|container|urlargs|autoresize}}
  • {{#ev:service|id|dimensions|alignment|description|container|urlargs|autoresize|valignment}}

Cependant, si nécessaire, les arguments facultatifs peuvent être laissés vides en ne mettant rien entre les tuyaux :

  • {{#ev:service|id|||description}}

#evt — Balise d’analyseur pour les modèles

La balise d’analyseur #evt permet des paires clé=valeur, ce qui facilite le templating et la lisibilité.

{{#evt:
service=youtube
|id=https://www.youtube.com/watch?v=eAORm-8b1Eg
|alignment=right
}}

#evu — Balise Parser pour les URLs

La balise #evu est comme la balise #evt, mais son premier paramètre est une URL qui sera analysée pour déterminer le service automatiquement.

{{#evu:https://www.youtube.com/watch?v=eAORm-8b1Eg
|alignment=right
}}

‎<embedvideo> — Tag hook

Les vidéos peuvent facilement être intégrées avec le crochet ‎<embedvideo>...‎</embedvideo> tag. L’ID/URL va comme l’entrée entre les balises et les paramètres peuvent être ajoutés comme les arguments de balise.

<embedvideo service="youtube">https://www.youtube.com/watch?v=eAORm-8b1Eg</embedvideo>

Alternativement, vous pouvez également utiliser l’ID de service comme balise (en supposant qu’une autre extension n’utilise pas déjà cette balise).

<youtube>https://www.youtube.com/watch?v=eAORm-8b1Eg</youtube>

Attributs pour les balises de parser

Attributs Description Nécessaire ? Défaut
service="(Voir Services pris en charge ci-dessous.)" Le service vidéo à appeler. obligatoire
id="[id|url]" L’ID brut de la vidéo ou de l’URL de la page du lecteur. obligatoire
dimensions="[WIDTH|WIDTHxHEIGHT|xHEIGHT]" Dimensions en pixels pour dimensionner le conteneur d’intégration. Le format standard est largeur x hauteur où l’un peut être omis, mais le x doit procéder hauteur pour l’indiquer comme la hauteur.

Exemples: 480, 480x320, x320 Si la hauteur n’est pas fournie, elle sera calculée automatiquement à partir du rapport par défaut de largeur et de service.

Certains services tels que Gfycat n’ont pas de hauteurs standard et doivent être spécifiés pour chaque embed. $wgEmbedVideoDefaultWidth peut être défini dans LocalSettings.php pour remplacer la largeur par défaut.

optionnel 640
alignment="[left|center|right|inline]" Alignez le placement de la vidéo vers la gauche, centré ou vers la droite. Inline permettra à plusieurs vidéos d’afficher côte à côte sans pauses de ligne forcées. optionnel none
description="[wikitext]" Afficher une description sous le conteneur d’intégration. Pour les sauts de ligne, utilisez &#10; (voir https://www.w3.org/TR/REC-xml/#AVNormalize). optionnel none
container="[frame]" Spécifie le type de conteneur à utiliser pour l’intégration.
frame — Enveloppez le lecteur vidéo dans une vignette Mediawiki.
optionnel none
urlargs="modestbranding=1&version=3" Permet d’ajouter des arguments URL supplémentaires à l’URL embed générée. Ceci est utile pour les options obscures prises en charge uniquement sur un service. optionnel none
autoresize="false" Redimensionnez automatiquement les vidéos lorsque leur taille les fera sortir de leur élément conteneur. optionnel true
valignment="[top|middle|bottom|baseline]" Alignez le placement vertical de la vidéo vers le haut, le milieu, le bas ou la ligne de base de l’élément parent. L’utilisation de ce paramètre force le paramètre d’alignement à être en ligne. optionnel none

Exemples

 
Exemple #1

Par exemple, une vidéo de YouTube utilise le sélecteur de service youtube. Vous pouvez spécifier l’ID brut:

{{#ev:youtube|eAORm-8b1Eg}}

Ou spécifiez l’URL complète:

{{#ev:youtube|https://www.youtube.com/watch?v=eAORm-8b1Eg}}

Pour afficher la même vidéo qu’une grande vignette alignée à droite avec une description:

{{#ev:youtube|https://www.youtube.com/watch?v=eAORm-8b1Eg|1000|right|Let eet GO|frame}}

Pour que YouTube lance la vidéo à un moment précis, utilisez le paramètre urlargs (arguments URL). Prenez le reste des arguments d’URL de l’URL personnalisée et placez-les dans le urlargs. Veuillez noter que tous les services vidéo ne supportent pas des arguments URL supplémentaires ou peuvent avoir des clés différentes pour leurs arguments URL.

https://www.youtube.com/watch?v=eAORm-8b1Eg&start=76
{{#ev:youtube|https://www.youtube.com/watch?v=pSsYTj9kCHE|||||start=76}}

Les arguments URL peuvent être utilisés pour découper une vidéo et la boucler:

https://www.youtube.com/watch?v=eAORm-8b1Eg&start=160&end=180&loop=1
{{#ev:youtube|https://www.youtube.com/watch?v=eAORm-8b1Eg|||||start=160&end=180&loop=1}}

Support des tags VideoLink

La prise en charge des balises de l’extension VideoLink non maintenue a été ajoutée depuis la version 2.5.

À partir de la documentation d’extension originale:

L’extension VideoLink permet d’intégrer des vidéos YouTube dans des articles ; permettant de lire plusieurs vidéos liées dans un seul lecteur vidéo intégré, d’abord affiché lorsqu’un utilisateur clique sur un lien vidéo.

Le <evlplayer /> spécifie où le lecteur doit apparaître dans la page, et la fonction d’analyse {{#vlink}} permet la création de liens qui chargent une vidéo spécifique.

‎<evlplayer> — Crochet pour conteneur vidéo

L’utilisation de la balise ‎<vplayer> est également acceptable ici pour la rétrocompatibilité.

Cette balise ‎<evlplayer> est utilisée pour positionner le conteneur du lecteur vidéo dans la page.

<evlplayer id="player id" w="width" h="height" class="class" style="style">contenu par défaut</evlplayer>

Une vidéo par défaut peut être configurée pour remplir le conteneur par défaut au lieu de contenu par défaut.

<evlplayer id="player1" w="480" h="360" service="youtube" defaultid="eAORm-8b1Eg" />
Attributs requis Défaut Description
id optionnel default Un identifiant unique optionnel pour ce conteneur.
w optionnel 800 Largeur à envoyer au lecteur intégré lors de sa génération.
h optionnel atteindre 16:9 à partir de la largeur Hauteur à envoyer au lecteur intégré lorsqu’il est généré.
class optionnel Classe CSS supplémentaire à ajouter au conteneur ‎<div>.
style optionnel CSS en ligne supplémentaire à appliquer au conteneur ‎<div>.
defaultid optionnel ID vidéo de la vidéo par défaut, si vous voulez une vidéo par défaut.
service optionnel Service de vidéo par défaut, si vous voulez une vidéo par défaut.

Une mise en garde importante à noter est que les attributs w et h n’affectent que la vidéo qui est incluse dans le conteneur ‎<div>, et non le conteneur réel. Pour le style du conteneur, veuillez utiliser les attributs class ou style.

#evl — Fonction Parser pour les liens vidéo

L'utilisation de la fonction d'analyseur {{#vlink}} est également acceptable ici pour la compatibilité descendante.
{{#evl:<identifiant vidéo>|<texte du lien>|<vidéo à lire>|service=youtube|player=<identifiant du player>}}

En plus de tous les attributs pris en charge par la balise #evt, ces attributs spécifiques s'appliquent aux balises #evl (et #vlink). Pour maintenir la compatibilité descendante, si vous ne définissez pas service, alors youtube est pris.

Attributs requis Défaut Description
identifiant video obligatoire none L'ID de la vidéo que vous souhaitez lire ou une liste de vidéos séparées par des virgules à lire. Veuillez noter que l'utilisation de plusieurs ID vidéo séparés par un point-virgule est désormais obsolète.
texte du lien obligatoire none Le texte à afficher à l'intérieur du lien.
vidéo à lire optionnel aucun Le nombre qui représente la vidéo à lire à partir de l'ID vidéo s'il s'agit d'une liste d'ID séparés par des virgules.
identifiant du player optionnel default Conteneur de lecteur pour charger la vidéo. Notez que l’ID default n’existera que si vous avez défini un lecteur sans ID.
vidéo initiale obsolète Dans le VideoLink original, cela définirait la vidéo à lire en premier si plusieurs vidéos étaient définies. Voir les notes sur video id et start'.
debut obsolète 0:00 Dans le VideoLink original, cela définit l’heure de début d’une vidéo. Comme nous prenons en charge plusieurs services vidéo, cette fonctionnalité peut maintenant être répliquée avec le paramètre urlargs. Pour la rétrocompatibilité, cet attribut sera respecté sur les vidéos avec le service youtube.

Exemples de liens video

La création d’une liste vidéo permet à des liens vidéo de créer une liste de lecture à la volée en utilisant le service youtube et youtubevideolist.

Même si vous définissez un service, le système utilisera youtube si une liste de vidéos est fournie.
<evlplayer w="width" h="height" class="class" style="style" id="example-player">contenu par défaut</evlplayer>
{{#evl:21X5lGlDOfg|NASA Live|1|player=example-player}}
{{#evl:lEyCq2KRZik|IIS Q&A|2|player=example-player}}
{{#evl:OLeWbRdW6rY|Space Station Tour|3|player=example-player}}

Services supportés

Depuis la version 2.x, EmbedVideo prend en charge l’intégration de contenu vidéo à partir des services suivants:

Site Nom(s) des services Exemple Identifiant exemples URL Notes
Archive.org Vidéos archiveorg electricsheep-flock-244-80000-6 https://archive.org/embed/electricsheep-flock-244-80000-6
Bambuser bambuser 5262334 http://bambuser.com/v/5262334 Broadcasts
bambuser_channel Canaux
Beam beam RocketBear https://beam.pro/RocketBear flux
Bing bing 31ncp9r7l http://www.bing.com/videos/watch/video/adorable-cats-attempt-to-eat-invisible-tuna/31ncp9r7l
Blip.tv blip http://blip.tv/vinylrewind/review-6864612 Blip nécessite l’URL complète de la page vidéo et n’accepte pas l’ID brut.
C3TV mediacccde 32c3-7305-quantum_cryptography https://media.ccc.de/v/32c3-7305-quantum_cryptography
CollegeHumor collegehumor 6875289 http://www.collegehumor.com/video/6875289/batman-says-his-goodbyes
Dailymotion dailymotion x1adiiw_archer-waking-up-as-h-jon-benjamin_shortfilms http://www.dailymotion.com/video/x1adiiw_archer-waking-up-as-h-jon-benjamin_shortfilms
Daum TVPot tvpot — Obtenez l’URL ou l’ID à partir de l’URL du menu partagé. s9011HdLzYwpLwBodQzCHRB http://tvpot.daum.net/v/s9011HdLzYwpLwBodQzCHRB
Div Share divshare
Edutopia Le contenu d’Edutopia a été transféré sur YouTube. Veuillez utiliser le sélecteur de service YouTube ci-dessous.
FunnyOrDie funnyordie c61fb67ac9 http://www.funnyordie.com/videos/c61fb67ac9/to-catch-a-predator-elastic-heart-edition
Gfycat gfycat BruisedSilentAntarcticfurseal http://www.gfycat.com/BruisedSilentAntarcticfurseal
Hitbox hitbox Washuu http://www.hitbox.tv/Washuu
JW Player jwplayer cr5d8nbu-8ZpoNmmJ https://content.jwplatform.com/players/cr5d8nbu-8ZpoNmmJ.html
Kickstarter kickstarter elanlee/exploding-kittens https://www.kickstarter.com/projects/elanlee/exploding-kittens
Metacafe metacafe 11404579 http://www.metacafe.com/watch/11404579/lan_party_far_cry_4/
Nico Nico Video nico sm24394325 http://www.nicovideo.jp/watch/sm24394325
RuTube rutube b698163ccb67498db74d50cb0f22e556 http://rutube.ru/video/b698163ccb67498db74d50cb0f22e556/
SoundCloud soundcloud https://soundcloud.com/skrillex/skrillex-rick-ross-purple-lamborghini SoundCloud nécessite l’URL complète.
TeacherTube teachertube 370511 http://www.teachertube.com/video/thats-a-noun-sing-along-hd-version-370511
TED Talks ted bruce_aylward_humanity_vs_ebola_the_winning_strategies_in_a_terrifying_war http://www.ted.com/talks/bruce_aylward_humanity_vs_ebola_the_winning_strategies_in_a_terrifying_war
Tubi TV tubitv 318409 http://tubitv.com/video/318409
Tudou tudou mfQXfumwiew http://www.tudou.com/listplay/mfQXfumwiew.html
Twitch twitch twitchplayspokemon http://www.twitch.tv/twitchplayspokemon flux en direct
twitchvod Vidéos archivées sur demande
Videomaten videomaten
Vimeo vimeo 105035718 http://vimeo.com/105035718
Vine vine h2B7WMtuX2t https://vine.co/v/h2B7WMtuX2t
Yahoo Screen (Archived 2013-09-20 at the Wayback Machine) yahoo katy-perry-dances-sharks-2015-024409668 https://screen.yahoo.com/videos-for-you/katy-perry-dances-sharks-2015-024409668.html
YouTube youtube pSsYTj9kCHE https://www.youtube.com/watch?v=pSsYTj9kCHE simples vidéos
youtubeplaylist https://www.youtube.com/watch?v=CW_PbErQ_c8&list=PL76E80C7F756A2047 Playlists
youtubevideolist https://www.youtube.com/watch?v=CW_PbErQ_c8&playlist=CW_PbErQ_c8,CW_PbErQ_c8 liste Video
Youku youku XODc3NDgzMTY4 http://v.youku.com/v_show/id_XODc3NDgzMTY4.html

Installation

  • Téléchargement et placez le(s) fichiers (s) dans un répertoire appelé EmbedVideo dans votre dossier extensions/.
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
    wfLoadExtension( 'EmbedVideo' );
    
  • Configuration requise
  •   Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.

Configuration

Variable Valeur par défaut Type Description
$wgEmbedVideoAddFileExtensions true booléen Activer ou désactiver l’ajout d’extensions de fichiers vidéo/audio à la liste des fichiers admissibles à télécharger.
$wgEmbedVideoEnableVideoHandler true booléen Activez ou désactivez les gestionnaires de supports vidéo pour afficher la vidéo intégrée dans les articles.
$wgEmbedVideoEnableAudioHandler true booléen Activez ou désactivez les gestionnaires de supports audio pour afficher l’audio intégré dans les articles.
$wgEmbedVideoDefaultWidth '' Entier Remplacez globalement la largeur par défaut des lecteurs vidéo. Lorsqu’elle n’est pas définie, elle utilise la largeur par défaut du service vidéo, qui est généralement de 640 pixels.
$wgEmbedVideoMinWidth '' Entier Largeur minimale des lecteurs vidéo. Les largeurs spécifiées ci-dessous seront automatiquement limitées.
$wgEmbedVideoMaxWidth '' Entier Largeur maximale des lecteurs vidéo. Les largeurs spécifiées au-dessus de cette valeur seront automatiquement limitées.
$wgFFmpegLocation '/usr/bin/ffmpeg' chaîne Définissez l’emplacement du binaire ffmpeg.
$wgFFprobeLocation '/usr/bin/ffprobe' chaîne Définissez l’emplacement du binaire ffprobe.

Historique des versions

v2.9.0
  • Fix stored XSS in AudioTransformOutput and VideoTransformOutput.
  • Fix autoResize on mobile.
  • Fix video caption escaping the container.
  • Handle multiple video sizes per page in resize.
  • Move beam service to mixer.
  • Add a default link title for #evl/#vlink.
  • Add spotify playlist embeds.
  • Add facebook video embeds.
  • Fix centering of videos.
  • Add Microsoft Stream service.
  • Add title to iframes.
  • Add API help messages for 1.33 compatibility.
  • Fix static analysis issues.
  • Fix Twitch embeds.
v2.8.0
  • Renamed hitbox.tv to smashcast.tv.
  • Updated Nico Video embed code.
  • Added support for Twitch clips.
  • Fix issues with Twitch VODs.
  • Removed unused $wgFFmpegLocation that was interferring with TimedMediaHandler.
  • Added Polish translation.
v2.7.4
  • Added support for playlist to evlplayer
  • Added support for youtube video list
  • Updated Documentation for evlplayer
  • Added missing dependency for evlplayer in extension.json
v2.7.3
  • Default Twitch VOD to autoplay=false by default
  • Allow videos to be sized in 1:1 aspect ratios for special use cases.
v2.7.2
  • Added feature to evlplayer to allow default video content
v2.7.1
  • Fixed issue with youku videos not embedding properly on https enabled wikis.
v2.7.0
  • Added SoundCloud support
  • Added ability to use service name as a parser tag (if not defined previously)
v2.6.1


Developer notes

The major benefit of using a parser function as the injection mechanism for video clips (as opposed to an extension tag) is that parser functions can utilize template parameters (of the form {{{1}}}).

For example, say you found yourself making a lot of YouTube videos in thumbnail size, right-aligned like an image. You might make a template called Template:Youtube_tn which could contain this:

<div class="thumb tright">
{{#ev:youtube|{{{1}}}|{{{2|100}}}}}
</div>

And then call it like this:

{{youtube tn|someYoutubeId}}

Reporting bugs

There is an issue tracker set up on the GitLab project page.

Contributing

Bug reports, feature requests, and patches are always welcome. New contributors can be added to the GitLab project if there is sufficient interest.

See also

  • Fork of EmbedVideo — A more privacy centric version of this Extension. Note that only YouTube, Spotify, Vimeo and Archive.org is supported, but new services can be requested through GitHub. Moreover every parser function but #ev and the parser tags like <embedvideo>, <youtube> etc. are removed[1]

Weblinks

References