Jest to wybredny enkoder, więc musisz wybrać odpowiednie parametry, w tym:
- częstotliwość wyświetlania klatek
- format pikseli / przestrzeń kolorów
- szerokość x wysokość / rozdzielczość / rozmiar ramki
- bitrate
Zobacz prawidłowe parametry DNxHD poniżej, aby uzyskać zaakceptowane wartości.
Przykład DNxHD
Ten przykład zostanie skalowany do 1280 x 720, wybierz częstotliwość odświeżania 30000/1001 (aka „29,97”) i format pikselowy YUV 4: 2: 2 płaski.
ffmpeg -i input -c:v dnxhd -vf "scale=1280:720,fps=30000/1001,format=yuv422p" -b:v 110M -c:a pcm_s16le output.mov
Jeśli plik wejściowy jest już zgodny z niektórymi zaakceptowanymi parametrami, nie musisz ich ręcznie deklarować.
Pojemnikiem formatu wyjściowego dla DNxHD jest zazwyczaj MXF lub MOV.
Przykład DNxHR
DNxHR jest przeznaczony dla rozdzielczości większych niż 1080p, takich jak 2K, 4K i 8K.
Jeśli chcesz DNxHR, dodaj -profile:v
opcję wyjścia, na przykład -profile:v dnxhr_hq
.
Akceptowane są następujące wartości: dnxhd
, dnxhr_444
, dnxhr_hqx
, dnxhr_hq
, dnxhr_sq
, dnxhr_lb
.
- DNxHR LB:
dnxhr_lb
- Niska przepustowość. 8-bit 4: 2: 2 ( yuv422p
). Jakość offline.
- DNxHR SQ:
dnxhr_sq
- Standardowa jakość. 8-bit 4: 2: 2 ( yuv422p
). Nadaje się do formatu dostawy.
- DNxHR HQ:
dnxhr_hq
- Wysoka jakość. 8-bit 4: 2: 2 ( yuv422p
).
- DNxHR HQX:
dnxhr_hqx
- Wysoka jakość. 10-bit 4: 2: 2 ( yuv422p10le
). Dostawa w jakości UHD / 4K.
- DNxHR 444:
dnxhr_444
- Jakość wykończenia. 10-bit 4: 4: 4 ( yuv444p10le
). Dostawa w jakości kinowej.
Powyższa lista została zaadaptowana z kodeka DNxHR .
Prawidłowe parametry DNxHD
ffmpeg
zakończy się niepowodzeniem, jeśli podasz niepoprawne wartości, ale może dostarczyć listę akceptowanych wartości.
Możesz wyświetlić listę za pomocą następującego polecenia „manekina”:
ffmpeg -f lavfi -i testsrc2 -c:v dnxhd -f null -
Ważne uwagi na temat liczby klatek na sekundę
Brakuje liczby klatek na liście generowanej z tego polecenia. ffmpeg
ślepo zaakceptuje dowolną liczbę klatek na sekundę dla tego kodera, a oprogramowanie Avid podobno je zaakceptuje (niepotwierdzone), ale przepływność DNxHD powinna być dopasowana tylko do określonych częstotliwości klatek. Aby uzyskać maksymalną kompatybilność, zalecałem stosowanie tylko właściwej kombinacji szybkości transmisji / liczby klatek. Więc użyj powyższego polecenia, aby uzyskać prawidłowe bitrate i formaty pikseli akceptowane przez ffmpeg
, i odnieś się do Listy Avid rozdzielczości DNxHD lub Białej księgi DNxHD (strona 9), aby uzyskać właściwe częstotliwości klatek.
Częstości klatek wymienione w powyższych linkach wykorzystują niedokładne zaokrąglone przybliżenia. Odpowiednie wartości są wymienione poniżej; skrócona nazwa znajduje się po lewej stronie, a właściwa wartość po prawej stronie.
- 29,97 = 30000/1001 (lub użyj aliasu
ntsc
)
- 59,94 = 60000/1001
- 23,967 = 24000/1001 (lub użyj aliasu
ntsc-film
)
Więcej opcji
Aby uzyskać dodatkowe opcje specyficzne dla kodera i listę obsługiwanych formatów pikseli, patrz:
ffmpeg -h encoder=dnxhd
Błędy
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!
Oznacza to, że liczba klatek na sekundę, szerokość, wysokość, format pikseli i / lub szybkość transmisji są nieprawidłowe. Patrz prawidłowe parametry DNxHD powyżej dla akceptowanych wartości.
pixel format is incompatible with DNxHD profile
Wybierz odpowiedni format pikseli za pomocą filtra formatu . Zobacz przykład DNxHD powyżej.
ffmpeg -i <input_file> -vcodec dnxhd -b <bitrate> -an output.mov