Extension:TimedMediaHandler

This page is a translated version of the page Extension:TimedMediaHandler and the translation is 100% complete.
MediaWiki manüel uzantıları
OOjs UI icon advanced-invert.svg
TimedMediaHandler
Sürüm durumu: kararlı
Screenshot of TimedMediaHandler using VideoJS with Big Buck Bunny.png
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, Brion 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.38.0
Veritabanı değişiklikleri Evet
Tablolar transcode
Lisans GNU Genel Kamu Lisansı 2.0 veya üstü
İndir
  • $wgMediaAudioTypes
  • $wgMediaVideoTypes
  • $wgWaitTimeForTranscodeReset
  • $wgEnableNiceBackgroundTranscodeJobs
  • $wgTmhEnableMp4Uploads
  • $wgUseFFmpeg2
  • $wgEnableTranscode
  • $wgTmhPriorityResolutionThreshold
  • $wgFFmpegVP9RowMT
  • $wgEnableIframeEmbed
  • $wgParserTestMediaHandlers
  • $wgTranscodeBackgroundSizeLimit
  • $wgTranscodeBackgroundTimeLimit
  • $wgEnabledAudioTranscodeSet
  • $wgTmhSoundfontLocation
  • $wgTmhFileExtensions
  • $wgTimedTextForeignNamespaces
  • $wgMinimumVideoPlayerSize
  • $wgFFmpegThreads
  • $wgTmhFluidsynthLocation
  • $wgTranscodeBackgroundMemoryLimit
  • $wgEnabledTranscodeSet
  • $wgFFmpegLocation
  • $wgTmhPriorityLengthThreshold
  • $wgTimedTextNS
  • $wgTranscodeBackgroundPriority
  • transcode-reset
  • transcode-status
Translatewiki.net adresinde mevcutsa, TimedMediaHandler uzantısını çevirin

Kullanım ve sürüm matrisini kontrol edin.

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, see Extension:TimedMediaHandler/2022 work.

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

Ö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|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|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.
[[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 end=1:30 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. 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ı
İlerleme çubuğunu gösteren daha geniş ses oynatıcı

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.
  • 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 embed 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;

// The total amout 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 = array( 'commonswiki' => 102 );
$wgTimedTextForeignNamespaces = array();

/**
* 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 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 can be set it 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 --type bağımsız değişkeni tarafından istenmeleri gerekir:

php maintenance/runJobs.php --type webVideoTranscode

Bu komutu çalıştırmak sonsuza kadar askıda kalmasına neden oluyorsa, LocalSettings.php içinde $wgTranscodeBackgroundTimeLimit = 0; ayarlamanız gerekebilir. görev T206957 sayfasına bakın.

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