Установить битовую глубину в FFmpeg, кодирующем для HEVC?

FFmpeg теперь поддерживает 10-разрядное и 12-разрядное кодирование для x265, Но я не мог найти, что надлежащие параметры командной строки для кодируют их в тех битовых глубинах.

Кто-то может указать это опции?

5
задан 6 June 2017 в 01:17

1 ответ

Если у Вас есть соответственно настроенная современная версия FFmpeg и x265, (репозиторий, FFmpeg под Пикантным Zapus 17.04 попадает в эту категорию), необходимо найти кодирование 8, 10 и 12 битов довольно простой.

Я иллюстрирую демонстрационную командную строку для каждого ниже:

1. HEVC на 8 битов, кодирующий FFmpeg...

Проверьте возможность своей установленной версии x265 для 8 битов, кодирующих следующим образом:

andrew@illium~$ x265 -V
x265 [info]: HEVC encoder version 2.4
x265 [info]: build info [Linux][GCC 7.1.0][64 bit] 8bit+10bit+12bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX XOP FMA4 FMA3 LZCNT BMI1
andrew@illium~$ 

Здесь Вы будете видеть, что моя собственная копия имеет возможности 8|10|12 разрядное кодирование. Установка FFmpeg, скомпилированного против этой версии x265, может произвести достойные 8 битов, кодируют следующей командой:

ffmpeg -i input.mp4 \
       -c:v libx265 -preset medium -crf 28 -pix_fmt yuv420p \
       -c:a aac -b:a 128k \
       output_8bit.mp4

Можно, конечно, варьироваться любая из этих настроек для удовлетворения определенным потребностям...

2. HEVC на 10 битов, кодирующий FFmpeg...

Проверьте возможность своей установленной версии x265 для 10 битов, кодирующих следующим образом:

andrew@illium~$ x265 -V -D10
x265 [info]: HEVC encoder version 2.4
x265 [info]: build info [Linux][GCC 7.1.0][64 bit] 10bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX XOP FMA4 FMA3 LZCNT BMI1
andrew@illium~$ 

Здесь Вы будете видеть, что моя собственная копия имеет возможности кодирования на 10 битов. Установка FFmpeg, скомпилированного против этой версии x265, может произвести достойные 10 битов, кодируют следующей командой:

ffmpeg -i input.mp4 \
       -c:v libx265 -preset medium -crf 28 -pix_fmt yuv420p10le \
       -c:a aac -b:a 128k \
       output_10bit.mp4

И это должно пережить Вас...

3. HEVC на 12 битов, кодирующий FFmpeg...

Проверьте возможность своей установленной версии x265 для 12 битов, кодирующих следующим образом:

andrew@illium~$ x265 -V -D12
x265 [info]: HEVC encoder version 2.4
x265 [info]: build info [Linux][GCC 7.1.0][64 bit] 12bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX XOP FMA4 FMA3 LZCNT BMI1
andrew@illium~$ 

Здесь Вы будете видеть, что моя собственная копия имеет возможности кодирования на 12 битов. Установка FFmpeg, скомпилированного против этой версии x265, может произвести достойные 12 битов, кодируют следующей командой:

ffmpeg -i input.mp4 \
       -c:v libx265 -preset medium -crf 28 -pix_fmt yuv420p12le  \
       -c:a aac -b:a 128k \
       output_12bit.mp4

Еще раз экспериментирование с некоторыми вспомогательными параметрами должно дать Вам точно результаты, которые Вы после...

Примечания:

  1. Если Вы не уверены в который форматы пикселя (для жизненного -pix_fmt Установка FFmpeg), поддерживаются Вашей копией FFmpeg и libx265, который следующая команда покажет деталям:

     ffmpeg -h encoder=libx265 2>/dev/null | grep pixel 
    
  2. FFmpeg и Руководство по Кодированию H.265: Основная информация о HEVC, кодирующем FFmpeg, ничем на 8|10|12 кодирование бита, хотя...

  3. Пикантный Zapus (17.04) имеет немного более старый, но полностью настроенный x265:

      andrew@ilium:~$ x265 -V
      x265 [info]: HEVC encoder version 2.3
      x265 [info]: build info [Linux][GCC 6.3.0][64 bit] 8bit+10bit+12bit
      x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX LZCNT
      andrew@ilium:~$ 
    

    и таким образом может закодировать ко всем 3 возможным битовым глубинам...

6
ответ дан 23 November 2019 в 09:12

Другие вопросы по тегам:

Похожие вопросы: