Apa perbedaan antara Profil H.264?

56

Saya sedang membuat video di After Effects CS5 dan ketika saya memformatnya saya memilih codec H.264 dan dalam format itu, ia memiliki profil dengan Baseline, Main dan High.

Jadi saya melakukan sedikit tes - rendering kedua file dengan Baseline dan High. Satu-satunya hal yang saya perhatikan adalah ukuran video lebih kecil, Tinggi memberikan ukuran file lebih kecil.

Saya hanya ingin tahu apa perbedaannya seperti yang terbaik untuk kualitas dan terbaik untuk ukuran file.

James
sumber

Jawaban:

78

Apa itu profil?

Profil H.264 kurang lebih mendefinisikan "lonceng dan peluit" apa yang dapat digunakan encoder saat mengompresi video Anda - dan ada banyak fitur H.264 yang dapat diaktifkan oleh encoder. Yang mana yang diizinkan untuk diaktifkan ditentukan oleh profil. Profil memastikan kompatibilitas antara perangkat yang memiliki kemampuan dekode yang berbeda. Dengan profil, encoder dan decoder menyetujui set fitur yang keduanya dapat tangani.

Apa yang dilakukan berbagai profil?

Untuk daftar terperinci, lihat Profil H.264 di Wikipedia.

Secara umum, profil Baseline membatasi encoder hanya untuk fitur-fitur dasar tertentu. Video yang dikodekan dengan profil dasar dapat dengan mudah diputar ulang, bahkan pada perangkat dengan daya komputasi lebih rendah, seperti smartphone yang lebih tua. Ponsel Android dan iOS, misalnya, secara resmi hanya memutar video yang disandikan dengan profil dasar, tetapi tidak Tinggi atau Utama . Ini telah sedikit berubah dalam beberapa tahun terakhir, di mana semakin banyak ponsel yang benar-benar dapat memutar video profil utama atau tinggi, tetapi tetap saja rekomendasi resmi tidak menyebutkannya .

Terutama untuk aplikasi berbiaya rendah, profil ini biasanya digunakan dalam konferensi video dan aplikasi seluler. Ini sesuai dengan subset fitur yang sama antara Baseline, Main, dan High Profile

Utama dan Tinggi tambahkan saja fitur itu. Terutama profil tinggi yang sering digunakan dalam penyiaran:

Profil utama untuk aplikasi penyiaran dan penyimpanan disk, khususnya untuk aplikasi televisi berdefinisi tinggi (misalnya, ini adalah profil yang diadopsi oleh format penyimpanan Disk Blu-ray dan layanan siaran DVB HDTV).

B slice misalnya hanya diperbolehkan di profil Utama dan di atas. Mereka dapat digunakan untuk menghemat bandwidth, tetapi lebih sulit untuk memecahkan kode, itulah sebabnya beberapa perangkat mungkin tidak mendukungnya.

Apa hubungannya dengan kualitas?

Profil hanya secara tidak langsung mempengaruhi kualitas. Beberapa fitur profil yang lebih tinggi memungkinkan Anda mendapatkan kualitas yang sama dengan ukuran file yang lebih rendah dibandingkan dengan profil yang lebih rendah.

Misalnya, pengkodean entropi CABAC ( Utama dan Tinggi ) lebih efisien daripada CAVLC ( Baseline ). Komputasi ini juga lebih intensif. Jadi, jika Anda memberi encoder kecepatan bit tertentu untuk dibelanjakan, itu akan dapat membuat video dengan kualitas yang lebih baik dengan CABAC daripada dengan CAVLC karena mencapai kompresi yang jauh lebih baik.

Ini juga menjelaskan mengapa Anda mencapai ukuran file yang lebih kecil dengan profil Tinggi - jelas, Anda entah bagaimana menetapkan tingkat kualitas konstan dan pembuat enkode dapat menggunakan teknik kompresi yang lebih canggih untuk membuat file video yang memiliki kualitas yang sama dengan profil Baseline , tetapi dengan yang lebih kecil ukuran.

Jadi ... yang mana yang harus Anda gunakan?

Beberapa aturan dasar:

  • Profil dasar jika Anda menargetkan perangkat seluler lama
  • Utama atau Profil tinggi jika Anda menargetkan streaming web, penyimpanan jangka panjang, PC atau Mac, authoring Blu-ray, dll.
slhck
sumber
8
Karena ini ditulis tertulis, hampir semua smartphone termasuk Android dan perangkat lain sekarang memainkan profil utama dan banyak bermain tinggi. Dukungan profil tinggi, misalnya, didukung oleh sebagian besar perangkat yang mengklaim dapat memutar konten definisi tinggi. Anda hampir pasti dapat mengandalkan utama atau lebih tinggi. Baseline adalah versi yang sangat lumpuh dari H. 264 yang dirancang untuk perangkat terbatas dekade terakhir.
thomasrutter
Tidak semua orang memiliki smartphone terbaru. Android masih merekomendasikan untuk menggunakan profil Baseline . Hal yang sama berlaku untuk iOS . Tentu saja, beberapa perangkat (yang paling baru) mendukung profil yang lebih tinggi, tetapi jika Anda ingin tetap kompatibel dengan perangkat keras kelas atas, Anda harus memilih itu. Tetapi saya mengedit jawaban saya untuk mencerminkan apa yang Anda katakan.
slhck
Menarik - pemain built-in telah mendukung utama untuk saya untuk sementara waktu, tetapi poin Anda valid - Anda tidak dapat mengandalkan ini. Namun, Anda dapat mengandalkan pemain perangkat lunak pihak ketiga untuk profil utama dan profil tinggi, misalnya pemain seperti MX Player memiliki dukungan perangkat lunak untuk profil yang lebih tinggi - selama itu berbasis ARM dan kinerja CPU yang cukup tinggi.
thomasrutter
Perhatikan bahwa pada tahun 2016, Foto Google, ketika melakukan backup, mengkonversi video yang diunggah yang direkam pada Android Nexus 6 di profil Tinggi menjadi profil Baseline (dalam mode cadangan "berkualitas tinggi" "penyimpanan tidak terbatas gratis")
nealmcb
Masih informasi terbaik yang pernah saya baca di ffmpeg pada 2017. POST HEBAT.
typeoneerror