Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

17 de Septiembre de 2014, 03:23
Inicio Ayuda Buscar Ingresar Registrarse
Noticias: DVDFab HD Decrypter New version 8.2.2.9 Qt
Actualuzación de llaves de decriptación,  añadido soporte para nueva protección Java como las encontradas en  "The Last Stand", "Jack Reacher".
http://www.mundodivx.org/foro/index.php?topic=42430.0
Añadir buscador a Mozilla Firefox  

Foro MundoDivX & H264  |  General y otros temas  |  Manuales  |  Tema: Manual x264 CLI

Moderadores: Dressler, LUCHOO, Amármol, 888
« anterior próximo »
Páginas: [1] 2 3 4 » Ir Abajo Imprimir
0 Usuarios y 1 Visitante están viendo este tema.
Autor Tema: Manual x264 CLI  (Leído 24961 veces)
piscator
Colaborador
******
Desconectado Desconectado

Reg: 18-04-2008
Mensajes: 1.802


« Post inicial: 04 de Octubre de 2010, 12:31 »

x264 cli

En esta pequeña guía vamos a mostrar como codificar un video con x264.exe usando líneas de comandos.
Aplicaciones como MeGUI pueden usar x264.exe, pero ya veremos que trabajar en línea de comandos no es tan complicado. Sirve tanto para usuarios noveles como para expertos, dadas las últimas modificaciones en el códec que cuentan con presets que incluyen las configuraciones más usadas y simplifican mucho la tarea.

¿Por qué usar x264 cli y no x264VFW?

Por una razón muy sencilla: la única versión oficial del códec es x264 cli. X264VFW no tiene soporte.

Podemos descargar el X264.exe desde aquí
http://x264.nl/

Bajad la versión de 32bits. Aunque nuestro equipo esté preparado para la versión de 64bits no la recomiendo por lo siguiente: vamos a necesitar avisynth 64bits. De las docenas de aplicaciones y filtros que hay en avisynth solo un pequeño porcentaje funcionan en 64bits. Y si no las podemos usar estamos atados de manos, así que recomiendo usar avisynth y x264 de 32bits.

Algunas opciones del códec x264 que hemos de conocer:

Presets: ordenados de menos eficiencia (más rapidez de codificación) a más eficiencia (menos rapidez) tenemos Ultrafast - Very fast ? Fast ? Medium ? Slow ? Slower ? Placebo Recomendamos Slow. Si nuestro PC está muy limitado pues Medium.

Tune (afinar la compresión): opciones para el tipo de video del que partimos (animación, real,). Destacamos Film ? Animation ?Grain Respectivamente para imágenes reales, para dibujos animados (cartoon: fondos planos, sin texturas, tipo Los Simpson) y para conservar el grano del video (como por ejemplo películas filmadas en 16mm. Ojo que esta opción aumenta mucho el bitrate).

Level: para establecer las frames que se tomarán de referencia. Puede ser 3.1, 4.1, 5.1, ? (para un video con resolución 1280x720 correspondería a 5, 9 y 16 ref-frames respectivamente). Recomendamos el level 4.1 para una mayor compatibilidad con reproductores tipo mediatank y demás.

Nótese que el indicar el Level a 4.1 no siempre asegura que los vídeos codificados se reproducirán correctamente, ya que los reproductores tienen limitaciones en cuanto al máximo de flujo de datos que puede gestionar el procesador del aparato. Las especificaciones para los Blu-ray limitan la tasa de datos de video a 40mbit y el buffer de 30mbit. Para ajustar esto incluiremos en la línea de comandos estas instrucciones --vbv-bufsize 30000 --vbv-maxrate 40000

A diferencia del XviD, el x264 funciona perfectamente a una pasada, y no vale la pena realizar dos a no ser que queramos fijar un bitrate o un tamaño final concreto. Al hacerlo en una pasada vamos a buscar una calidad constante, por lo que no tendremos control sobre lo mencionado.

También decir que los valores de los quants para cada frame (Q) van desde 1 (más calidad más tamaño) a 51 (menos calidad menos tamaño). Los valores que Q ofrecen gran calidad estarían entre 19 y 23.

En cuanto a las resoluciones podemos tranquilamente especificar valores de resolución mod4 cuando creemos el script de avisynth.


Para esta guía suponemos que:
  • El x264.exe está en la ubicación C:\
  • Hemos creado un script de avisynth para cargar el video y realizar otras operaciones como crop, resize , denoising, etc (ver manual avisynth) C:\script.avs
  • El video resultante va a ser C:\video.mkv


CODIFICACIÓN EN UNA PASADA


Podemos usar para una single-pass CQP (Constant Quantization Parameter) o CRF (Constant Rate Factor). La mejor manera de hacerlo es usando CRF.

