Jump to content
MediaWiki

Extension:TimedMediaHandler

From mediawiki.org
This page is a translated version of the page Extension:TimedMediaHandler and the translation is 100% complete.
Příručka k rozšířením MediaWiki
TimedMediaHandler
Stav rozšíření: stabilní
Implementace Média, API
Popis Poskytuje integrovanou podporu pro překódování na straně serveru, WebM, Ogg Theora, Vorbis, MP3, Speex a Timed Text
Autoři Michael Dale, Jan Gerber, Tim Starling, James Heinrich, Brooke Vibber, Derk-Jan Hartman
Nejnovější verze 0.6.0
Zásady kompatibility Vydání snímků současně s MediaWiki. Hlavní vývojová větev není zpětně kompatibilní.
Změny v databázi Ano
Tabulky transcode
Licence GNU General Public License 2.0 nebo novější
Stáhnout
  • $wgMediaAudioTypes
  • $wgMediaVideoTypes
  • $wgTimedTextNS
  • $wgTmhEnableMp4Uploads
  • $wgUseFFmpeg2
  • $wgEnableTranscode
  • $wgTranscodeSoftSizeLimit
  • $wgTmhPriorityResolutionThreshold
  • $wgFFmpegVP9RowMT
  • $wgEnableIframeEmbed
  • $wgParserTestMediaHandlers
  • $wgTranscodeBackgroundSizeLimit
  • $wgTimedTextForeignNamespaces
  • $wgEnabledAudioTranscodeSet
  • $wgTmhSoundfontLocation
  • $wgEnabledTranscodeSet
  • $wgMinimumVideoPlayerSize
  • $wgFFmpegThreads
  • $wgTmhFluidsynthLocation
  • $wgTranscodeBackgroundMemoryLimit
  • $wgTmhFileExtensions
  • $wgFFmpegLocation
  • $wgTmhPriorityLengthThreshold
  • $wgTranscodeBackgroundTimeLimit
  • $wgWaitTimeForTranscodeReset
  • transcode-reset
  • transcode-status
Přeložte rozšíření TimedMediaHandler, používá-li lokalizaci z translatewiki.net
Problémy Otevřené úkoly · Nahlásit chybu

Rozšíření TimedMediaHandler umožňuje zobrazovat zvukové a obrazové soubory na stránkách wiki pomocí stejné syntaxe jako pro soubory image. Obsahuje VideoJS Player. Má podporu pro titulky a popisky (také známé jako Časovaný text), přepínání streamu v reálném čase mezi více WebM a dalšími deriváty a mnoho dalších funkcí. Podpora TMH na straně serveru zahrnuje možnosti pro nahrávání zvuku a videa HTML5, více profilů transkódování pro doručování obsahu, přehrávání souborů MIDI, analýzu metadat pro videa Ogg a WebM a integraci se systémem MediaWiki frontou úloh pro plánování transkódovacích úloh.

Přehled funkcí

Pro přehrávač viz: VideoJS Player.

Funkce titulkového systému naleznete na stránce Commons:Časovaný text.

Syntaxe shrnutí

Kromě syntaxe vložení obrázku podporuje Timed Media Handler:

[[File:Video.ogv]]
Zobrazit video v jeho nominální velikosti. Zobrazí statický obrázek od středu s tlačítkem přehrávání pro spuštění vyskakovacího přehrávače videa.
[[File:Audio.oga]]
Zobrazit zástupný symbol pro zvukový soubor s tlačítkem přehrávání. Přehrávač se zobrazí přímo v textu nebo jako vyskakovací okno, pokud má zvukový soubor skryté titulky.
[[File:Midi.mid]]
Generujte digitální zvuk z hudebních instrukcí v souboru MIDI a ukažte vloženému audio přehrávači, aby tento zvuk přehrál.
[[File:Video.ogv|thumb]]
Zobrazit video v plovoucím poli s miniaturami <gallery>File:Video.ogv</gallery>
Zobrazit video vložené do galerie obrázků (u každého klipu se zobrazí dialogové okno pro celý přehrávač)
[[File:Video.ogg|thumbtime=1:25]]
Jako zástupný obrázek použijte snímek z 1 minuty a 25 sekund videa. Jako posun v sekundách se bere jedno číslo. Lze také použít formát HH:MM:SS, např. 1:02:22 bude 1 hodina, 2 minuty a 22 sekund videa. Sekundy s plovoucí desetinnou čárkou jsou podporovány (ale na wiki stránkách Wikimedie nefungují: phab:T228467).
[[File:Video.ogg|start=1:25]]
Fragmenty časových médií zobrazí videoklip začínající 1 minutou a 25 sekundami videa. Jako posun v sekundách se bere jedno číslo. Můžete také zahrnout čas ukončení ve tvaru end=1:30, což by vedlo k přehrávání klipu o délce 5 sekund od 1:25 do 1:30. Pokud není zadána hodnota thumbtime, bude pro zobrazenou miniaturu použit čas začátku. Lze také použít formát HH:MM:SS, např. 1:02:22 bude 1 hodina, 2 minuty a 22 sekund videa.
Parametry start= a end= lze také použít jako parametry dotazu v URL adrese stránky souboru videa.
[[File:Video.ogg|muted]]
Spusťte média se ztlumeným zvukem. (zavedeno od 1.39)
[[File:Video.ogg|loop]]
Přehrávání videa v nepřetržité smyčce. (zavedeno od 1.39)
Zastaralé
Syntaktická slova noicon a noplayer jsou zastaralá a nefungují. Klíčové slovo disablecontrols bude pravděpodobně zastaralé. (Podívejte se na stránku T135537) Přijímá čárkami oddělený seznam libovolných z následujících hodnot: options, timedText, fullscreen

