Extension:TimedMediaHandler

This page is a translated version of the page Extension:TimedMediaHandler and the translation is 81% complete.
Outdated translations are marked like this.
MediaWiki manüel uzantıları
TimedMediaHandler
Sürüm durumu: kararlı
Uygulama Medya, API
Açıklama Sunucu tarafı kod dönüştürme, WebM, Ogg Theora, Vorbis, MP3, Speex ve Timed Text için entegre destek sağlar
Yazar(lar) Michael Dale, Jan Gerber, Tim Starling, James Heinrich, Brooke Vibber, Derk-Jan Hartman
En son sürüm 0.6.0
Uyumluluk politikası MediaWiki ile birlikte anlık görüntüler yayımlanır. Master geriye dönük olarak uyumlu değil.
MediaWiki >= 1.43
Veritabanı değişiklikleri Evet
Tablolar transcode
Lisans GNU Genel Kamu Lisansı 2.0 veya üstü
İndir
  • $wgMediaAudioTypes
  • $wgMediaVideoTypes
  • $wgWaitTimeForTranscodeReset
  • $wgTmhEnableMp4Uploads
  • $wgUseFFmpeg2
  • $wgEnableTranscode
  • $wgTranscodeSoftSizeLimit
  • $wgTmhPriorityResolutionThreshold
  • $wgFFmpegVP9RowMT
  • $wgEnableIframeEmbed
  • $wgParserTestMediaHandlers
  • $wgTranscodeBackgroundSizeLimit
  • $wgTranscodeBackgroundTimeLimit
  • $wgEnabledAudioTranscodeSet
  • $wgTmhSoundfontLocation
  • $wgEnabledTranscodeSet
  • $wgMinimumVideoPlayerSize
  • $wgFFmpegThreads
  • $wgTmhFluidsynthLocation
  • $wgTranscodeBackgroundMemoryLimit
  • $wgTmhFileExtensions
  • $wgFFmpegLocation
  • $wgTmhPriorityLengthThreshold
  • $wgTimedTextForeignNamespaces
  • $wgTimedTextNS
  • transcode-reset
  • transcode-status
Quarterly downloads 190 (Ranked 30th)
Public wikis using 1,290 (Ranked 218th)
Translatewiki.net adresinde mevcutsa, TimedMediaHandler uzantısını çevirin
Sorunlar Açık görevler · Hata bildir

TimedMediaHandler uzantısı, resim dosyalarıyla aynı sözdizimini kullanarak ses ve video dosyalarını viki sayfalarında görüntülemenizi sağlar. VideoJS Oynatıcı içerir. Birden fazla WebM ile diğer türevler ve diğer birçok özellik arasında altyazı (Zamanlı Metin olarak da bilinir) ve gerçek zamanlı akış geçişi desteği vardır. TMH sunucu tarafı desteği, HTML5 ses ve video yükleme seçenekleri, içerik sunmak için birden fazla kod dönüştürme profili, MIDI dosyalarının oynatılması, Ogg ve WebM videoları için meta veri ayrıştırma ve kod dönüştürme işlerini planlamak için MediaWiki'nin jobQueue sistemi ile entegrasyon içerir.

For new and upcoming developments in 2022 and beyond, see Extension:TimedMediaHandler/2022 work.

Özelliklere genel bakış

Oynatıcı için bakınız: VideoJS Oynatıcı.

Altyazı sisteminin özellikleri için Commons:Zamanlı Metin sayfasına bakın.

Sözdizimi özeti

Resim yerleştirme sözdizimi uygulamasına ek olarak, Zamanlı Medya İşleyicisi şunları destekler:

