Поддержка уровня NVIDIA HEVC 4k 5.0

Я пытаюсь кодировать поток 4K (3840x2160) с уровнем меньше или равным 5.0 без успеха.

Я использую последнюю сборку ffmpeg, драйверы nvidia 410.66.
Все докеризовано на nvidia / cuda:8.0-devel-ubuntu16.04 изображение.

мои команды test:

ffmpeg -nostdin -loglevel trace -hwaccel cuvid -c:v hevc_cuvid -analyzeduration 10000000 -probesize 10000000 -y -i "udp://239.1.2.3:1234?pkt_size=1316&timeout=2500000&buffer_size=409600&fifo_size=1000000&overrun_nonfatal=1" -map i:0x100 -filter:v:0 "scale_cuda=w=3840:h=2160" -c:v:0 hevc_nvenc -profile main -level 150 -preset llhp -zerolatency 1 -cbr 1 -rc cbr_ld_hq -b:v:0 2000k -minrate:0 1500k -maxrate:0 2400k -bufsize:0 1000k -map i:0x101 -c:a copy -f ismv /tmp/test.ismv

оно должно быть меньше или равно, потому что спецификация Яблоко говорит:

1.6. Профиль, уровень и уровень для HEVC должны быть меньше или равны профилю Main10, уровень 5.0, Высокий Уровень.

странно то, что если я кодирую с меньшим разрешением (HD) он работает, но с разрешением 4K я получаю эту ошибку:

сбой InitializeEncoder: недопустимый параметр (8)
Ошибка инициализации выходного потока 0: 0 -- ошибка при открытии кодировщика
для выходной поток #0:0 -возможно, неправильные параметры, такие как bit_rate,
скорость, ширина или высота

моя команда настройки ffmpeg:

PKG_CONFIG_PATH="/usr/local/nv-codec-headers" ./configure --prefix=/usr/local/ffmpeg_build --extra-cflags='-I/usr/local/ffmpeg_build/include -I/usr/local/cuda/include/' --extra-ldflags='-L/usr/local/ffmpeg_build/lib -L/usr/local/cuda/lib64/' --bindir=/usr/local/bin --extra-libs=-ldl --enable-cuvid --enable-cuda --enable-cuda-sdk --enable-nvenc --enable-filter=scale_cuda --enable-filter=thumbnail_cuda --enable-libnpp --enable-gpl --enable-libx264 --enable-libfdk-aac --enable-nonfree --enable-version3
22
задан Facundo
10.01.2023 22:38 Количество просмотров материала 2410
Распечатать страницу

1 ответ

уровень 5.0 HEVC поддерживает максимум 267,386,880 образцов яркости в секунду 3840 x 2160 составляет 8,294,400 образцов на кадр 8,294,400 / 267,386,880 = максимум 32 кадров в секунду. (см. здесь https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding_tiers_and_levels)

видео Video: hevc (Main 10), 1 reference frame ([36][0][0][0] / 0x0024), yuv420p10le(tv, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc - 50 кадров в секунду.

Если вы сократили частоту кадров до 25, она будет работать. В противном случае вам нужно уровень 5.1

1
отвечен szatmary 2023-01-12 06:26

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

4k-resolution
cuda
ffmpeg
nvidia-graphics-card
nvidia-quadro
Вверх