MKV yi MP4’e Çevirme – (Alt Yazılı) – PHP-LINUX
İki haftadır üzerinde çalıştığımız bir projede karşımıza çıkan önemli bir sorundu;
Sorun yaklaşık 30-40 TB lık mkv dosyalarını mp4 formatına yani webden izlenebilecek formata çevirmekti.
Linux sunucu üzerinde bulunan birden fazla alt yazısına sahip ve birden fazla ses dosyasına sahip bir mkv formatındaki dosyayı alt yazı videonun üzerine yakılacak şekilde (İngilizcesi softsub to hardsub) yapmak için kullandığımız yöntemi anlatıyım.
Öncelikle FFMPeg,mkvmerge tarzı linux tabanlı file converterlar ile bu işlem sıkıntılı ve denediğim tüm kodlarda sıkıntı çıktı.. Linux ve windowsta sorunsuz olarak alt yazıyı videonun üzerine yakan tek program galiba Handbrake..
Handbrake programının linux tabanlı olarak CLI yani komut olarak kullanma şansımız vardı.
HandbrakeCLI kurulumunu öncelike linux sunucuda;
1 2 3 4 5 6 7 8 |
sudo apt-get install ubuntu-restricted-extras sudo apt-get install libdvdread4 sudo /usr/share/doc/libdvdread4/install-css.sh sudo apt-get install python-software-properties sudo apt-add-repository ppa:stebbins/handbrake-snapshots sudo apt-get update sudo apt-get install handbrake-cli sudo apt-get install handbrake-gtk |
şeklinde kurarak;
PHP Exec ile;
1 2 |
$cektinmi = exec("/usr/local/bin/HandBrakeCLI -i {$eskivideo} -o {$lahmacunolsun} -e x264 -q 22 -r 15 -B 64 -O -a 2 -F --subtitle 1 --subtitle-burn",$nedirabi); var_dump($nedirabi); |
şeklinde kullandık.
Kısaca;
1 |
-a 2 -F --subtitle 1 --subtitle-burn |
Bu kısım bizim için önemliydi diğer kısımları ffmpeg üzerinden yapabiliyorduk ama;
-a 2 diyerek 2.ses dosyasını (Eng ve Japonca) seçebiliyorduk.
-F –subtitle 1 (birden fazla olan ENG,JAP ve çince) dil dosyalarından ilkini seçtik.
ve –subtitle-burn seçeneği ile alt yazı dosyasını videoda yakarak alt yazı olmaktan çıkartıp artık videonun üzerine bastık.
—–
Ortalama 250 mb olan ve içerisinde fontlar,birden fazla dil ve ses seçeneği olan videolar 80-90 mb gibi bir boyuta düştü.
Yer tasarrufu ve alt yazı entegrasyonu konusunda oldukça iyi bir program..
handbrake cli ,handbrake kullanımı ,handbrake php cli ,linux handbrake kurulumu ,mkv den mp4 e çevirme PHP ,mkv to mp4 with subtitle php
Bir Cevap Yazın