Extension:TimedMediaHandler

From mediawiki.org
Jump to navigation Jump to search
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 extension with Big Buck Bunny as background video.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
  • $wgTmhSoundfontLocation
  • $wgTmhWebPlayer
  • $wgTmhPriorityResolutionThreshold
  • $wgFFmpegVP9RowMT
  • $wgEnableIframeEmbed
  • $wgOggThumbLocation
  • $wgParserTestMediaHandlers
  • $wgTranscodeBackgroundSizeLimit
  • $wgTranscodeBackgroundTimeLimit
  • $wgTmhFluidsynthLocation
  • $wgTimedTextForeignNamespaces
  • $wgEnabledAudioTranscodeSet
  • $wgTmhFileExtensions
  • $wgEnabledTranscodeSet
  • $wgTmhUseBetaFeatures
  • $wgMinimumVideoPlayerSize
  • $wgFFmpegThreads
  • $wgMwEmbedModuleConfig
  • $wgTranscodeBackgroundMemoryLimit
  • $wgEnableLocalTimedText
  • $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. Kaltura HTML5 Oynatıcısı ve deneysel bir VideoJS Oynatıcısı 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.

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

Özelliklere genel bakış

Commons:Zamanlanmış 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.
thumbtime ile küçük resim oluşturma işleminin artık MediaWiki 1.35'ten (minimum) itibaren çalışmadığını unutmayın. görev T294820 sayfasına bakın.
[[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.
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 ve IE9 ve sonraki sürümlerini destekler (MediaWiki'nin destek matrisi bölümünde açıklandığı gibi modern tarayıcılar). Mobil destek, özellikle iOS'ta sivilcelidir.

Ağustos 2015 itibariyle 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 (VP8'in en son sürümüyle) kodlamayı desteklemek için son bir ffmpeg sürümü isteyeceksiniz. MediaWiki'nin eski sürümleriyle ilgili kurulum talimatları için aşağıdaki bölümlere bakın.

  • 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:
    // MediaWiki 1.31 ve üstü
    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.
  • Yes 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ı

VP8'den VP9'a planlanan Wikimedia güncellemesine ilişkin dağıtım ayrıntıları için Extension:TimedMediaHandler/VP9 transition sayfasına bakın.

Bant genişliği katmanına göre sıralanmıştır (grileştirilmiş öğeler şu anda etkin değildir):

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;

// If you want to use the kaltura player
$wgTmhWebPlayer = "mwembed";

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';

MediaWiki'nin eski sürümlerinde (1.29–1.31)

  • Sürüm 1.31, sistem hizmetlileri için kesiliyordu. Uzantı şimdi wfLoadExtension gerektiriyor, MwEmbedSupport uzantıya bağımlılığı bıraktı ve WebVideoTranscode PHP sabitleri artık dize değerleri olarak ifade edildi.
  • MediaWiki 1.31 ve sonraki sürümler için TimedMediaHandler uygulamasına MwEmbedSupport eklenmesine rağmen, bundan önceki MediaWiki sürümleri için arşiv sayfasından indirmeniz gerekeceğini unutmayın.

LocalSettings.php olarak, uzantıyı şununla yükleyin:

// MediaWiki 1.27 - 1.30
wfLoadExtension( 'MwEmbedSupport' );
require_once "$IP/extensions/TimedMediaHandler/TimedMediaHandler.php";

// TimedMediaHandler, 1.30'a kadar MwEmbedSupport'a bağlıydı
// MediaWiki 1.27 ve önceki sürümler
require_once "$IP/extensions/MwEmbedSupport/MwEmbedSupport.php";
require_once "$IP/extensions/TimedMediaHandler/TimedMediaHandler.php";

1.31'den önce, $wgEnabledTranscodeSet şu şekilde ayarlanır:

// 1.31'den önce
$wgEnabledTranscodeSet = [
    WebVideoTranscode::ENC_WEBM_160P,
    WebVideoTranscode::ENC_WEBM_240P,
    WebVideoTranscode::ENC_WEBM_360P,
    WebVideoTranscode::ENC_WEBM_480P,
    WebVideoTranscode::ENC_WEBM_720P,
    WebVideoTranscode::ENC_WEBM_1080P
];

$wgEnabledAudioTranscodeSet = [
    WebVideoTranscode::ENC_OGG_VORBIS,
    WebVideoTranscode::ENC_MP3,
];

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.