Zákaznická podpora

Příklad přehrávače videa
Příklad audio přehrávače

[[File:Big Buck Bunny 4K.webm|300px|thumb|...]]
[[File:example.ogg|thumb|...]]
[[File:example.ogg|30px]]
[[File:example.ogg]]

Přehrávač funguje na většině moderních prohlížečů (viz podporovaná matice MediaWiki). Podpora mobilních zařízení je neúplná, zejména na iOS.

TimedMediaHandler obsahuje vložku JavaScriptu pro audio/video Ogg, který funguje v prohlížečích Safari, Internet Explorer 10/11 a Microsoft Edge.

Uživatelé MediaWiki třetích stran mohou také chtít ručně povolit podporu MP4 H.264/AAC pro nativní přehrávání videa a zvuku v Safari/IE/Edge, ale při použití těchto formátů můžete potřebovat patentovou licenci od MPEG-LA pro internetové vysílání.

Instalace

Budete potřebovat novější verzi ffmpeg, abyste mohli podporovat kódování do WebM (s nejnovější verzí VP9).

  • Stáhněte soubor/y a vložte je do adresáře pojmenovaného TimedMediaHandler ve vaší složce extensions/.
    Vývojáři a přispěvatelé kódu by si místo toho měli nainstalovat rozšíření from Git pomocí:
    cdextensions/
    gitclonehttps://gerrit.wikimedia.org/r/mediawiki/extensions/TimedMediaHandler
    
  • Při instalaci z Gitu spusťte Composer pro instalaci závislostí PHP zadáním composer install --no-dev v adresáři rozšíření. (Vyskytnou-li se nějaké komplikace, podívejte se na T173141.)
  • Na konec vašeho souboru LocalSettings.php přidejte následující kód:
    wfLoadExtension( 'TimedMediaHandler' );
    $wgFFmpegLocation = '/usr/bin/ffmpeg'; // Nejběžnější cesta k souboru ffmpeg v Linuxu
    
  • Spusťte aktualizační skript , který automaticky provede všechny nezbytné databázové změny, jaké rozšíření vyžaduje.
  • Vyžaduje nastavení v konfiguračním souboru.
  • Možná budete muset zvýšit povolenou paměť v $wgMaxShellMemory .
  • Yes Dokončeno – Přejděte na stránku Special:Version vaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.

Rozšíření automaticky přidá podporované typy souborů (kromě mp4) do adresáře $wgFileExtensions , takže nemusíte ručně přidávat typy video souborů.

Po stažení tohoto rozšíření mějte prosím na paměti, že vyžaduje Composer .

Takže po instalaci přejděte do adresáře obsahujícího příponu, např. "../extensions/TimedMediaHandler/" a spusťte composer install --no-dev, nebo při aktualizaci: composer update --no-dev.

Alternativně, a nejlépe, přidejte řádek extensions/TimedMediaHandler/composer.json do souboru composer.local.json v kořenovém adresáři vaší wiki, např.

{
"extra":{
"merge-plugin":{
"include":[
"extensions/TimedMediaHandler/composer.json"
]
}
}
}

Porovnání možností kódování médií na Wikipedii

Od roku 2018 používají weby Wikimedie VP9.

Seřazeno podle úrovně šířky pásma:

Bitrate (bitový tok) Mbit/s WebM VP8 WebM VP9
Super Low (super nízký) 0.08 160p
Very Low (velmi nízký) 0.16 160p 240p
Low (nízký) 0.25 240p 360p
Moderate (mírný) 0.5 360p 480p
Medium (středně obtížný) 1.0 480p 720p
High (vysoký) 2.0 720p 1080p
Very high (velmi vysoký) 4.0 1080p 1440p
Super high (super vysoký) 8.0 2160p