[[File:Video.ogv]]
Bir videoyu nominal boyutunda görüntüleyin. Gömülü bir oynatıcıyı başlatmak için oynat düğmesiyle orta noktadan hareketsiz resim görüntüler.
[[File:Audio.oga]]
Gömülü bir oynatıcıyı başlatmak için oynat düğmesiyle ses dosyası için yer tutucu gösterin. The player will appear inline or as a pop-up if the audio file has closed captioning/subtitles.
[[File:Midi.mid]]
MIDI dosyasındaki müzik talimatlarından dijital ses üretin ve bu sesi çalmak için gömülü ses oynatıcıyı gösterin.
[[File:Video.ogv|thumb]]
Videoyu kayan küçük resim kutusunda göster <gallery>File:Video.ogv</gallery>
Resim galerisine katıştırılmış bir videoyu göster (her klip tüm oynatıcı için bir iletişim kutusu açar)
[[File:Video.ogg|thumbtime=1:25]]
Yer tutucu resmini olarak videoya 1 dakika 25 saniyeden bir kare kullanın. Tek bir sayı, saniye olarak ofset olarak alınır. Ayrıca SS:DD:SS, ör. 1:02:22 videoya 1 saat, 2 dakika ve 22 saniye olacak. Kayan noktalı saniyeler desteklenir (ancak Wikimedia vikilerinde bozuk: phab:T228467).
[[File:Video.ogg|start=1:25]]
Geçici medya parçaları videonun 1 dakika 25. saniyesinden başlayan bir video klip görüntüler. Tek bir sayı, saniye cinsinden ofset olarak alınır. Ayrıca $1 formunun bitiş zamanını da ekleyebilirsiniz. Bu, 1:25 ile 1:30 arasında 5 saniyelik bir klibin oynatılmasına neden olur. Küçük resim zamanı sağlanmazsa, görüntülenen küçük resim için başlangıç zamanı kullanılacaktır. A single number is taken as an offset in seconds. You can also include an end time of the form end=1:30 which would result in a clip of 5 seconds playing from 1:25 to 1:30. If thumbtime is not provided, the start time will be used for the displayed thumbnail. Ayrıca SS:DD:SS, ör. 1:02:22 videoya 1 saat, 2 dakika ve 22 saniye olacak.
start= ve end=, bir videonun dosya sayfasının URL'sinde sorgu parametreleri olarak da kullanılabilir.
[[File:Video.ogg|muted]]
Medyayı sessiz sesle başlatın. (1.39 sürümünde tanıtıldı)
[[File:Video.ogg|loop]]
Videoyu sürekli olarak döngüye alın. (1.39 sürümünde tanıtıldı)
Kullanımdan kaldırıldı
noicon ve noplayer sözdizimi kelimeleri kullanımdan kaldırılmıştır ve çalışmaz. Devre dışı bırakma denetimleri anahtar kelimesi kullanımdan kaldırılacaktır. (görev T135537 sayfasına bakın) Aşağıdaki değerlerden herhangi birinin virgülle ayrılmış bir listesini alır: options, timedText, fullscreen


İstemci desteği

Örnek video oynatıcı
Örnek ses oynatıcı

[[File:Videoonwikipedia.ogv|300px|thumb|...]]
[[File:example.ogg|thumb|...]]
[[File:example.ogg|30px]]
[[File:example.ogg]]

