25 de septiembre de 2009

¿Cómo usar x264 CLI?

Vale, aquí os mostraré cómo se usa el x264 CLI a base de command lines. Cosa que muchos no saben. Primero que nada a bajar la última revisión de x264 . Recordad que está en constante desarrollo, así que la última puede o no ser una revisión estable y traer o no bugs, ya les tocará averiguarlo en Doom10. Una vez abajo, hay que hacer un .bat para llamar a x264. En este .bat irá las especificaciones del encode y todo. Cómo se crea? Fácil, abrid el notepad y guardar con extensión .bat. :3~

Ejemplo de lo que debe ir en el .bat:
x264.exe --crf 16.0 --preset veryslow --ref 9 --output "output.mkv" "oblivious.loosless.avs" 2> log.txt

La cosa es poner: x264.exe --aquí van las command line, las especificaciones de tu encode --output "aquí el nombre del output.mkv" "aquí el nombre del avs.avs" 2> log.txt (es importante poner el log).

Ahora que tienen el .bat, sólo hay que crear el avs de lo que vayan a encodear y tener todo en la misma carpeta (el x264.exe, el x264.bat y el .avs). Sólo ejecutar el .bat y voilá, su encode con x264 CLI empezará en poco.

Cuáles son las ventajas de usar el CLI y no Megui? Bueno, aunque con megui se puede introducir command lines, por lo general la core no está actualizada con las nuevas implementaciones de x264. Además de que Megui te gasta más ram de lo normal, y dirán "tengo suficiente ram, no me importa usar megui" pero yo les diré, saben lo que es mbtree? Pues si no, investíguenlo, que la última revisión de x264 ya lo trae por default, y si no saben lo que es tal vez les joda un poco el encode. Y por qué digo lo del mbtree? Porque este te come ram a morir... por eso la ventaja de usar el CLI xD. Claro que como toda implementación la pueden desactivar y hacer un encode como venían haciendo hasta ahora con un simple "--no-mbtree".
Edit: Don't ever ever use Megui, está tan buggeado que encodear con las nuevas revisiones de x264 les será un dolor de cabeza, usar el cli es mucho más fácil y eficiente ahora.

Espero que esta info le sirva a más de uno.
Además, lo que necesitan saber más que nada es manejar los settings de x264, los cuales encuentran aquí:
x264 Settings - MeWiki
kbye o/

18 comentarios:

Jonathan dijo...

Creo que es --nombtree o algo así, y no necesariamente tienes que poner el bat y el avs en la misma carpeta del x264, con poner la ruta del avs en el bat y la ruta del video de salida es suficiente.

Devil_lord dijo...

Pero así te complicas mas XD

Thesis dijo...

Sí, obviamente que puedes poner la ruta del avs y el vid de salida, pero dónde puse que era necesario? xDD

Lo del mbtree no recuerdo si era 0 o de otra forma, igual si activas las B-Pyramid el mbtree no funciona pues no es compatible, cosa que aconsejo activar si no váis a usar mbtree. :3

SirPsycho dijo...

"Vale, aquí os mostraré..."

WTF??

¡¡Hablá como mexicano, la re puta madre que te parió!!

Sos MEXICANO, ¿acaso no tenes orgullo? D=

Vos no sos Gaara. Alguien se está haciendo pasar por vos...

Gaara... Regresa... xD!

SirPsycho dijo...

Más te conviene aprobar mi comentario...

El que te guste, ya que lo mandé 2 veces xD!

Thesis dijo...

Qué zorra, ni que tuviera que ser español para usar el "os". (´-´)=

Ahora tú usas el acento de tu país sólo para decirme eso... xD

SirPsycho dijo...

Es cierto, sólo lo uso para decirte eso xD!

BTW Menos RAGE y más Tips...
Algunos son muy buenos =D

(No hay nada peor, que las caritas que ponen los retasados mentales a sus comentarios... Ultimamente agrego muchas a los mios D= )

Thesis dijo...

Esta "D=" y esta "=D" son las peores caritas... xD
Al menos usa el "xD" o ":3" o "ó_ó", esas son mejores...

Más tips cuando se me venga a la mente qué poner que no sepa la gente, me da lata hacer tochos y pensar qué es lo que no sabe la gente... Tampoco me voy a gastar en poner información que ya hay en otros lares. xD

Alquimista dijo...

gracias por el tutorial, que desventajas tienen el mbtree, solo el consumo de ram.

Thesis dijo...

