Це прискіпливий кодер, тому ви повинні вибрати правильні параметри, зокрема:
- частота кадрів
- формат пікселів / кольоровий простір
- ширина х висота / роздільна здатність / розмір кадру
- бітрейт
Дивіться дійсні параметри DNxHD нижче для прийнятих значень.
Приклад DNxHD
Цей приклад буде масштабуватись до 1280x720, вибирати частоту кадрів 30000/1001 (він же "29,97") та піксельний формат YUV 4: 2: 2.
ffmpeg -i input -c:v dnxhd -vf "scale=1280:720,fps=30000/1001,format=yuv422p" -b:v 110M -c:a pcm_s16le output.mov
Якщо ваш вхідний файл вже відповідає деяким прийнятим параметрам, вам не доведеться їх вручну оголошувати.
Контейнер вихідного формату для DNxHD зазвичай MXF або MOV.
Приклад DNxHR
DNxHR призначений для роздільної здатності більше 1080p, таких як 2K, 4K і 8K.
Якщо ви хочете DNxHR, тоді додайте параметр -profile:v
виводу, наприклад -profile:v dnxhr_hq
.
Можна вибрати зі значень dnxhd
, dnxhr_444
, dnxhr_hqx
, dnxhr_hq
, dnxhr_sq
, dnxhr_lb
.
- DNxHR LB:
dnxhr_lb
- Мала пропускна здатність. 8-бітний 4: 2: 2 ( yuv422p
). Якість офлайн.
- DNxHR SQ:
dnxhr_sq
- Стандартна якість. 8-бітний 4: 2: 2 ( yuv422p
). Підходить для формату доставки.
- DNxHR HQ:
dnxhr_hq
- Висока якість. 8-бітний 4: 2: 2 ( yuv422p
).
- DNxHR HQX:
dnxhr_hqx
- Висока якість. 10-бітний 4: 2: 2 ( yuv422p10le
). UHD / 4K Доставка високоякісної трансляції.
- DNxHR 444:
dnxhr_444
- якість обробки. 10-бітний 4: 4: 4 ( yuv444p10le
). Доставка якості в кіно.
Наведений вище список був адаптований з кодеку DNxHR .
Дійсні параметри DNxHD
ffmpeg
не вдасться, якщо ви вказали неправильні значення, але він може надати список прийнятих.
Ви можете показати список за допомогою такої команди "манекен":
ffmpeg -f lavfi -i testsrc2 -c:v dnxhd -f null -
Важливі примітки щодо частоти кадрів
Частота кадрів відсутня у списку, сформованому за допомогою цієї команди. ffmpeg
буде сліпо приймати будь-яку частоту кадрів для цього кодера, а програмне забезпечення Avid прийме його (непідтверджено), але бітрейт DNxHD повинен відповідати лише певній частоті кадрів. Для максимальної сумісності я рекомендував використовувати лише правильну комбінацію бітрейта / частоти кадрів. Тому скористайтеся командою вище, щоб отримати належні формати бітрейтів та пікселів, прийняті ffmpeg
та перехресне посилання зі списком Avid дозволів DNxHD або Білою книгою DNxHD (стор. 9) для правильної частоти кадрів.
Частота кадрів, наведена у наведених вище посиланнях, використовує неточні округлі наближення. Власні значення наведені нижче; скорочена назва - зліва, а правильне значення - праворуч.
- 29,97 = 30000/1001 (або використовувати псевдонім
ntsc
)
- 59,94 = 60000/1001
- 23.967 = 24000/1001 (або використовувати псевдонім
ntsc-film
)
Більше опцій
Щоб отримати додаткові параметри конкретного кодера та список підтримуваних форматів пікселів, зверніться до:
ffmpeg -h encoder=dnxhd
Помилки
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!
Це означає, що частота кадрів, ширина, висота, формат пікселя та / або бітрейт неправильні. Для прийнятих значень див. Дійсні параметри DNxHD вище.
pixel format is incompatible with DNxHD profile
Виберіть правильний формат пікселів, використовуючи фільтр форматів . Дивіться приклад DNxHD вище.
ffmpeg -i <input_file> -vcodec dnxhd -b <bitrate> -an output.mov