Açık kaynak video dönüştürme programı HandBrake 1.7.0
(forum.handbrake.fr)HandBrake 1.7.0 yükseltme duyurusu
- HandBrake'i güncellemeden önce bekleyen bir kodlama işi olmadığından emin olunması ve özel ön ayarlarla uygulama tercihlerinin yedeklenmesi önerilir.
- Windows kullanıcılarının mutlaka Microsoft .NET Desktop Runtime sürüm 6.0.x kurması gerekir; .NET 7 kurulu olsa bile .NET 6 kurulumu gereklidir.
HandBrake 1.7.0 sürüm notları
- İyileştirmeler ve hata düzeltmelerinin tam listesi GitHub'daki sürüm notlarında görülebilir.
Sorun bildirme ve geri bildirim gönderme
- Yeniden üretilebilen bir hata ya da sorun bulunursa veya geri bildirim vermek istenirse, bunun GitHub issue takipçisi üzerinden iletilmesi isteniyor.
- IRC topluluk destek kanalı üzerinden de iletişime geçilebilir.
- HandBrake uygulaması, boş zamanlarında çalışan küçük bir gönüllü ekip tarafından geliştirildiği için anında yanıt vermek zor olabilir; ancak tüm görüşler incelenir ve yapıcı geri bildirim memnuniyetle karşılanır.
Teşekkürler ve katkılar
- Bu sürümdeki bazı özellikler HandBrake kullanıcıları veya şirketler tarafından sağlandı; çeviriler ise dünya çapındaki gönüllü topluluğun aktif katılımıyla yapıldı.
- Katkıda bulunmakla ilgilenip henüz katılmamış olanların katkı rehberini okuması önerilir.
- Geliştirici olmasanız da katkıda bulunmanın çeşitli yolları vardır.
GN⁺ görüşü
- HandBrake 1.7.0 yükseltmesi, özel ayarların yedeklenmesini ve yeni .NET runtime kurulumunu gerektiriyor.
- Bu güncelleme iyileştirmeler ve hata düzeltmeleri içeriyor; ayrıca kullanıcılar ve şirketlerin katkılarıyla yürütülen topluluk tabanlı bir proje.
- Bu yazı, açık kaynak bir video transcoder'ı olan HandBrake'in yeni sürümünün çıktığını duyuruyor ve teknoloji topluluğu içinde iş birliği ile katkının önemini vurguladığı için ilgi çekici.
1 yorum
Hacker News yorumları
HandBrake'te nihai dosya boyutunu belirtince geri kalanını otomatik hesaplamamasına üzülüyorsanız, hesabın kendisi aslında basit
Ortalama bitrate
[kbps] = hedef boyut [kilobit] ÷ süre [saniye]Örneğin 2 saat 48 dakikalık bir dosyayı 5GB altına indirmek istiyorsanız, 2 saat 48 dakika 10.080 saniyedir ve 5GB da 40.000.000kb olduğundan ortalama bitrate 40.000.000kb ÷ 10.080 saniye = 3.968kbps olur
Ses 256kbps ise ortalama video bitrate'inin 3.712kbps veya altında olması gerekir
Genelde sabit kaliteyle encode edilir ve çıktı boyutu büyük ölçüde giriş videoya bağlıdır
Bu yüzden HandBrakeCLI çıktısını parse eden ve tamamlanma oranı ile mevcut çıktı dosyası boyutuna göre nihai boyutu tahmin eden bir Python wrapper'ı yaptım
Dosya fazla büyüyecek gibi görünürse veya çıktı kalitesi çok kötü olup kalite katsayısını artırmak gerektiği anlaşılırsa erken durdurulabilir
“Put that cocktail down. Your HandBrake encode is complete!” mesajının yıllar geçse de hâlâ duruyor olması hoşuma gidiyor
Eskiden HandBrake hattı 10-bit olduktan sonra bile filtrelerin önemli bir kısmı 8-bit kalmıştı; bu yüzden yanlış filtreyi seçerseniz fark etmeden encode kalitesini düşürmek kolaydı
Şimdi filtrelerin çoğu, belki de hepsi, 10-bit destekliyor gibi görünüyor
Ayrıca FDK-AAC lisansı yüzünden paketlenemediği için yayın sürümündeki AAC codec'i zayıftı, ama bugünlerde o codec'in eskisi kadar kötü olmadığını duydum
Bu iyi uygulamanın mevcut sürümünde hâlâ büyük tuzaklar olup olmadığını merak ediyorum
Yine de asıl mesele insan gücü eksikliği. Olması güzel olur denilen pek çok özellik isteği hâlâ özellik cennetinde bekliyor
Gerçi tüm açık kaynak projelerde durum benzerdir
Bu günlerde ChatGPT'den
ffmpegterminal komutu istemeyi tercih ediyorumHerhangi bir uygulamadan çok daha hızlı ve istediğim gibi ayarlanabiliyor
Deneme yanılma yapmak veya man sayfalarını okumak, HandBrake'te preset seçip kutucuk işaretlemek ya da slider oynatmaktan “çok daha hızlı” sayılmaz
ffprobeçıktısını da koymazsanız öyleKaynak DVD ise en-boy oranı sorunları, deinterlacing, altyazı işleme gibi dikkate alınacak çok şey vardır
ffmpeg, tam da görsel no-code uygulanmış olmasını istediğim tek programArtık herhangi bir man sayfasını gezebileyim diye
--helpbenzeri bir--chatgptseçeneği arar oldumÖzellik listesi güzel görünüyor. Özellikle arm64 / aarch64 / Apple Silicon mimarisindeki performans iyileştirmeleri, güncel FFmpeg ile daha hızlı HEVC decode ve %30 hızlanan bwdif filtresi, yeni SVT-AV1 assembly optimizasyonlarıyla 4 kata kadar performans artışı, gereksiz frame kopyalarını kaldırarak bellek verimliliğini artırıp video dönüştürme hızını iyileştirmesi umut verici
HandBrakeCLI ile ilgili tek şikâyetim, stdin üzerinden pipe edilen girdiyi encode edememesi
FFmpeg bunu destekliyor, HandBrake'in de içeride FFmpeg kullandığını sanıyordum
libavformat,libavcodec,libavfilterkullanıyorYine de tamamen farklı bir uygulama. Decoder'lar, bazı demuxer'lar ve bazı filtreler aynı olsa da bunları birbirine bağlama biçimi FFmpeg komut satırı uygulamasından tamamen farklı
Ya da
handbrake-cli -i <(cat video-file.mp4)gibi Bash sihri işe yarar mı bilmiyorumHandBrakeCLI'yi hiç kullanmadım, yalnızca GUI kullandım, o yüzden emin değilim
Elbette başka bölümlerde FFmpeg kütüphanelerini geniş ölçüde kullanıyor
Sadece bir FFmpeg wrapper'ı olmanın ötesine geçen az sayıdaki transcoder'dan biri; bu da hem avantajı hem dezavantajı
HandBrake'in neden hedef dosya boyutu seçeneğini uygulayamadığını söylediğini basitçe açıklayabilecek biri var mı?
Android video sıkıştırma uygulamalarında bu özellik epey iyi çalışıyor, ama HandBrake GitHub'daki ilgili özellik isteğinde bakımcılardan biri bunun pratikte zor olduğunu söylemişti
ffmpeg/vapoursynthfiltre zincirlerinde bile mümkünBu yüzden neden yapılamadığını anlamak zor
Windows kullanıyorsanız doğrudan Staxrip öneririm: https://github.com/staxrip/staxrip
Linux için vapoursynth tabanlı bir uygulama da var ama adını hatırlamıyorum
Ya da AV1an GUI'lerinden biri olabilir. Bu araçların hepsi, HandBrake'ten çok daha fazla özellikle birlikte hedef dosya boyutunu destekliyor
Neden hâlâ “video X'i dosya boyutu Y ile sınırla” gibi basit bir özellik yok?
Ben sadece 5GB'lık bir video dosyası istiyorum, ama HandBrake sanki benim pek anlamadığım 50 Vimeo preset'inden biriyle daha çok ilgileniyormuş gibi geliyor
5GB, CD'den kesinlikle büyüktür ve Blu-ray'e tam 10 tane sığdırmaya çalışmıyorsanız Blu-ray için fazla küçüktür
Vimeo preset'leri size ne kadar tuhaf görünüyorsa, kullanım senaryonuz da dünyanın geri kalanına o kadar tuhaf görünüyor
HDR videolarla uğraşmak dışında her zaman HandBrake yerine ffmpeg'i tercih ederim
Giriş kaynağından çıktıya HDR metadata kopyalayan uygun bir ffmpeg komutu bulamamıştım
En son kontrol ettiğimde bu mümkün değildi; MediaInfo gibi bir araçla metadata'yı elle çıkarıp sonra her değeri ffmpeg argümanı olarak vermek gerekiyordu
Hâlâ durum böyle mi bilen var mı?
-movflagsveuse_metadata_tagskullandın mı?ffmpeg -i $input_file -movflags use_metadata_tags -crf 22 $output_fileKaynak: https://video.stackexchange.com/a/26076
Biraz daha açarsak, yaygın iki HDR video standardı Dolby Vision ve HDR10. İkisi de kodlayıcının içinde ayrı destek gerektiriyor; bu da
libavformat/ffmpeg'den çoklibx265tarafına yakın bir meseleNeyse ki kaynak video HDR10 ise, küresel olarak değişmeyen aktarım fonksiyonu ve ton eşlemeyi çıkarıp doğrudan çıktı metadata'sına uygulayabilirsin. FFmpeg bu değerleri kodlayıcıya iletebilir, ama varsayılan olarak kaynaktan hedefe kopyalamaz
Yöntemi anlatan yazı burada: https://codecalamity.com/encoding-uhd-4k-hdr10-videos-with-f...
HDR10 olarak kodlanmış bir videoyu metadata'yı koruyarak başka bir biçime yeniden kodladığım oldu; shell geçmişimde kalan son komut kabaca şuydu:
ffmpeg -i Movie-with-HDR.mkv -c:v libx265 -map_metadata:s:0 0:s:0 -map_metadata:g:0 0 -x265-params crf=21:master-display="G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,50)":max-cll=1000,240 Movie-output.mkvBuradaki
master-displayvemax-cllayarları, ilk videodan başka araçlarla çıkarmam gereken renk aktarım fonksiyonuydu. Bu ayarlarlibx265parametre belgelerinde yer alıyor: https://x265.readthedocs.io/en/master/cli.htmlDolby Vision daha zor. Metadata dinamik olduğu için bunu kaynaktan nasıl alabileceğinden emin değilim, ama komut satırı argümanları üzerinden
libx265'e verilebiliyor. Ne yazık ki yalnızca komut satırında erişilebilir ve API'de yok; bu yüzden ffmpeg henüz bunu senin yerine halledemiyorİlgili referanslar olarak, aktarım fonksiyonunu çıkarıp ffmpeg'e verme süreci https://medium.com/@yllanos/how-to-encode-a-4k-hdr-movie-usi... ve https://codecalamity.com/encoding-uhd-4k-hdr10-videos-with-f... içinde var; birkaç kişinin aynı işi derlediği yazı da burada: https://www.reddit.com/r/ffmpeg/comments/g3uucr/how_do_i_enc...
Dolby Vision'dan HDR10'a dönüşüm ile HLG ve PQ hakkında ise https://www.reddit.com/r/ffmpeg/comments/nkxbay/how_to_conve... bağlantısına bakılabilir; Dolby Vision'ın incelikleri de https://www.reddit.com/r/ffmpeg/comments/a32yv4/deleted_by_u... içinde var
Sürüm notunun kendisi daha iyi bir bağlantı olurdu
Çoğu kişinin görmek isteyeceği değişiklik günlüğü orada var
https://github.com/HandBrake/HandBrake/releases/tag/1.7.0