Aparte del consumo exagerado de RAM, no está optimizado para los fades, es decir, los fades valen madres si usas mbtree, salvo por eso, es una gran mejoría lo que hace con la calidad de imagen, así que ya queda a decisión del encoder si usarlo o no, si los fades le son importantes o no. Si me preguntas a mí, bueno, yo no usaré mbtree hasta que mejore ese aspecto aunque no me importa si alguien lo hace, como dije queda a decisión del encoder. Espero no tarde mucho en arreglarse, se supone que con la salida de las Weight P se arreglará pero sigue en proceso de desarrollo.

Anónimo dijo...

Buenas, muchas gracias por la info, me interesa encodear por CLI, seguí los pasos que diste pero no encodea :( me da este error:
x264 [error]: No output file. Run x264 --help for a list of options.

pero yo especifiqué el output, es encode a 2 pass, no CRF. Help me please xD, gracias nuevamente

Thesis dijo...

mmm, yo nunca uso las 2pass, pero es algo así:

pass1: x264.exe --preset slower --pass 1 --bitrate 1500 --stats "stats.tmp" --slow-firstpass --thread-input --output NUL "input.avs"

pass2: x264.exe --preset slower --pass 2 --bitrate 1500 --stats "stats.tmp" --thread-input --output "output.mkv" "input.avs"

O sea, en la primera pasada creas los "stats.tmp" y en la segunda los usas para crear el output, sustituye el "--preset slower" por tus propios settings, como el ejemplo que puse en la entrada, se pueden usar los mismos para crf y 2pass, da igual. Espero te sirva.

Saludos. :3

Anónimo dijo...

Muchas gracias por la respuesta, ahora probaré y te cuento como me fue, he andado corto de tiempo por eso la tardanza en las gracias xD, ojalá dieras mas tips sobre buen encode para salirme del grupo de perrys lol, cuidate xD

Thesis dijo...

lol, bueno siempre podéis preguntar, la cosa está en querer aprender, que no muerdo hoyga (sólo hago trolleo jratix). xD

De hecho, he abierto un tema de ayuda de Avisynth en FLF, ahí podéis preguntar sobre encode también. Por si tenéis más dudas.

Kyubi Stuff dijo...

Hoyga hamijo, no sé bien donde la estoy cag... ke no me resulta. Ahora me da este error:

"pass2:" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.

Hay que hacer la pass1 primero y luego cambiar la info en el .bat para la pass2 o se puede todo junto en el .bat?

Aquí está mi .bat, a ver si me echas un ojo donde jodí la marrana:

pass1:x264.exe --profile high -- fps 23.976 --no-mbtree --weightp 2 --level 4.1 --ref 6 --no-fast-pskip --bframes 5 --direct auto --deblock 1:1 --subme 10 --trellis 2 --partitions all --me umh --threads 3 --thread-input --aq-strength 0.6 --no-dct-decimate --rc-lookahead 60 --pass 1 --bitrate 1500 --stats "stats.tmp" --slow-firstpass --thread-input --output NUL "BLEACH245.avs"

pass2: x264.exe --profile high -- fps 23.976 --no-mbtree --weightp 2 --level 4.1 --ref 6 --no-fast-pskip --bframes 5 --direct auto --deblock 1:1 --subme 10 --trellis 2 --partitions all --me umh --threads 3 --thread-input --aq-strength 0.6 --no-dct-decimate --rc-lookahead 60 --pass 2 --bitrate 1500 --stats "stats.tmp" --thread-input --output "Bleach 245.mp4" "BLEACH245.avs" 1280x720 2>log.txt

Pd: no queria hacer nada sino le agregaba la resolución ¿?

Mil gracias de antemano xD

Thesis dijo...

"Hay que hacer la pass1 primero y luego cambiar la info en el .bat para la pass2 o se puede todo junto en el .bat?"

Eso, primero haces las pass1 y luego cambias el bat para que haga la pass2, y no tienes que especificar resolución ni fps, no lo hagas.

"-threads 3 --thread-input"

Tampoco especifiques el número de threads dos o tres veces, si dejas --thread-input x264 te va a detectar cuántos threads usar automáticamente.

"--rc-lookahead 60"

No especifiques el rc-loolahead si no usas mbtree, rc lookahead es un parámetro de éste. Además de que te falta especificar las b-pyriamids en tu encode, eso se hace así "--b-pyramid normal". Usa las b pyramids si no usas mbtree, si usas mbtree no las puedes usar porque no son compatibles.

Kyubi Stuff dijo...

OMG, gracias por todo de nuevo. Haré pruebas a ver si por fin logro encodear algo en CLI xDD, sino me resulta me verás nuevamente por aquí...y si resulta también xDDD cuidate y thanks

Sessho dijo...

Mola, aunque no tengo ni idea de encodeo xd.
Saludos