H.264 videoyu minimum kalite kaybıyla nasıl yeniden kodlayabilirim?


20

Çok fazla MPEG-TS dosyam var (.TS kapsayıcı ancak H.264 video) ve oynatma gayet iyi, ileri / geri veya hızlı ileri atladığınızda çok halsiz ve pikselli, vb.

Araştırma yapmaya çalışıyorum ve çok az referans bloğu (yani bir DVB-S uydu akışından yakalama) ile kodladıklarını tahmin ediyorum.

Onları Handbrake (.MP4 konteyner) ile yeniden kodladığımda çok, çok iyi oynuyorlar ve videoda arama yapmak anlık, vb.

MPEG-TS dosyalarımı minimum kalite kaybıyla kodlamak / yeniden kodlamak mümkün müdür? Eğer öyleyse, en iyi bahisim nedir? Her biri yaklaşık 2 Mbps (yani saatte 2 GB) ama "minimum kalite kaybı" dosya başına 10+ GB gerektiriyorsa bunları yeniden kodlamak istemiyorum. Videonun aynı boyutta olmasını umuyorum.

Birisi bana tavsiyede bulunabilir mi?




4
Bunun işe yarayıp yaramadığını görmek için onları bir MKV veya MP4 dosyasına yeniden denemeyi denediniz mi? Yanıtlara bakın: Daha iyi oynatım için MPEG-TS'yi (DVB-S yakalamaları) nasıl dönüştürebilir ve onarabilirim?
afrazier

Yanıtlar:


23

Muhtemelen bir kapsayıcı sorunu, yeni bir kapsayıcı biçimine kopyalayarak

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

sorununuzu iyi çözebilir. Bu% 100 kayıpsız olacaktır. Bu işe yaramazsa, 18'lik bir crf normalde 'görsel olarak kayıpsız' olarak kabul edilir; bunu HandBrake ('video' sekmesi altında) veya avconv ile ayarlayabilirsiniz:

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

Ön ayarlar şunlardır: ultra hızlı, süper hızlı, çok hızlı, daha hızlı, hızlı, orta, yavaş, yavaş, veryslow. Ön ayar ne kadar yavaş olursa dosya o kadar küçük olur (ancak kodlama süresinde bir artış olur). Kişisel deneyimlerimde, dosya boyutu açısından en büyük düşüşün süper hızlı ve çok hızlı arasında olduğunu gördüm, bundan sonra çok daha artımlı görünüyor.

NOT: İsterseniz, ffmpeg, aynı sözdizimi ile avconv'un yapabileceği her şeyi yapabilir (tüm avconv örneklerini ffmpeg ile değiştirin).

FOOTNOTE: Bu ffmpeg x264 kodlama kılavuzunu daha fazla bilgi için yararlı bulabilirsiniz .


8

Video kodlamanın ayrıntılarına girmeden: Kısıtlamanız belirli bir video codec bileşeni (h.264) veya belirli bir bit hızı olduğunda "minimum kalite kaybı" diye bir şey yoktur. Sınırlayıcı bir faktör her zaman orada olacaktır - daha fazla kaliteyi korumanın bir yolu olsaydı, video kodlamanın kutsal kasesi olurdu.

X264 gibi bir kodlayıcının yapabileceği çok şey var - ana "kontrol" düğmeniz, bir şekilde "sabit kalite" faktörü gibi davranan Sabit Hız Faktörü ayarı olacaktır. Bunun yanı sıra, belirli bir kodlayıcı ile aynı görsel / deneyimli kaliteyi yeniden kodlarken ve tutarken ne kadar bit hızının kaydedilebileceğine ilişkin teknik sınırlamalar vardır.

Tabii ki, XviD (basit bir MPEG 4 Part II kodlayıcı) ve bugün en gelişmiş h.264 kodlayıcı olan x264 için farklı sonuçlar elde edeceksiniz. Ve sonra Mainconcept h.264 kodlayıcıyı satın almayı deneyebilir ve aynı ortalama bit hızında daha iyi kalite ile sonuçlanıp sonuçlanmadığını görebilirsiniz.

Video kodlamada, kaynak malzemeye de bağlı olduğu için yine de birkaç deneme yapmanız gerekecektir. Bir futbol oyununu kodlamak bir Snooker turundan daha zor olacaktır. X264'te, örneğin -tune filmFFmpeg'deki seçenek ile belirli türler için ayarlamaya izin veren bazı seçenekler vardır , ancak fark minimum olabilir.

Örnekler ve daha fazla bilgi için bkz. FFmpeg: Nihai Video ve Ses İşleme Aracı .


1

Blu ışınlarım için MPEG-TS dosyalarını kodlarsam el freni yüksek profilini kullanır ve gelişmiş sekmeyi şu ayarlarla kullanırım: RF 20

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

Kodlamak biraz zaman alır, ancak kalitenin blu-ray'den ayırt edilmesi zordur.

Hedefiniz aynı boyutta ise, farklı bir kodek / sıkıştırma olduğu için bu gerçekleşmez. Dosya boyutu ve kalitesi aynı şey değildir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.