Oynatıcı çoğu modern tarayıcıda çalışır (MediaWiki'nin destek matrisine bakın). Mobil destek, özellikle iOS'ta sivilcelidir.

TimedMediaHandler, Safari, Internet Explorer 10/11 ve Microsoft Edge tarayıcılarında çalışan Ogg ses/video için bir JavaScript uyumluluk şim içerir.

MediaWiki'nin üçüncü taraf kullanıcıları, Safari/IE/Edge'de yerel video ve ses oynatma için MP4 H.264/AAC desteğini elle etkinleştirmek isteyebilir, ancak bu formatları kullanırken internet yayını için MPEG-LA'dan bir patent lisansına ihtiyacınız olabilir.

Kurulum

WebM'ye (VP9'un en son sürümüyle) kodlamayı desteklemek için son bir ffmpeg sürümü isteyeceksiniz.

  • Dosyaları indirin ve extensions/ klasörünüzdeki TimedMediaHandler adlı dizine yerleştirin.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/TimedMediaHandler
  • Yalnızca git dizininden yüklerken, PHP bağımlılıklarını uzantı dizinine composer install --no-dev vererek yüklemek için Composer komutunu çalıştırın. (Potansiyel komplikasyonlar için görev T173141 sayfasına bakınız.)
  • LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
    wfLoadExtension( 'TimedMediaHandler' );
    $wgFFmpegLocation = '/usr/bin/ffmpeg'; // Linux'ta en yaygın ffmpeg yolu
    
  • Bu uzantının ihtiyaç duyduğu gerekli veritabanı tablolarını otomatik olarak oluşturacak betik güncelleme komutunu çalıştırın.
  • Gerektiği gibi yapılandırın.
  • İzin verilen belleği $wgMaxShellMemory olarak artırmanız gerekebilir.
  •   Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.

Uzantı, $wgFileExtensions klasörüne otomatik olarak desteklenen dosya türlerini (mp4 hariç) ekleyecektir, bu nedenle video dosyası türlerini elle eklemenize gerek yoktur.

Bu uzantıyı indirdikten sonra, Composer gerektirdiğini lütfen unutmayın.

Bu nedenle, kurulumdan sonra uzantıyı içeren dizine geçin, ör. "../extensions/TimedMediaHandler/" ve composer install --no-dev komutunu çalıştırırken veya güncellerken: composer update --no-dev.

Alternatif olarak, ayrıca "extensions/TimedMediaHandler/composer.json" vikinizin kök dizinindeki "composer.local.json" dosyasına, ör.

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

Vikipedi medya kodlama seçeneklerinin karşılaştırılması

2018 itibariyle, Wikimedia siteleri VP9'u kullanıyor.

Bant genişliği katmanına göre sıralanmış:

Biz hızı Mbit/sn WebM VP8 WebM VP9
Süper Düşük 0.08 160p
Çok Düşük 0.16 160p 240p
Düşük 0.25 240p 360p
Normal 0.5 360p 480p
Orta 1.0 480p 720p
Yüksek 2.0 720p 1080p
Çok yüksek 4.0 1080p 1440p
Süper yüksek 8.0 2160p

Ayrıntılı seçenekler:

Ad 160P 240P 360P 480P 720P 1080P 160P 240P 360P 480P 720P 1080P 1440P 2160P
Konteyner WebM
Video Kodlama VP8 VP9
Maksimum genişlik (pikseller) 288 426 640 854 1280 1920 288 426 640 854 1280 1920 2560 4096
Maksimum yükseklik (pikseller) 160 240 360 480 720 1080 160 240 360 480 720 1080 1440 2160
Bit hızı (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
Ses Kodlama Vorbis Opus
Kanallar 2 (stereo) (pass-through)
Örnekleme oranı (Hz) 44100 48000
Kalite - 1 2 3 - (default)

Yapılandırma

Bu bölüm eski, lütfen beni güncelleyin

Yararlı olabilecek bazı yapılandırma değişkenleri şunlardır:

// The minimum size for an embedded video player (smaller than this size uses a pop-up player).
$wgMinimumVideoPlayerSize = 200;

// If transcoding is enabled for this wiki (if disabled, no transcode jobs are added, and no transcode status is displayed).
// 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;

// Exclude transcoding jobs from the default job runner because they take very long to complete
$wgJobTypesExcludedFromDefaultQueue[] = 'webVideoTranscode';
$wgJobTypesExcludedFromDefaultQueue[] = 'webVideoTranscodePrioritized';

// The total amount of time a transcoding shell command can take:
$wgTranscodeBackgroundTimeLimit = 3600 * 8;
// KB cinsinden kod dönüştürme işlemleri için kullanılabilen maksimum sanal bellek miktarı
$wgTranscodeBackgroundMemoryLimit = 2 * 1024 * 1024; // 2GB avconv, ffmpeg2theora mmap resources so virtual memory needs to be high enough
// Maximum file size transcoding processes can create, in KB
$wgTranscodeBackgroundSizeLimit = 3 * 1024 * 1024; // 3GB

// Number of threads to use in avconv for transcoding
$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 = [];

/**
* Default enabled transcodes
*
* -If set to empty array, no derivatives will be created
* -Derivative keys encode settings are defined in WebVideoTranscode.php
*
* -These transcodes are *in addition to* the source file.
* -Only derivatives with a smaller width than the source asset size will be created
* -Regardless of source size, at least one WebM and Ogg source will be created from the $wgEnabledTranscodeSet
* -Derivative jobs are added to the MediaWiki JobQueue the first time the asset is uploaded
* -Derivative should be listed min to max
*/
// Starting from 1.31
// All valid string values are listed in the extension's extension.json file 
$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)
];