Usando CQP por ejemplo a Q=20, todos los frames se codificaran a Q=20, independientemente de cómo sean. Habrá valores fijos para las I, P y B-frames.

El Rate Factor es una medida de calidad, y puede variar los valores de Q según cómo sean nuestras frames ya que tiene en cuenta el movimiento. Asignará valores medios no fijos para las I/P/B. En las escenas con mucho movimiento aumenta la compresión y por tanto el valor de Q (menos calidad), y en las escenas con poco movimiento disminuye la compresión y baja el valor de Q (más calidad). ¡¿Pero no era al revés?! Lo explicamos.
En escenas con mucho movimiento asigna un Q mayor ya que el ojo humano no puede fijarse en todos los detalles, y si hay alguna imperfección no nos daremos cuenta. En escenas con poco movimiento sí nos podemos dar cuenta si hay alguna imperfección. Así, si el CRF lo asignamos en 20, para las escenas con movimiento subirá p.ej a Q=22 y para las sin movimiento a Q=18.
¡Ojo!, esto no quiere decir que el bitrate asignado a las escenas con mucho movimiento será menor que a las de poco. Estamos hablando de calidad constante, luego como es lógico, una escena movida tendrá un bitrate mayor aunque esté ligeramente más comprimida que una que no. No aparecerán artefactos ni macrobloques en este tipo de escenas si nos movemos en los valores de CRF recomendados, que serán entre 19 y 23.
Un análisis objetivo (por ejemplo PSNR) nos diría que un montaje a CRF=20 tiene menos calidad que uno a CQP=20. Pero como nuestra apreciación es subjetiva, usando CRF apreciaremos más calidad. Por ello hay que coger con pinzas los análisis PSNR.

Línea de comandos para codificación a una pasada indicando el CRF.
Vamos a Menu de inicio>Ejecutar>cmd y le damos a enter. Se abre la consola y escribimos

"c:\x264.exe" --preset slow --tune film --crf 19 --level 4.1 --vbv-bufsize 30000 --vbv-maxrate 40000
--output "c:\video.mkv" "c:\ script.avs"

Vemos en color las opciones que podemos variar.


CODIFICACIÓN EN DOS PASADAS

Usaremos las dos pasadas cuando tengamos que establecer un determinado bitrate por cuestiones de tener que controlar el tamaño final del video.

Primer pasada
"c:\x264.exe" --preset slow --tune film --pass 1 --bitrate 2500 --stats "c:\video.stats" --level 4.1 --vbv-bufsize 30000 --vbv-maxrate 40000 --output NUL "c:\ script.avs"

Segunda pasada
"c:\x264.exe" --preset slow --tune film --pass 2 --bitrate 2500 --stats "c:\video.stats" --level 4.1 --vbv-bufsize 30000 --vbv-maxrate 40000 --output "c:\video.mkv" "c:\script.avs"

Vemos en color las opciones que podemos variar.


TEST DE COMPRESIBILIDAD. COMO SABER SI EL BITRATE QUE LE INDICO ES EL ADECUADO.

Si se da el caso de que quiero montar un video y que me quepa digamos en ½ DVD, según sea la resolución y lo que ocupe el audio habré de indicarle el bitrate. Para ello se usa una calculadora de bitrate. Aquí hay una
http://forum.doom9.org/showthread.php?t=122562

¿Cómo saber si me quedo corto o me paso? Podemos hacer un test de compresibilidad sobre una parte del video. Será rápido y nos adelantará resultados finales.
En el script de avisynth añadimos al final del mismo la función SelectRangeEvery(500, 25) , para que comprima un 5% del video.
Descripción de la función: SelectRangeEvery(clip, int "every", int "length", int "offset", bool "audio"). En el ejemplo cada 500 frames cogerá 25 (en un video a 25FPS equivale a un segundo por cada 20). Los valores los podemos variar a gusto.

La línea de comandos:
"c:\x264.exe" --preset slow --tune film --pass 1 --bitrate xxxx --stats "c:\video.stats" --level 4.1 --vbv-bufsize 30000 --vbv-maxrate 40000 --output NUL "c:\ script.avs" --slow-firstpass

Vemos en color las opciones que podemos variar. El valor del bitrate xxxx será el que nos dé la calculadora. Nótese que se añade --slow antes de first pass ya que por defecto las primeras pasadas se hacen rápido, y a nosotros nos interesa que se haga despacio y bien.

Al terminar la codificación nos arrojará la info del ratefactor resultante.
x264 [info]: final ratefactor: 20.53

