Как определить "Выходную битовую глубину" библиотеки libx264 в ffmpeg?
Согласно Руководству по кодированию x264, crf
масштаб зависит от того, является ли x264 8-битным или 10-битным. предположительно x264 --help
показывает Output bit depth
, Но на винде ffmpeg -h full
ничего не говорит о Output bit depth
и crf
опция масштаба описывается как from -1 to FLT_MAX
, Как я могу проверить, использует ли мой ffmpeg 8-битную или 10-битную версию библиотеки libx264?
РЕДАКТИРОВАТЬ
Как и предполагал ответ, если битовая глубина равна 8 и crf
выше чем 51
затем ffmpeg автоматически настроит crf
ценность быть 51
- максимально возможный. Так что достаточно проверить вывод из ffmpeg, чтобы определить битовую глубину.
1 ответ
Помощь от x264
сам а не под ffmpeg
, В дистрибутивах Linux x264
находясь в пути, позволяет печатать x264 --help
,
В окнах вы можете захотеть cd
к x264
установленная папка и тип x264.exe --help
, но я не работаю над окнами для ffmpeg, поэтому не могу сказать наверняка.
Как указано в приведенной вами ссылке, большинство дистрибутивов являются 8-битными. Почему бы вам не использовать crf
ценность 63
и посмотрим, выдаст ли он ошибку - тогда вы, скорее всего, имеете 8-битное распределение.
Другой метод будет заключаться в кодировании тестового видео низкого качества с ffmpeg
(используя, например, ограничение продолжительности и "сверхбыстрый" пресет), а затем опросить полученный MP4 с помощью ffprobe
определить фактическую битовую глубину видеопотока. Команда для запуска будет ffprobe -show_streams /path/to/video.mp4
и поле для поиска в выходных данных - "bits_per_raw_sample=8". Вы также можете установить формат вывода JSON, добавив -print_format json
вариант.