Podrobné možnosti:

Název 160P 240P 360P 480P 720P 1080P 160P 240P 360P 480P 720P 1080P 1440P 2160P
Kontejner WebM
Video Kódování VP8 VP9
Maximální šířka (pixely) 288 426 640 854 1280 1920 288 426 640 854 1280 1920 2560 4096
Maximální výška (pixely) 160 240 360 480 720 1080 160 240 360 480 720 1080 1440 2160
Bitový tok (Mbit/s) 0.16 0.25 0.5 1.0 2.0 4.0 0.08 0.16 0.25 0.5 1.0 2.0 4.0 8.0
Audio Kódování Vorbis Opus
Kanály 2 (stereo) (průchozí)
Vzorkovací frekvence (Hz) 44100 48000
Kvalita - 1 2 3 - (výchozí)

Nastavení

Tato stránka je zastaralá.
Byla napsána pro starší verzi MediaWiki a nemusí se vztahovat na nejnovější verzi. Pokud jste zkontrolovali nebo aktualizovali tuto stránku a zjistili jste, že obsah je vhodný, odstraňte toto upozornění.
Tato sekce je zastaralá – prosím o aktualizaci.

Zde jsou některé konfigurační proměnné, které by mohly být užitečné:

// Minimální velikost pro vložený videopřehrávač (menší velikost používá vyskakovací přehrávač).
$wgMinimumVideoPlayerSize = 200;
// Pokud je pro tuto wiki povoleno překódování (pokud je zakázáno, nebudou přidány žádné úlohy překódování a nezobrazí se stav překódování).
// Note: if remote embedding an asset, we will still check if the remote repo has transcoding enabled and associated flavors for that media embed.
$wgEnableTranscode = true;
// Vyloučit úlohy překódování z výchozího spouštěče úloh, protože jejich dokončení trvá velmi dlouho.
$wgJobTypesExcludedFromDefaultQueue[] = 'webVideoTranscode';
$wgJobTypesExcludedFromDefaultQueue[] = 'webVideoTranscodePrioritized';
// Celková doba, kterou může příkaz shellu pro překódování trvat:
$wgTranscodeBackgroundTimeLimit = 3600 * 8;
// Maximální množství virtuální paměti dostupné pro procesy překódování v KB
$wgTranscodeBackgroundMemoryLimit = 2 * 1024 * 1024; // 2 GB zdrojů avconv, ffmpeg2theora mmap, takže virtuální paměť musí být dostatečně velká
// Maximální velikost souboru, kterou mohou procesy překódování vytvořit, v KB
$wgTranscodeBackgroundSizeLimit = 3 * 1024 * 1024; // 3GB
// Počet vláken, které se mají v avconv použít pro překódování
$wgFFmpegThreads = 1;
// The NS for TimedText (registered on MediaWiki.org)
// https://www.mediawiki.org/wiki/Extension_namespace_registration
// Note commons pre-dates TimedMediaHandler and should set $wgTimedTextNS = 102 in LocalSettings.php
$wgTimedTextNS = 710;
// Set TimedText namespace for ForeignDBViaLBRepo on a per wikiID basis
// $wgTimedTextForeignNamespaces = [ 'commonswiki' => 102 ];
$wgTimedTextForeignNamespaces = [];
/**
* Výchozí povolené překódování
*
* -Pokud je nastaveno na prázdné pole, nebudou vytvořeny žádné derivace.
* -Nastavení kódování derivačních klíčů je definováno v WebVideoTranscode.php.
*
* -Tyto transkódy jsou *navíc* ke zdrojovému souboru.
* -Budou vytvořeny pouze deriváty s menší šířkou než je velikost zdrojového aktiva.
* -Bez ohledu na velikost zdroje bude z adresáře $wgEnabledTranscodeSet vytvořen alespoň jeden zdroj WebM a Ogg.
* -Odvozené úlohy se přidávají do fronty úloh MediaWiki při prvním nahrání datového zdroje.
* -Derivát by měl být uveden od min do max
*/
// Počínaje 1.31
// Všechny platné řetězcové hodnoty jsou uvedeny v souboru rozšíření extension.json. 
$wgEnabledTranscodeSet = [
 '160p.webm' => true,
 '240p.webm' => true,
 '360p.webm' => true,
 '480p.webm' => true,
 '720p.webm' => true,
 '1080p.webm' => true,
];
$wgEnabledAudioTranscodeSet = [
	'ogg' => true, // ogg+vorbis
	'opus' => false, // ogg+opus
	'mp3' => true, // raw mp3
	'm4a' => false, // mp4+aac (mp4a.40.5)
];
// Pokud lze angažovat zdrojové soubory mp3:
$wgTmhEnableMp3Uploads = true;
// Pokud lze angažovat zdrojové soubory mp4:
$wgTmhEnableMp4Uploads = false;
// If you use ffmpeg 2, it can be set to true
$wgUseFFmpeg2 = false;

Pro překódování se ujistěte, že máte dostatečně velké hodnoty $wgMaxShellMemory, $wgMaxShellTime a $wgMaxShellFileSize, aby bylo možné spustit úlohy kódování a uložit výstup. Výchozí hodnoty jsou s největší pravděpodobností příliš nízké.

Spouštění úloh překódování

Protože úlohy překódování jsou náročné na zdroje, neměly by být spouštěny jako součást běžné fronty úloh (viz TT29336). Nastavit Localsettings.php pomocí:

$wgJobTypesExcludedFromDefaultQueue[] = 'webVideoTranscode';
$wgJobTypesExcludedFromDefaultQueue[] = 'webVideoTranscodePrioritized';

Setup dedicated jobrunners and request running the jobs by the --type argument:

php./maintenance/run.phprunJobs--typewebVideoTranscode
php./maintenance/run.phprunJobs--typewebVideoTranscodePrioritized

Je velmi důležité spouštět tyto úlohy jako uživatel webového serveru.

Jedna úloha překódování videa může snadno trvat hodinu nebo i déle, proto se ujistěte, že příkazy mají dostatek času a výkonu CPU ke spuštění.

Kódování uzlů

Pro překódování velkého množství videí můžete chtít spustit více kódovacích uzlů, které se připojují k hlavní databázi a přímo přistupují k úložišti souborů. Budete muset nainstalovat ffmpeg.

Minimální instalace v Debianu a Ubuntu

aptinstallffmpeg

Navíc k vašemu LocalSettings.php přidejte toto (testováno pouze pro Devuan ASCII (Archived 2018年09月23日 at the Wayback Machine)):

$wgFFmpegLocation = '/usr/bin/ffmpeg';

Izolace shellboxu

Z bezpečnostních důvodů běží ffmpeg v izolovaném kontejneru s využitím Shellboxu na Wikimedii. Pokud chcete emulovat nastavení Wikimedie, včetně verze pro Debian, závislostí atd., budete potřebovat jejich obraz Dockeru. Pro konfiguraci MediaWiki pro využití vašich uzlů Shellbox použijte $wgShellboxUrls .

Samozřejmě si také můžete vytvořit vlastní obraz Dockeru.

$ dockerpulldocker-registry.wikimedia.org/wikimedia/mediawiki-libs-shellbox:video

Řešení problémů

Tato sekce potřebuje rozšíření

Upozorňujeme, že verze TimedMediaHandler před MediaWiki 1.38 nefungovaly s PostgreSQL. Podívejte se na stránku T157424.

ffmpeg – nepodařilo se namapovat segment ze sdíleného objektu
Musíte zvýšit povolenou paměť v $wgMaxShellMemory .
Třída 'getID3' nenalezena
Je nutné nainstalovat závislosti rozšíření v PHP pomocí Composeru. Viz sekce instalace.
Nerozpoznaná možnost 'max_muxing_queue_size'
Možná používáte ffmpeg 2. K vašemu LocalSettings.php musíte přidat $wgUseFFmpeg2 = true;.
Nerozpoznaná možnost 'max_muxing_queue_size'
Možná používáte ffmpeg 2. K vašemu LocalSettings.php musíte přidat $wgUseFFmpeg2 = true;.
[exception] [...] /index.php?title=Special:Upload Error: Call to undefined method FSFile::getLocalRefPath()
Toto rozšíření je nekompatibilní s Rozšíření:EmbedVideo . Odinstalujte ho. Možná se také budete muset ujistit, že jste správně provedli kroky na composeru.

Související odkazy

Toto rozšíření se používá na jednom nebo více projektech Wikimedia. Pravděpodobně to znamená, že rozšíření je stabilní a funguje dostatečně dobře, aby jej mohly používat weby s tak vysokou návštěvností. Vyhledejte tento název rozšíření v konfiguračních souborech CommonSettings.php a InitialiseSettings.php Wikimedie, abyste viděli, kde je nainstalováno. Úplný seznam rozšíření nainstalovaných na konkrétní wiki lze vidět na stránce wiki Special:Version.
Toto rozšíření je zahrnuto v následujících wiki farmách/hostitelích a/nebo balíčcích: Toto není autoritativní seznam. Některé wiki farmy/hostitelé a/nebo balíčky mohou toto rozšíření obsahovat, i když zde nejsou uvedeny. Pro potvrzení se vždy obraťte na své wiki farmy/hostitele nebo balíček.

AltStyle によって変換されたページ (->オリジナル) /