3 poin oleh GN⁺ 2023-11-21 | 1 komentar | Bagikan ke WhatsApp

Panduan peningkatan HandBrake 1.7.0

  • Sebelum memperbarui HandBrake, pastikan tidak ada proses encoding yang tertunda, dan disarankan untuk mencadangkan preset kustom serta pengaturan aplikasi.
  • Pengguna Windows wajib memasang Microsoft .NET Desktop Runtime versi 6.0.x, dan meskipun .NET 7 sudah terpasang, instalasi .NET 6 tetap diperlukan.

Catatan rilis HandBrake 1.7.0

  • Daftar lengkap peningkatan dan perbaikan bug dapat dilihat di catatan rilis GitHub.

Pelaporan masalah dan pemberian umpan balik

  • Jika menemukan bug atau masalah yang dapat direproduksi, atau ingin memberikan umpan balik, diminta untuk melaporkannya melalui pelacak isu GitHub.
  • Kontak juga dapat dilakukan melalui saluran dukungan komunitas IRC.
  • Aplikasi HandBrake dikembangkan oleh tim kecil sukarelawan di waktu luang mereka, sehingga tanggapan langsung mungkin sulit diberikan, tetapi semua masukan akan ditinjau dan umpan balik yang konstruktif sangat dihargai.

Ucapan terima kasih dan kontribusi

  • Sebagian fitur dalam rilis ini diberikan oleh pengguna atau perusahaan yang mendukung HandBrake, dan terjemahan diwujudkan melalui partisipasi aktif komunitas sukarelawan di seluruh dunia.
  • Bagi yang tertarik berkontribusi tetapi belum ikut serta, disarankan untuk membaca panduan kontribusi.
  • Ada berbagai cara untuk berkontribusi meskipun Anda bukan pengembang.

Opini GN⁺

  • Peningkatan ke HandBrake 1.7.0 memerlukan pencadangan pengaturan kustom dan pemasangan runtime .NET baru.
  • Pembaruan ini mencakup peningkatan dan perbaikan bug, serta merupakan proyek berbasis komunitas yang terwujud berkat kontribusi pengguna dan perusahaan.
  • Artikel ini menyampaikan kabar peluncuran versi baru HandBrake, transcoder video open source, dan menarik karena menekankan pentingnya kolaborasi dan kontribusi dalam komunitas teknologi.

1 komentar

 
GN⁺ 2023-11-21
Pendapat di Hacker News
  • Kalau Anda merasa sayang karena HandBrake tidak otomatis menghitung sisanya saat menentukan ukuran file akhir, perhitungannya sendiri sederhana
    Bitrate rata-rata [kbps] = ukuran target [kilobit] ÷ durasi [detik]
    Misalnya, untuk membuat file berdurasi 2 jam 48 menit menjadi di bawah 5GB, 2 jam 48 menit adalah 10.080 detik dan 5GB adalah 40.000.000kb, jadi bitrate rata-ratanya menjadi 40.000.000kb ÷ 10.080 detik = 3.968kbps
    Jika audio 256kbps, maka bitrate video rata-rata harus 3.712kbps atau kurang

    • Perhitungan ini hanya tepat saat encoding dengan bitrate konstan
      Biasanya encoding dilakukan dengan kualitas konstan, dan ukuran output sangat bergantung pada video input
      Jadi saya membuat wrapper Python untuk mem-parse output HandBrakeCLI, lalu memperkirakan ukuran akhir berdasarkan persentase selesai dan ukuran file output saat ini
      Jika sepertinya file akan menjadi terlalu besar, atau kualitas output terlalu buruk sehingga faktor kualitas perlu dinaikkan, proses bisa dihentikan lebih awal
  • Rasanya menyenangkan karena pesan “Put that cocktail down. Your HandBrake encode is complete!” tetap ada meski waktu terus berlalu

    • Saya suka detail seperti ini. Rasanya seperti sedikit mengembalikan jiwa atau hantu semacam itu ke dalam mesin
  • Dulu, bahkan setelah pipeline HandBrake menjadi 10-bit, cukup banyak filternya masih 8-bit, sehingga jika memilih filter yang salah, kualitas encoding mudah turun tanpa disadari
    Sekarang tampaknya sebagian besar, mungkin semua, filter sudah mendukung 10-bit
    Selain itu, karena lisensi FDK-AAC, codec itu tidak bisa dibundel sehingga codec AAC pada versi rilis dulunya kalah, tapi belakangan saya dengar codec itu tidak seburuk dulu
    Saya penasaran apakah masih ada jebakan besar pada versi terbaru aplikasi bagus ini

    • Sejak 1.6, semua filter mendukung kedalaman bit tinggi. Kualitas encoder AAC juga sekarang cukup bagus, dan di macOS bisa memakai encoder AAC milik Apple, jadi itu bukan masalah
      Bagaimanapun, masalah utamanya adalah kurangnya tenaga. Banyak fitur yang akan bagus jika ada masih berhenti di surga fitur
      Mungkin semua proyek open source juga mirip begitu
  • Belakangan saya meminta ChatGPT memberi perintah terminal ffmpeg
    Jauh lebih cepat daripada aplikasi apa pun dan bisa disesuaikan sesuai keinginan

    • Cukup klik file, pilih “open with handbrake”, lalu tekan “convert”. Saya tidak bisa membayangkan ada yang lebih cepat dari itu
    • “Bisa disesuaikan sesuai keinginan” berarti benar-benar memahami opsi ffmpeg dan interaksinya
      Sulit mengatakan bahwa mencoba-coba atau membaca halaman manual itu “jauh lebih cepat” daripada memilih preset di HandBrake lalu mencentang kotak atau menggeser slider
    • Namun ChatGPT tidak tahu format file. Kecuali Anda juga memasukkan output ffprobe ke prompt
      Jika sumbernya DVD, ada banyak hal yang perlu dipertimbangkan seperti masalah rasio aspek, deinterlacing, dan penanganan subtitle
    • ffmpeg justru satu-satunya program yang saya harap mendapat no-code visual
      Sekarang saya jadi mencari opsi mirip --help, yaitu --chatgpt, agar bisa menjelajahi halaman manual apa pun
    • Lebih cepat, tetapi juga lebih mudah salah. Aplikasi juga bisa disesuaikan sesuai keinginan, jadi bagian itu seri
  • Daftar fiturnya bagus. Yang paling saya nantikan khususnya adalah peningkatan performa untuk arsitektur arm64 / aarch64 / Apple Silicon, decoding HEVC yang lebih cepat dari FFmpeg terbaru dan filter bwdif yang 30% lebih cepat, peningkatan performa hingga 4 kali berkat optimasi assembly SVT-AV1 baru, serta peningkatan efisiensi memori dan kecepatan konversi video dengan menghapus penyalinan frame yang tidak perlu

  • Satu-satunya keluhan saya terhadap HandBrakeCLI adalah tidak bisa meng-encode input yang di-pipe lewat stdin
    FFmpeg mendukungnya, dan saya kira HandBrake juga memakai FFmpeg secara internal

    • HandBrake menggunakan libavformat, libavcodec, dan libavfilter, yang merupakan bagian dari library FFmpeg
      Meski begitu, ini aplikasi yang benar-benar berbeda. Decoder, sebagian demuxer, dan sebagian filter memang sama, tetapi cara menghubungkannya sama sekali berbeda dari aplikasi command-line FFmpeg
    • Apakah named pipe tidak bisa?
      Atau mungkin sihir Bash seperti handbrake-cli -i <(cat video-file.mp4) juga bisa
      Saya belum pernah memakai HandBrakeCLI dan hanya pernah memakai GUI-nya, jadi saya tidak terlalu tahu
    • Saat pertama tahu HandBrake, saya terkejut karena alih-alih sekadar memakai FFmpeg, mereka membuat banyak komponennya sendiri
      Tentu saja di bagian lain mereka banyak memakai library FFmpeg
      Karena ini salah satu dari sedikit transcoder yang tidak sekadar menjadi wrapper FFmpeg, itu sekaligus kelebihan dan kekurangannya
  • Bisakah seseorang menjelaskan dengan mudah kenapa HandBrake bilang tidak bisa mengimplementasikan opsi ukuran file target?
    Di aplikasi kompresi video Android, fitur ini bekerja cukup baik, tetapi di permintaan fitur terkait di GitHub HandBrake, salah satu maintainer mengatakan secara realistis itu sulit

    • Ini secara harfiah fitur yang disediakan semua encoder dasarnya. Bahkan di rantai filter ffmpeg/vapoursynth yang eksotis pun bisa
      Jadi saya tidak bisa membayangkan kenapa dikatakan tidak bisa
      Kalau di Windows, saya akan merekomendasikan Staxrip saja: https://github.com/staxrip/staxrip
      Ada juga aplikasi padanan Linux berbasis vapoursynth, tetapi saya tidak ingat namanya
      Atau mungkin salah satu GUI AV1an. Semua alat seperti ini mendukung ukuran file target dengan fitur yang jauh lebih banyak daripada HandBrake
  • Kenapa sampai sekarang masih belum ada fitur sederhana untuk “membatasi video X ke ukuran file Y”?
    Saya cuma ingin file video 5GB, tetapi HandBrake sepertinya menganggap saya peduli pada salah satu dari 50 preset Vimeo yang bahkan tidak saya pahami

    • Saya tidak tahu kenapa Anda menginginkan batas 5GB secara khusus. Apakah laci Anda penuh dengan flash drive USB 5GB yang ingin diisi?
      5GB jelas lebih besar dari CD, dan terlalu kecil untuk Blu-ray kecuali Anda ingin memasukkan tepat 10 video ke dalam Blu-ray
      Sama seperti preset Vimeo tampak aneh bagi Anda, kasus penggunaan Anda juga tampak aneh bagi seluruh dunia lainnya
  • Kecuali saat menangani video HDR, saya selalu lebih memilih ffmpeg daripada HandBrake
    Saya belum menemukan perintah ffmpeg yang tepat untuk menyalin metadata HDR dari sumber input ke output
    Terakhir kali saya cek, itu tidak memungkinkan, dan harus mengekstrak metadata secara manual dengan alat seperti MediaInfo lalu meneruskan setiap nilainya sebagai argumen ffmpeg
    Ada yang tahu apakah sekarang masih begitu?

    • Sudah coba memakai -movflags dan use_metadata_tags?
      ffmpeg -i $input_file -movflags use_metadata_tags -crf 22 $output_file
      Sumber: https://video.stackexchange.com/a/26076
    • Benar, sepertinya metadata masih harus diekstrak sendiri lalu dimasukkan secara manual
      Sedikit lebih rinci, standar video HDR yang umum ada dua: Dolby Vision dan HDR10. Keduanya memerlukan dukungan terpisah di dalam encoder, dan ini lebih dekat ke masalah di sisi libx265 daripada libavformat/ffmpeg
      Untungnya, jika video sumbernya HDR10, kita bisa mengekstrak fungsi transfer dan tone mapping yang tidak berubah secara global lalu menerapkannya langsung ke metadata output. FFmpeg bisa meneruskan nilai ini ke encoder, tetapi secara default tidak menyalinnya dari sumber ke target
      Artikel yang menjelaskan caranya ada di https://codecalamity.com/encoding-uhd-4k-hdr10-videos-with-f...
      Saya pernah meng-encode ulang video yang dienkode sebagai HDR10 ke format lain sambil mempertahankan metadata, dan perintah akhir yang tersisa di riwayat shell kira-kira seperti 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.mkv
      Di sini pengaturan master-display dan max-cll adalah fungsi transfer warna yang harus diekstrak dari video pertama dengan alat lain. Pengaturan ini tercantum dalam dokumentasi parameter libx265 https://x265.readthedocs.io/en/master/cli.html
      Dolby Vision lebih sulit. Karena metadatanya dinamis, saya tidak yakin bagaimana cara mengambilnya dari sumber, tetapi metadata itu bisa disuplai ke libx265 lewat argumen command line. Sayangnya, itu hanya diekspos di command line dan tidak ada di API, jadi ffmpeg belum bisa menanganinya atas nama kita
      Sebagai referensi terkait, proses mengekstrak fungsi transfer lalu meneruskannya ke ffmpeg ada di https://medium.com/@yllanos/how-to-encode-a-4k-hdr-movie-usi... dan https://codecalamity.com/encoding-uhd-4k-hdr10-videos-with-f..., dan tulisan beberapa orang yang merangkum pekerjaan serupa ada di https://www.reddit.com/r/ffmpeg/comments/g3uucr/how_do_i_enc...
      Untuk konversi dari Dolby Vision ke HDR10 serta pembahasan terkait HLG dan PQ, lihat https://www.reddit.com/r/ffmpeg/comments/nkxbay/how_to_conve..., dan detail-detail subtil Dolby Vision ada di https://www.reddit.com/r/ffmpeg/comments/a32yv4/deleted_by_u...
  • Sepertinya rilisnya sendiri akan menjadi tautan yang lebih baik
    Di sana ada catatan perubahan yang kemungkinan besar ingin dilihat kebanyakan orang
    https://github.com/HandBrake/HandBrake/releases/tag/1.7.0