Bagaimana saya bisa menyandikan ulang video H.264 dengan kehilangan kualitas minimal?


20

Saya memiliki banyak file MPEG-TS (.TS container tetapi video H.264) dan pemutarannya baik-baik saja kecuali ketika Anda melompat maju / mundur atau maju cepat itu sangat lamban dan menjadi pixelated, dll.

Saya sudah mencoba melakukan penelitian dan saya menduga mereka mengkodekan dengan sangat sedikit blok referensi (mis. Ini adalah tangkapan dari aliran satelit DVB-S).

Ketika saya menyandikan ulang mereka dengan Handbrake (.MP4 container) mereka bermain sangat, sangat bagus dan mencari dalam video itu instan, dll, dll.

Apakah mungkin untuk transkode / encode ulang file MPEG-TS saya dengan kehilangan kualitas minimal? Jika demikian, apa taruhan terbaik saya? Mereka masing-masing sekitar 2 Mbps (mis. 2 GB per jam) tetapi saya tidak ingin menyandikan ulang mereka jika "kehilangan kualitas minimal" memerlukan 10+ GB per file. Saya berharap agar videonya berukuran sama.

Adakah yang bisa memberi saya saran?




4
Sudahkah Anda mencoba hanya memasangnya kembali ke file MKV atau MP4 untuk melihat apakah itu membantu? Lihat jawaban untuk: Bagaimana saya bisa mengonversi dan memperbaiki MPEG-TS (tangkapan DVB-S) untuk pemutaran yang lebih baik?
Afrazier

Jawaban:


23

Mungkin masalah wadah, menyalinnya ke format wadah baru dengan

avconv -i input.ts -c copy output.mp4

mungkin memperbaiki masalah Anda. Ini akan 100% lossless. Jika itu tidak berhasil, crf 18 biasanya dianggap 'tanpa kehilangan visual'; Anda dapat mengatur ini HandBrake (di bawah tab 'video'), atau dengan avconv:

avconv -i input.ts -c:a copy -c:v libx264 -crf 18 -preset veryfast output.mp4

Presetnya adalah: ultrafast, superfast, veryfast, lebih cepat, cepat, sedang, lebih lambat, lambat, sangat lambat. Semakin lambat preset, semakin kecil file (tetapi dengan peningkatan waktu penyandian). Dalam eksperimen pribadi saya, saya telah menemukan penurunan terbesar dalam hal ukuran file adalah antara super cepat dan sangat cepat, setelah itu tampaknya jauh lebih bertahap.

CATATAN: Jika Anda mau, ffmpeg dapat melakukan segalanya yang dapat dilakukan avconv, dengan sintaksis yang identik (cukup ganti semua instance avconv dengan ffmpeg).

FOOTNOTE: Anda mungkin menemukan ini x264 ffmpeg encoding panduan yang berguna untuk informasi lebih lanjut.


8

Tanpa masuk ke detail encoding video: Tidak ada yang namanya "kehilangan kualitas minimal" ketika kendala Anda adalah codec video spesifik (h.264) atau bit rate tertentu. Faktor pembatas akan selalu ada - jika ada cara untuk melestarikan kualitas yang lebih baik, itu akan menjadi cawan suci pengkodean video.

Hanya ada yang bisa dilakukan oleh pembuat kode seperti x264 - kenop "kontrol" utama Anda adalah pengaturan Constant Rate Factor, yang entah bagaimana bertindak sebagai faktor "kualitas konstan". Selain itu, ada batasan teknis tentang seberapa banyak bitrate dapat disimpan saat melakukan encoding ulang dan menjaga kualitas visual / berpengalaman yang sama dengan satu encoder tertentu.

Tentu saja, Anda akan mendapatkan hasil yang berbeda untuk, katakanlah, XviD (enkoder MPEG 4 Bagian II sederhana) dan x264, enkoder h.264 paling canggih saat ini. Dan kemudian Anda juga bisa mencoba membeli encoder Mainconcept h.264 dan melihat apakah menggunakannya menghasilkan kualitas yang lebih baik pada bit rate rata-rata yang sama.

Dalam encoding video, Anda harus menjalankan beberapa percobaan, karena itu juga tergantung pada bahan sumbernya. Sebuah permainan sepakbola akan lebih sulit untuk dikodekan daripada satu putaran Snooker. Ada beberapa opsi di x264 yang memungkinkan penyetelan untuk jenis tertentu, misalnya film, dengan-tune film opsi dalam FFmpeg, misalnya, tetapi perbedaannya bisa minimal.

Untuk contoh dan informasi lebih lanjut lihat FFmpeg: Alat Manipulasi Video dan Audio terbaik .


1

Untuk sinar blu saya Jika saya menyandikan file MPEG-TS saya menggunakan profil rem tangan tinggi dan menggunakan tab lanjutan dengan pengaturan ini: RF 20

b-adapt=2:rc-lookahead=60:bframes=8:direct=auto:trellis=2:ref=16:subq=10:me=umh:merange=24:analyse=all

Dibutuhkan waktu untuk meng-encode tetapi kualitasnya sulit dibedakan dari blu ray.

Jika sasaran Anda memiliki ukuran yang sama, ini tidak akan terjadi karena itu adalah codec / kompresi yang berbeda. Ukuran dan kualitas file tidak sama.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.