// If mp3 source assets can be ingested:
$wgTmhEnableMp3Uploads = true;

// If mp4 source assets can be ingested:
$wgTmhEnableMp4Uploads = false;

// If you use ffmpeg 2, it can be set to true
$wgUseFFmpeg2 = false;

Kod dönüştürme için $wgMaxShellMemory, $wgMaxShellTime, $wgMaxShellFileSize öğesinin kodlama işlerinin çalışmasına ve çıkış kaydetmesine izin verecek kadar büyük olduğundan emin olun. Varsayılan değerler büyük olasılıkla çok düşüktür.

Kod dönüştürme işlerini çalıştırma

Kod dönüştürme işleri kaynak yoğun olduğundan, normal iş kuyruğunun bir parçası olarak çalışmazlar (görev T29336 sayfasına bakın) Bunun yerine $2 bağımsız değişkeni tarafından istenmeleri gerekir: Configure Localsettings.php with:

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

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

php ./maintenance/run.php runJobs --type webVideoTranscode
php ./maintenance/run.php runJobs --type webVideoTranscodePrioritized

It is very important to run these tasks as the webserver user.

A single transcode job for a video can easily take an hour or longer, so ensure the commands have enough time and CPU to run.

Kodlama düğümleri

Birçok videoyu dönüştürmek için ana db'ye bağlanan ve doğrudan dosya deponuza erişen birden fazla kodlama düğümü çalıştırmak isteyebilirsiniz. Ffmpeg'yi kurmanız gerekecek.

Debian ve Ubuntu altında minimum kurulum

apt install ffmpeg

Ayrıca, bunu LocalSettings.php dosyanıza ekleyin (yalnızca Devuan ASCII (Archived 2018-09-23 at the Wayback Machine) için test edilmiştir):

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

Sorun giderme

Bu bölümün genişletilmesi gerekiyor

Lütfen TimedMediaHandler'ın şu anda PostgreSQL ile çalışmadığını unutmayın. görev T157424 sayfasına bakın.

ffmpeg – paylaşılan nesneden segment eşlenemedi
İzin verilen belleği $wgMaxShellMemory olarak artırmanız gerekir.
'getID3' sınıfı bulunamadı
Composer kullanarak uzantının PHP bağımlılıklarını yüklemeniz gerekir, yukarıdaki Kurulum bölümüne bakın.
Tanınmayan 'max_muxing_queue_size' seçenek
ffmpeg 2 kullanıyor olabilirsiniz. LocalSettings.php dosyanıza $wgUseFFmpeg2 = true; eklemeniz gerekiyor.
Unrecognized option 'max_muxing_queue_size'
You may be using ffmpeg 2. You need add $wgUseFFmpeg2 = true; to your LocalSettings.php.
[exception] […] /index.php?title=Special:Upload Error: Call to undefined method FSFile::getLocalRefPath()
This extension is incompatible with Extension:EmbedVideo . Uninstall it. You may also need to make sure you did the composer steps properly.

See also