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

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

Может ли кто-нибудь указать эти параметры?

3
задан andrew.46 6 June 2017 в 08:17
поделиться

11 ответов

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

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

1. 8bit HEVC-кодирование с помощью FFmpeg ...

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

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

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

1. 8bit HEVC-кодирование с помощью 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. 12bit HEVC-кодирование с помощью FFmpeg ...

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

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

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

3. 12bit HEVC-кодирование с помощью FFmpeg ...

Если вы не знаете, какие форматы пикселей (для параметра -pix_fmt FFmpeg для жизненно важных -pix_fmt) поддерживаются вашей копией FFmpeg и libx265, следующая команда будет показать подробности:
 ffmpeg -h encoder=libx265 2>/dev/null | grep pixel 
FFmpeg и H.265 Руководство по кодированию: базовая информация о кодировании HEVC с помощью FFmpeg, ничего из 8 | 10 | 12-битной кодировки, хотя ... Zesty 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 возможные битовые глубины ...
4
ответ дан andrew.46 22 May 2018 в 18:50
поделиться
  • 1
    Быстрый ярлык для просмотра бит-бит, который поддерживает компилируемый libx265, заключается в запуске ffmpeg -h encoder=libx265 | grep pixel. Моя сборка имеет Supported pixel formats: yuv420p yuv422p yuv444p gbrp yuv420p10le yuv422p10le yuv444p10le gbrp10le yuv420p12le yuv422p12le yuv444p12le gbrp12le gray gray10le gray12le – Gyan 6 June 2017 в 09:14
  • 2
    @Mulvya Это здорово! Я добавил это в свой ответ, спасибо :) – andrew.46 6 June 2017 в 09:38
  • 3
    10-бит HEVC отлично работает по ubuntu zesty по умолчанию. – Danial Behzadi 6 June 2017 в 13:39
  • 4
    @DanialBehzadi Замечательно! Как насчет 8 и 12 бит? Я не тестировал на Zesty по умолчанию ... – andrew.46 6 June 2017 в 21:31
  • 5
    @ andrew.46 8-бит по умолчанию и работает из коробки. Я мог кодировать 12 бит, но я не смог декодировать его с помощью Totem (не поддерживается) или VLC (зеленый экран, но голос работает). – Danial Behzadi 7 June 2017 в 11:32

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

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

1. 8bit HEVC-кодирование с помощью FFmpeg ...

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

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

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

1. 8bit HEVC-кодирование с помощью 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. 12bit HEVC-кодирование с помощью FFmpeg ...

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

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

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

3. 12bit HEVC-кодирование с помощью FFmpeg ...

Если вы не знаете, какие форматы пикселей (для параметра -pix_fmt FFmpeg для жизненно важных -pix_fmt) поддерживаются вашей копией FFmpeg и libx265, следующая команда будет показать подробности: ffmpeg -h encoder=libx265 2>/dev/null | grep pixel FFmpeg и H.265 Руководство по кодированию: базовая информация о кодировании HEVC с помощью FFmpeg, ничего из 8 | 10 | 12-битной кодировки, хотя ... Zesty 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 возможные битовые глубины ...
4
ответ дан andrew.46 18 July 2018 в 09:05
поделиться

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

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

1. 8bit HEVC-кодирование с помощью FFmpeg ...

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

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

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

1. 8bit HEVC-кодирование с помощью 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. 12bit HEVC-кодирование с помощью FFmpeg ...

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

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

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

3. 12bit HEVC-кодирование с помощью FFmpeg ...

Если вы не знаете, какие форматы пикселей (для параметра -pix_fmt FFmpeg для жизненно важных -pix_fmt) поддерживаются вашей копией FFmpeg и libx265, следующая команда будет показать подробности: ffmpeg -h encoder=libx265 2>/dev/null | grep pixel FFmpeg и H.265 Руководство по кодированию: базовая информация о кодировании HEVC с помощью FFmpeg, ничего из 8 | 10 | 12-битной кодировки, хотя ... Zesty 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 возможные битовые глубины ...
4
ответ дан andrew.46 24 July 2018 в 16:54
поделиться
4
ответ дан andrew.46 31 July 2018 в 10:22
поделиться
4
ответ дан andrew.46 31 July 2018 в 19:58
поделиться
4
ответ дан andrew.46 2 August 2018 в 14:50
поделиться
4
ответ дан andrew.46 3 August 2018 в 17:12
поделиться
4
ответ дан andrew.46 5 August 2018 в 01:58
поделиться
4
ответ дан andrew.46 6 August 2018 в 19:04
поделиться
4
ответ дан andrew.46 8 August 2018 в 23:27
поделиться
4
ответ дан andrew.46 14 August 2018 в 17:41
поделиться

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

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