Mengapa Handbrake mengompresi video dari DVD bisa menjadi 300MB, 1GB, atau 2GB padahal aslinya hanya 600MB?

3

Handbrake dapat mengonversi klip DVD yang berjarak sekitar 30 menit menjadi .mkvfile 300MB . Untuk percobaan, saya juga mencoba ukuran file 1GB dan 2GB, dan keduanya keluar sebagai 1GB atau 2GB.

Tetapi saya memperkirakan bahwa video asli pada DVD harus hanya sekitar 600MB, jadi bagaimana itu bisa membuat file "lebih besar daripada sebelumnya"? (format mkv, mp4 harus memungkinkan kompresi yang lebih baik daripada mpeg2 DVD).

Saya juga ingat pernah mencoba bereksperimen dengan divx atau xvid sebelumnya, dan ada batasan ukuran file: misalnya, saya dapat menentukan video 1,5 jam untuk memiliki 3GB atau 8Mbit / s, tetapi kontennya tidak begitu banyak "bit" untuk disimpan (karena dapat sangat mengompres video), sehingga file terakhir tidak dapat melebihi 1,8GB atau sesuatu seperti itu, tidak peduli seberapa tinggi bit rate atau ukuran file yang diinginkan yang saya berikan. Tetapi dengan Handbrake, sepertinya saya dapat membuat file 1GB atau 2GB dengan klip singkat. Mengapa demikian?

太極 者 無極 而 生
sumber

Jawaban:

3

Ini ada hubungannya dengan upsampling / downsampling.

Bayangkan harus menulis perangkat lunak ini: Anda harus membaca file terkompresi yang bisa dikompresi dalam berbagai format, dan kemudian mengompresnya kembali dalam salah satu dari berbagai format lain.

Tunggu!! Mengapa Anda tidak bisa langsung menuju ke format lain ??

Nah, bagaimana dengan Anda? Kompresinya lossy, dan untuk memahami cara mengompresnya, pertama-tama Anda harus mendekompresnya , untuk melihat apa yang dikatakannya!

Selain itu, Anda tidak ingin algoritma Anda meledak; yaitu jika Anda mengkonversi antara 10 format, Anda tidak ingin memiliki 10 * 9 = 90 algoritma untuk kompresi dan 90 untuk dekompresi untuk mengkonversi dari setiap format ke setiap format lain, tetapi Anda lebih suka memiliki 10 algoritma untuk pergi ke format dekompresi, dan 10 lagi untuk turun ke format terkompresi lain.

Jadi, Anda harus mendekompresnya terlebih dahulu. Dan setelah itu, itu adalah pilihan Anda bagaimana mengkompres ulang - dan apa pun yang Anda pilih, Anda akan kehilangan lebih banyak daripada jika Anda tidak melakukan apa-apa sama sekali.

yaitu ini agak naif dari perhitungan, tetapi jika sesuatu mempertahankan 50% dari yang asli, dan Anda mendekompres dan mengkompresnya kembali, Anda mendapatkan 50% dari itu - yaitu 25%. Ini tidak menangkap beberapa aspek lain, tetapi menjelaskan mengapa rekompresi (alias transcoding) jarang direkomendasikan ; jika Anda membutuhkannya, cobalah untuk mengkompres ulang sumber asli, jika mungkin.

Semoga ini masuk akal.

Mehrdad
sumber
Jika Anda ingin algoritme konversi khusus dengan 10 format (termasuk tidak terkompresi), maka diperlukan 100 algoritma konversi. Tidak ada kompresi dan dekompresi terpisah, hanya kombinasi algoritma konversi. Tetapi Anda memang membutuhkan konversi misalnya dari MPEG2 bitrate tinggi ke MPEG2 bitrate rendah. +1, untuk argumen N * M daripada N + M.
Steve314
Ada beberapa alat di sekitar kasus khusus beberapa konversi (cukup sepele), misalnya - misalnya konversi MPEG ke VOB yang tidak mendekompresi-kemudian-kompres ulang data video, tetapi hanya mengemas kembali data terkompresi yang ada dalam format file wadah baru . Ini adalah trik yang bagus untuk menghemat waktu dan menghindari kerugian lebih lanjut.
Steve314
1
Ada juga kemungkinan yang berbeda bahwa itu mungkin (dan mungkin) secara matematis tidak mungkin untuk melakukan transcode lossless dari dari codec ke yang lain (mis. MPEG-2 ke H.264), dan siapa pun yang tertarik untuk melakukannya harus memiliki tingkat ahli memahami kedua codec. Itu sifat yang sangat langka, dan itu akan menjadi kerja keras cinta. Kebanyakan orang akan menuangkan upaya mereka ke dalam satu codec, bukan dua (atau lebih).
Afrazier
Bahkan melakukan transcode domain terkompresi dengan codec yang sama (misalnya MPEG-2 ke MPEG-2) secara umum menghasilkan kualitas yang lebih buruk daripada pengkodean ulang penuh. Lihat di sini .
Afrazier
2