Como hemos dicho que el ratefactor será el parámetro de calidad, si nos da unos valores dentro de los recomendados es que lo hemos acertado. Si no ha sido así, hemos de replantearnos el cambiar el tamaño final buscado y por tanto el bitrate, o variar la resolución, etc
Indicar que si la fuente es mala y tiene mucho ruido, el uso de un denoiser en avisynth puede ahorrarnos algo de bitrate.


CONSIDERACIONES FINALES

Las fuentes en HD suelen ser bastante uniformes y no tener mucho ruido y artefactos, así que con un poco de práctica podemos dar con los valores de CRF que más nos convengan y a partir de ahí usarlos. No ocurre lo mismo con los DVDs, que los hay que dan pena.


En línea
ElMagno90
Colaborador
******
Desconectado Desconectado

Sexo: Masculino
Reg: 27-10-2009
Mensajes: 2.024


« Respuesta #1: 05 de Octubre de 2010, 05:27 »

Excelente manual, excelente. Obviamente voy a probarlo con detenimiento asi me lo aprendo bien ;-D

Saludos Saludo
En línea

pancho.1985
Miembro nuevo
*
Desconectado Desconectado

Reg: 03-11-2010
Mensajes: 1


« Respuesta #2: 03 de Noviembre de 2010, 02:30 »

Gracias señor Piscator, este breve manual me ha servido mucho para mi edición de videos casera. Gracias de corazón por explicar y desglozar cada una de las partes que componen este relativo nuevo códec de video.
En línea
piscator
Colaborador
******
Desconectado Desconectado

Reg: 18-04-2008
Mensajes: 1.802


« Respuesta #3: 03 de Noviembre de 2010, 14:02 »

No hay de que. el manual ciertamente es muy básico (como mis conocimientos del códec), pero quizás por ello le sea útil a muchos
En línea
evitaerc
Amigo de MundoDivX
*****
Desconectado Desconectado

Reg: 11-12-2010
Mensajes: 714


« Respuesta #4: 09 de Enero de 2011, 17:24 »

Si utilizo un programa como XMediaRecode, puedo desinstalar x264vfw e instalar x264cli?.
Me interesa lo de una sola pasada.
En que se diferencian x264vfw y x264cli?
Gracias.
En línea
tebasuna51
Colaborador
******
Desconectado Desconectado

Reg: 22-02-2010
Mensajes: 2.318



« Respuesta #5: 09 de Enero de 2011, 18:37 »

x264 CLI no necesita instalación ni necesitas desinstalar x264 VFW ni ninguna otra cosa.
Tampoco afectará a XMediaRecode (usa libx264.dll en su carpeta) ni para bien ni para mal.

Las actualizaciones de x264 CLI son muy frecuentes, las de x264 VFW escasas.
El x264 CLI se puede usar sin ayuda de ningún otro soft como se ha visto en este hilo.
En línea
evitaerc
Amigo de MundoDivX
*****
Desconectado Desconectado

Reg: 11-12-2010
Mensajes: 714


« Respuesta #6: 09 de Enero de 2011, 19:03 »

Si XMediaRecode usa libx264.dll en su carpeta, puedo eliminar tanto x264 CLI como x264vfw, no? Porque yo solo utilizo XMediaRecode para codificar.
Perdona por tanta pregunta.... No domino mucho (para nada) estos temas.....

Gracias.
En línea
tebasuna51
Colaborador
******
Desconectado Desconectado

Reg: 22-02-2010
Mensajes: 2.318



« Respuesta #7: 10 de Enero de 2011, 02:56 »

Claro.
En línea
evitaerc
Amigo de MundoDivX
*****
Desconectado Desconectado

Reg: 11-12-2010
Mensajes: 714


« Respuesta #8: 10 de Enero de 2011, 06:37 »

Vale, gracias tebasuna. Desinstalaaaaaaaaaaaaando x264vfw!!!!!!
Y la última pregunta: tal y como dice Piscator "A diferencia del XviD, el x264 funciona perfectamente a una pasada, y no vale la pena realizar dos a no ser que queramos fijar un bitrate o un tamaño final concreto. Al hacerlo en una pasada vamos a buscar una calidad constante, por lo que no tendremos control sobre lo mencionado" No se que x264 utiliza XMediaRecode, si el vfw, el CLI, o el cacahuete (por decir algo)... supongo que podré seguir la recomendación de Piscator, verdad?

Gracias!!
En línea
profiler 2.0
Colaborador
******
Desconectado Desconectado

Sexo: Masculino
Reg: 26-11-2009
Mensajes: 2.223



« Respuesta #9: 10 de Enero de 2011, 16:46 »

... supongo que podré seguir la recomendación de Piscator, verdad?
Gracias!!
si el uso del CLI supone un ahorro de programas instalados... mas preciso y directo...y versàtil... saludos  Si Saludo
En línea


evitaerc
Amigo de MundoDivX
*****
Desconectado Desconectado

Reg: 11-12-2010
Mensajes: 714


« Respuesta #10: 13 de Enero de 2011, 10:16 »

Hola piscator. Comentas que "el x264 funciona perfectamente a una pasada, y no vale la pena realizar dos a no ser que queramos fijar un bitrate o un tamaño final concreto. Al hacerlo en una pasada vamos a buscar una calidad constante, por lo que no tendremos control sobre lo mencionado. También decir que los valores de los quants para cada frame (Q) van desde 1 (más calidad más tamaño) a 51 (menos calidad menos tamaño). Los valores que Q ofrecen gran calidad estarían entre 19 y 23.

EL programa que yo utilizo para codificar utiliza un rango entre 0.0 y 64.0 para realizar una pasada a bitrate constante. ¿Que valor he de utilizar para conseguir la máxima calidad posible?

Gracias.

En línea
piscator
Colaborador
******
Desconectado Desconectado

Reg: 18-04-2008
Mensajes: 1.802


« Respuesta #11: 13 de Enero de 2011, 11:03 »

bueno yo creo que en el post queda claro que hay que usar CRF constante y no bitrate constante
En línea
tebasuna51
Colaborador
******
Desconectado Desconectado

Reg: 22-02-2010
Mensajes: 2.318



« Respuesta #12: 13 de Enero de 2011, 11:53 »

...
EL programa que yo utilizo para codificar utiliza un rango entre 0.0 y 64.0 para realizar una pasada a bitrate constante. ¿Que valor he de utilizar para conseguir la máxima calidad posible?
Xmedia Recode ofrece cuatro opciones:

Bitrate promedio (ABR)
2 pasos, Bitrate promedio
Calidad constante
Cuantizador constante

Ni Bitrate promedio (ABR), ni Cuantizador constante son recomendables.
Nos queda el modo 2 pasos eligiendo el bitrate promedio (tamaño) o el modo 1 paso Calidad constante que te permite valores entre 0 y 64.

Evidentemente la máxima calidad es 0 (modo sin pérdidas) pero no creo que sea lo que deseas porque necesitarías un bitrate muy alto para conseguirlo. En toda recodificación hay que llegar a un compromiso entre calidad y tamaño, ese compromiso es subjetivo y debe ser tu elección. Haz pruebas y elige.


En línea
evitaerc
Amigo de MundoDivX
*****
Desconectado Desconectado

Reg: 11-12-2010
Mensajes: 714


« Respuesta #13: 13 de Enero de 2011, 14:24 »

Gracias a los dos...
Es raro, porque utilizando XMediaRecode en el modo de 1 paso Calidad constante, a un nivel de 64, la calidad es pesima. Y utilizando el valor 0 tambien. Ire probando. Si no, utilizare 2 pasadas.
Gracias!!!
En línea
evitaerc
Amigo de MundoDivX
*****
Desconectado Desconectado

Reg: 11-12-2010
Mensajes: 714


« Respuesta #14: 14 de Enero de 2011, 10:46 »

Ok tebasuna51: lo he probado con varios valores y el perfecto es 16 porque avinaptic me dice que en un archivo de vídeo MP4 H264/AVC:

[ Relevant data ]

Resolution: VERY HIGH (720 x 432)
Width: multiple of 16 (GOOD)
Height: multiple of 16 (GOOD)
Average DRF quality: HIGH (21.021678)
Standard deviation quality: HIGH (0.447990)
Std. dev. weighted mean: HIGH (0.237276)

Si bajo a 15 la calidad es un pelín mejor, pero el tamaño del archivo pasa de 3Gb. Si bajo a 12, en el Average DRF quality de Avinaptic, aparece VERY HIGH, que es maxima calidad relación peso, pero el archivo de video se dispara a mas de 4Gb.


Psicator: comentas que el x264 funciona perfectamente a una pasada Si un archivo a 1 pasada con estos datos de Avinaptic me crea un archivo de 2819MB en donde consigo un Average DRF quality: HIGH (21.021678)... Un archivo a 2 pasadas de 2150MB... ¿tendrá mejor, igual o peor calidad que el de 1 pasada?
En línea
Páginas: [1] 2 3 4 » Ir Arriba Imprimir 
Foro MundoDivX & H264  |  General y otros temas  |  Manuales  |  Tema: Manual x264 CLI

Moderadores: Dressler, LUCHOO, Amármol, 888
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!
Página creada en 0.087 segundos con 21 consultas.

Google visitó esta página por última vez: 14 de Septiembre de 2014, 10:51