1 votos

NVIDIA HEVC 4k 5.0 nivel apoyo

Estoy tratando de codificar un 4K (3840x2160) stream con nivel menor o igual a 5.0 sin éxito.

Estoy usando ffmpeg versión más reciente, la de los drivers de nvidia 410.66. Todos dockerized en nvidia/cuda:8.0-devel-ubuntu16.04 de imagen.

Mi prueba de comando:

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

Tiene que ser menor o igual porque Apple especificación dice:

1.6. Perfil, Nivel, y el Nivel de HEVC DEBE ser menor o igual a Main10 Perfil, Nivel de 5.0, de Alto Nivel.

Lo raro es que si me codificar con menos resolución (HD) funciona, pero con resolución 4K me sale este error:

InitializeEncoder failed: invalid param (8) Error al inicializar la salida de corriente de 0:0 -- Error durante la apertura del codificador para el flujo de salida #0:0 -tal vez incorrecta de parámetros tales como la bit_rate, la tasa, la anchura o la altura

Mi ffmpeg configurar el comando:

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

1voto

szatmary Puntos 747

HEVC nivel de 5.0 admite un máximo de 267,386,880 luma muestras por segundo 3840 x 2160 es 8,294,400 muestras por trama 8,294,400/267,386,880 = un máximo de 32 cuadros por segundos. (ver aquí https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding_tiers_and_levels)

Su video 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 es de 50 fotogramas por segundo.

Si se corta la velocidad de fotogramas para el 25, va a trabajar. De lo contrario, usted necesita a nivel de 5.1

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: