Ffmpeg içeren bir videoyu DNxHD / DNxHR formatına nasıl dönüştürebilirim?


12

Cinelerra-cv ile nasıl çalışılacağına dair bir öğreticiyi takip ediyorum, en başta cinelerra ile çalışmanın ilk adımının, sahip olduğu video klibi dnxhd formatına dönüştürmek olduğu söylendi. Sadece söylendi, nasıl yapılacağı açıklanmadı.

Biraz araştırma yaptıktan sonra ffmpeg ile karşılaştım, ancak dfxhd ile ilgili nasıl kullanılacağına dair hiçbir fikrim yok, ffmpeg hakkında topladığım az bilgi ile, tahminim nasıl yapılır:

ffmpeg -i <video-clip> -vcodec dnxhd <video-clip-in-dnxhd>

Ancak, bu işe yaramaz ve ben anlamadım ffmpeg ile dnxhd dönüştürürken gördüğüm örnekler, onlar neden kullanacağınızı açıklamaksızın her seferinde bazı farklı etiketlere sahip gibi görünüyordu.


1
deb-indus.org/tuto/ffmpeg-howto.htm#Encoding_VC-3 önerecektirffmpeg -i <input_file> -vcodec dnxhd -b <bitrate> -an output.mov
Rinzwind

teşekkürler, bunu daha önce gördüm ve şöyleydim: Bir bit hızı belirtmek zorunda mıyım ve hiç sesi yok mu (-an)? .... demek istediğim biri sadece sinelerra'da hiç sesi olmayan dnxhd video kliplerle çalışabilir mi?
sharkant

1
-b <int> : Set video bitrate in bit/s ( default = 200k ).200k geçerli bir seçenek olmadığından bit hızı eklemelisiniz. Ama -an
düşerdim

bit hızı, kaynak dosyaya veya dönüştürmek istediğiniz dosyaya bağlı mı? .... yani sadece 200'ü kullanmayı denersem işe yarayabilir mi?
sharkant

Hayır. Bu özel kodlayıcı için bit hızını belirtmeniz gerekir.
llogan

Yanıtlar:


18

Bu seçici bir kodlayıcıdır, bu nedenle aşağıdakileri içeren uygun parametreleri seçmeniz gerekir:

  • kare hızı
  • piksel formatı / renk alanı
  • genişlik x yükseklik / çözünürlük / çerçeve boyutu
  • bit hızı

Bkz Geçerli DNxHD parametrelerini kabul değerler için aşağıda.


DNxHD örneği

Bu örnek 1280x720 boyutunda ölçeklenecek, 30000/1001 kare hızı ("29.97" olarak bilinir) ve YUV 4: 2: 2 düzlemsel piksel biçimini seçecektir.

ffmpeg -i input -c:v dnxhd -vf "scale=1280:720,fps=30000/1001,format=yuv422p" -b:v 110M -c:a pcm_s16le output.mov
  • Giriş dosyanız kabul edilen bazı parametrelere zaten uyuyorsa, bunları manuel olarak bildirmeniz gerekmez.

  • DNxHD için çıkış formatı kabı genellikle MXF veya MOV'dur.


DNxHR örneği

DNxHR, 2K, 4K ve 8K gibi 1080p'den daha yüksek çözünürlükler içindir.

DNxHR istiyorsanız, -profile:vçıktı seçeneğini ekleyin -profile:v dnxhr_hq.

Kabul edilen değerler şunlardır: dnxhd, dnxhr_444, dnxhr_hqx, dnxhr_hq, dnxhr_sq, dnxhr_lb.

  • DNxHR LB: dnxhr_lb- Düşük Bant Genişliği. 8 bit 4: 2: 2 ( yuv422p). Çevrimdışı Kalite.
  • DNxHR SQ: dnxhr_sq- Standart Kalite. 8 bit 4: 2: 2 ( yuv422p). Teslimat formatı için uygundur.
  • DNxHR HQ: dnxhr_hq- Yüksek Kalite. 8 bit 4: 2: 2 ( yuv422p).
  • DNxHR HQX: dnxhr_hqx- Yüksek Kalite. 10 bit 4: 2: 2 ( yuv422p10le). UHD / 4K Yayın kalitesinde yayın.
  • DNxHR 444: dnxhr_444- Son İşlem Kalitesi. 10 bit 4: 4: 4 ( yuv444p10le). Sinema kalitesinde teslimat.

Yukarıdaki liste DNxHR kodekinden uyarlanmıştır .


Geçerli DNxHD parametreleri

ffmpeg yanlış değerler sağlarsanız başarısız olur, ancak kabul edilenlerin bir listesini sağlayabilir.

Listeyi aşağıdaki "kukla" komutuyla gösterebilirsiniz:

ffmpeg -f lavfi -i testsrc2 -c:v dnxhd -f null -

Kare Hızı Hakkında Önemli Notlar

  • Bu komuttan oluşturulan listede kare hızı eksik. ffmpegbu kodlayıcı için herhangi bir kare hızını körü körüne kabul eder ve Avid yazılımının bunu kabul ettiği bildirilir (onaylanmamış), ancak DNxHD bit hızının yalnızca belirli kare hızlarıyla eşleşmesi gerekir. Maksimum uyumluluk için sadece uygun bit hızı / kare hızı kombinasyonunu kullanmanızı öneriyorum. Bu nedenle, kabul edilen uygun bit hızlarını ve piksel formatlarını almak için yukarıdaki komutu kullanın ve uygun kare hızları için Avid DNxHD çözünürlükleri Listesi veya DNxHD Beyaz Kağıt (sayfa 9) ffmpegile çapraz referans alın .

  • Yukarıdaki bağlantılarda listelenen kare hızları yanlış yuvarlak yaklaşımlar kullanıyor. Uygun değerler aşağıda listelenmiştir; kısaltılmış ad solda ve uygun değer sağdadır.

    • 29.97 = 30000/1001 (veya takma adı kullanın ntsc)
    • 59.94 = 60000/1001
    • 23.967 = 24000/1001 (veya takma adı kullanın ntsc-film)

Daha fazla seçenek

Enkodere özgü ek seçenekler ve desteklenen piksel formatlarının bir listesi için bakınız:

ffmpeg -h encoder=dnxhd

Hatalar

ff_frame_thread_encoder_init failed
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!

Bu, kare hızınızın, genişliğinizin, yüksekliğinizin, piksel biçiminizin ve / veya bit hızınızın yanlış olduğu anlamına gelir. Kabul edilen değerler için yukarıdaki Geçerli DNxHD parametrelerine bakın .

pixel format is incompatible with DNxHD profile

Biçim filtresini kullanarak uygun bir piksel biçimi seçin . Yukarıdaki DNxHD örneğine bakın.

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.