Kompresi media tidak seperti zip dan algoritma kompresi serupa, yang secara oportunistik mengeksploitasi pengulangan yang tepat. Paling sederhana, ini lebih seperti menemukan representasi dari sinyal yang dapat menghilangkan detail (atau menambahkan) dengan perubahan yang terlihat minimal pada sinyal yang diterjemahkan. Karena itu, sangat mudah untuk "memampatkan" file kecil menjadi file yang lebih besar. Anda memperoleh representasi yang diubah itu, lalu pad dengan data netral tambahan.

Itu cukup banyak yang Anda dapatkan ketika Anda menuntut konversi dari file video bitrate rendah ke file video bitrate tinggi.

Sebenarnya, Anda mungkin mendapatkan sesuatu dengan memiliki 2GB daripada 1GB, bahkan untuk video yang dimulai pada 600MB - meskipun itu mungkin bukan sesuatu yang Anda inginkan dengan harga berapa pun.

Video asli dikompres dengan MPEG2 (untuk DVD) daripada menggunakan MKV. Sistem kompresi yang berbeda memiliki "artefak" yang berbeda. Setiap konversi file dapat mempertahankan detail yang tersedia. Dengan perubahan skema kompresi, tidak dapat dihindari bahwa setidaknya ada sesuatu yang hilang. Dengan file yang lebih besar, ada sedikit kerugian - bahkan dengan file yang jauh lebih besar dari aslinya. Itu berarti Anda cenderung kehilangan semua artefak yang tidak diinginkan dari skema kompresi sebelumnya.

Cara lain untuk melihatnya ...

Perangkat video yang dapat direpresentasikan dengan sempurna menggunakan skema kompresi apa pun sangat terbatas, dibandingkan dengan video yang tidak terkompresi. Kurangi ukuran file dengan satu byte, dan pada prinsipnya Anda telah membagi jumlah video yang mungkin dapat diwakili oleh 256.

Set video yang dapat direpresentasikan dengan sempurna di MPEG2 sangat berbeda dengan set video yang dapat diwakili dengan sempurna di MKV. Bahkan jika Anda memiliki codec yang sempurna, Anda tidak akan dapat dengan sempurna mempertahankan konversi video dari satu metode kompresi ke metode kompresi lainnya - bahkan mengkonversi ke bitrate yang jauh lebih tinggi.

Steve314
sumber
-2

Itu karena Handbrake gratis dan algoritma kompresi hanya berjalan sejauh ini. Yang pro menggunakan, well, lebih mahal .

Jawaban Mehrdad memakukannya di kepala. Untuk beralih dari MPEG2 (DVD) ke H.264 (saya berasumsi itu yang Anda gunakan) secara langsung, Anda harus menulis program khusus untuk mengonversi itu. Yang membawa pada apa yang Mehrdad katakan. Pada dasarnya harus menulis jack dari semua algoritma kompresi perdagangan atau menulis banyak yang lebih kecil. Tidak ada yang terdengar seperti solusi kemenangan bagi saya.

surfasb
sumber
2
-1: Encoder x264 sumber bebas dan terbuka adalah pembuat kode kelas terkemuka, bahkan jika dibandingkan dengan pembuat kode komersial.
Afrazier
Namun produk H264 yang berbeda menghasilkan tingkat kualitas yang berbeda. Ini seperti mengatakan Fedora sama dengan Slacker. . .
surfasb