Codificar con x265 - duda

¿Qué pasaría si codifico un vídeo en x265 usando un hardware que no es compatible con dicha codificación?

Si utilizo un i3 de primera generación o un i7 Skylake, ¿se comprimiría el vídeo dando el mismo resultado en calidad de imagen/tamaño de archivo? siendo la única diferencia el tiempo que toma en comprimir el vídeo sin importar el hardware o habría alguna variación, perdida de compresión, calidad de imagen,...

Lo pregunto porque mi procesador no es compatible con esa codificación pero de igual forma puedo hacer un x265 con FFmpeg.
No es compatible por aceleración de la GPU integrada Intel (si es que el programa soporta aceleración h265 en caso de tenerla), pero por software a golpe de CPU no tienes problema alguno, simplemente tardas mas. La calidad será la misma si hablamos del mismo Codec, bitrate y opciones seleccionadas.

Eso sí... comprimir en h265 tarda una barbaridad mas que hacerlo en h264, ya verás lo que tarda tu mismo.

Y las compresiones por hardware en las tarjetas graficas dan algo menos de calidad que por software, pero ahorran un tiempo notable.
Conviene hacer una aclaracion.

MPEG-4 HEVC es lo que se viene llamando H265, y que es lo que entendemos como el FORMATO DE VIDEO h265.

X265 es uno de tantos programas ENCODER al formato HEVC, es decir ES EL SOFTWARE que CODIFICA al FORMATO de video h265.

No hay que confundir x265 con h265, ya que no son lo mismo, el primero es el software que codifica el video y el segundo es el nombre del formato de video.

CarloMagneto escribió:¿Qué pasaría si codifico un vídeo en x265 usando un hardware que no es compatible con dicha codificación?


Si te refieres a un aparato reproductor multimedia, pues no podra reproducirlo simplemente, te dira video no soportado, o streamd e video nio soportado o formato de video no soportado, en algunos quiza el audio si se escuiche.

Si te refieres a una tablet, smartphone o PC con tener el filtro decodificador disponible, podras reproducirlo sinm problemas.

SI te refieres al GPU [procesador grafico] y la aceleracion de video, pues depende, que ya hay algunos encoders que utilizan OpenCL para el trabajo de codificacion, con esto, ya no se requiere de que el fabricante del GPU diseñe circuitos especializados y dedicados a la codificacion de un formato de video, puesto que ahora se puede programar un encoder a cualquier formato de video existente o por exirtir, Esto que gracias a que con OpenCL se pueden usar los circuitos de computo de la GPU para cualquier tarea, casi como si se tratara de una CPU.





hilo_encoder-a-mpeg-4-hevc-h265_2136816


Si utilizo un i3 de primera generación o un i7 Skylake, ¿se comprimiría el vídeo dando el mismo resultado en calidad de imagen/tamaño de archivo? siendo la única diferencia el tiempo que toma en comprimir el vídeo sin importar el hardware o habría alguna variación, perdida de compresión, calidad de imagen,..




Depende...

Si esta la PC exclusivamente dedicada a la tarea de codificacion, la calidad sera la misma; esto mientras cada CPU este dentro de lo minimo necesario para realizar la codificacion. Pero si la PC esta realizando otras tareas, pues la de menor potencia de computo te puede dar errores de codificacion, que van desde saltos, cuadros [macrobloques] dentro de la imagen que no tienen nada [se ven en color negro o rosa o verde], hasta alguna distorcion de la imagen y otras incionsistencias.


Lo pregunto porque mi procesador no es compatible con esa codificación pero de igual forma puedo hacer un x265 con FFmpeg.


Todo procesador es compatible, otra cosa que no tenga la potencia minima necesaria para realizar un trabajo de analisis de imagen y codificacion.

hilo_duda-acerca-del-uso-de-x265-en-ordenadores-antiguos_2163556



.
CarloMagneto escribió:... siendo la única diferencia el tiempo que toma en comprimir el vídeo sin importar el hardware ...


Esa es la respuesta.

Da igual si usas un Pentium 4, la única diferencia es el tiempo que demora. De hecho diría que es mas preciso codificar por software o lo que es puro cpu ya que a base de hardware la prioridad es la eficiencia para reducir tiempos pero lo cual también tienta a lo tecnología a usar atajos para lograr el objetivo lo cual reduce la calidad (aunque ligeramente) a comparación de hacerlo por software.

Resumiendo, si es una codificación ocasional haz uso del cpu. Si es una codificación por volumen mejor consigue componentes que incluyan aceleración por hardware por que si vas a codificar series completas por ejemplo a la larga es un completo martirio.

Saludos.
Muchísimas gracias por sacarme esa duda, me rondaba por la cabeza hace tiempo.
TRASTARO escribió: si la PC esta realizando otras tareas, pues la de menor potencia de computo te puede dar errores de codificacion


No es así, tardará más, pero no existe tal problema de codificación por falta de potencia de cómputo.Los problemas a los que se refiere TRASTARO son debidos a una mala codificación, un encoder con errores, problemas de red u otros.

Sí que puede diferir la calidad SW vs HW por diferentes parámetros:

- Configuración del encoder
- Características soportadas en el mismo
- Implementación concreta de la compresión

Saludos.
5 respuestas