Encodeando con el x264 oficial

Este tutorial va dirigido a los miembros del staff, sobre todo a los encoders, así que posiblemente use algunos términos que los demás no entenderían o lo entenderían a medias. Pero no se preocupen, google encuentra todo (no aplica a los celulares ni las llaves xD)

El X264 es uno de los codecs más usados en el mundo del fansub. Sin embargo, muchos de los encoders son “alérgicos” a usar programas de comandos y usan los GUI (Graphic User Interface) como el Megui. No quiere decir que esto sea malo… cada quién hace su trabajo como mejor le parezca… y como a mi me gusta usar la línea de comandos, les diré cómo lo hago yo xD

Herramientas necesarias:

El Avisynth. Si estás leyendo esto, creo que debes saber qué hace y cómo usarlo.

El VSFilter. Igual que el anterior. Si estás leyendo esto, debes saber qué es.

El x264 oficial. Puede descargarse desde la web oficial.

Nota: Si se planea encodear a 10 bits, es indispensable que nuestro video de origen sea de 10 bits, un archivo original *.ts o en su defecto un BD iso

Entremos en materia.

Primero vamos a crear una carpeta en C: Esto facilitará mucho los scripts. Deberá quedar así: C:\264

El x264 de 8 y 10 bits se llaman exactamente igual, así que descargaremos uno, lo renombraremos y guardaremos en esta carpeta. Luego descargaremos el otro, también lo renombramos y lo guardamos allí mismo. Debe quedar así:

Asumo que ya tenemos un script *.avs creado con nuestro video y sus respectivos filtros (incluyendo subtítulos), así que me saltaré este paso Recomiendo deshabilitar el audio en el script con audio=false, pues trabajaremos el audio y el video por separado.

Escribiendo comandos.

Ahora, vamos a crear un archivo que nos automatizará el proceso.

Abrimos el block de notas y escribimos lo siguiente:

"C:\264\x264.8bits.exe" --preset slow --tune animation --pass 1 --bitrate 1240 --stats "C:\264\video.stats" --level 4.1 --vbv-bufsize 30000 --vbv-maxrate 40000 --output NUL "C:\Users\Usuario\Desktop\script.avs"
 "C:\264\x264.8bits.exe" --preset slow --tune animation --pass 2 --bitrate 1240 --stats "C:\264\video.stats" --level 4.1 --vbv-bufsize 30000 --vbv-maxrate 40000 --output "C:\Users\Usuario\Desktop\video.H264" "C:\Users\Usuario\Desktop\script.avs"

Desglosando los comandos:

«C:\264\x264.8bits.exe»

La ubicación del ejecutable. Si pusieron el ejecutable en otro lugar (o no lo renombraron), aquí deben corregirlo.

–preset slow

Entre más lenta sea, más calidad obtendrás. Personalmente uso y recomiendo slow, pero si lo deseas, puedes usar alguno de los siguientes y verifica tus resultados:

ultrafast
very fast
fast
medium
slow
slower
placebo

–tune animation

El tipo de video de origen. Como en el fansub trabajamos con anime, esto no debe ser cambiado. Sin embargo (y solo como dato) también se puede usar –film para imágenes reales

–pass 1

El encodeo debe ser a doble pasada para asegurar calidad. Se pueden hacer más pasadas, pero no se logra gran cosa.

–bitrate 1240

Puedes ajustarlo a tu gusto, pero con este bitrate y con audio de 160 kbps logro que un episodio de anime pese (dependiendo su duración) entre 230 y 250 Mb

–stats «C:\264\video.stats»

La ubicación y nombre del archivo temporal para la primera pasada. Puedes guardarlo donde quieras y con el nombre que quieras, pero debe tener la extensión *.stats

–level 4.1

Puede ser 3.1, 4.1, 5.1, pero recomiendo 4.1 para mayor compatibilidad.

–vbv-bufsize 30000 –vbv-maxrate 40000

El hecho de indicar el Level a 4.1 no siempre asegura que los videos codificados se reproducirán correctamente, (sobre todo por limitación de hardware).

Para ajustar esto incluiremos en la línea de comandos estas instrucciones. No recomiendo cambiarlas a menos que sepas exáctamente lo que haces.

–output NUL

Significa que no es el video final, que habrá una pasada extra

«C:\Users\Usuario\Desktop\script.avs»

Ubicación de nuestro video (o script .avs) de origen

Segunda pasada

Los comandos para la segunda pasada deben ser los mismos que la primera, con las siguientes excepciones:

–pass 2

Pues eso… es la segunda pasada

–output «C:\Users\Usuario\Desktop\video.H264»

Ahora sí, este será la ubicación y nombre del archivo final

Automatizando el proceso.

Una vez que hemos ajustado el archivo según nuestras necesidades, lo guardamos en el escritorio con el nombre que deseemos, pero con la extensión *.bat

Al darle doble click al archivo creado comenzará a encodear (con todo el tiempo que esto conlleva) y nos creará un archivo llamado video.H264 (En mi script lo deja en el escritorio, pero también puedes cambiar eso)

Audio

Personalmente me gusta usar el audio original de la RAW, así no modificamos nada, pero a veces es necesario recomprimirlo. Se usa el Yamb para extraer el audio de un MP4, el mkvextractgui o mkvcleaver para los mkv o el virtualdubmod para los avi.

Si solo tenemos una pista de audio (lo más usual) se puede extraer y recomprimir (en caso necesario) en un solo paso con el programa Pazera audio extractor (gratuito) Admite casi cualquier formato de video de entrada

Multiplexando los archivos.

O para los que no saben qué es eso, es pegar el audio con el video

Si lo que deseamos es un archivo mkv, debemos usar el MKVmerge

Si lo que deseamos es un archivo mp4, debemos usar el Yamb

Y con eso terminamos este pequeño tutorial… espero que me hayan entendido xD

Acerca de Fuliazo

Técnico mexicano con 6 especialidades. Informática, electrónica, electricidad, sonorización y refrigeración... Ah, y fansubeo xD
Esta entrada ha sido publicada en Taller de Fansub y etiquetada como , , , , , . Guarda el enlace permanente.

16 respuestas a Encodeando con el x264 oficial

  1. NYVELENY dijo:

    ¿Alguien me ayuda?
    Quiero ponerle filtros al video, como por ejemplo, la saturación y esas coas. como debo configurarlo.

    Gracias de antemano por la ayuda.

  2. Xalithium dijo:

    Gran guía Fuliazo. Como siempre, una autoridad cuando a encodeo se trata.

    Para los novatos en esto, si quieren algo más simple, recomiendo el programa Handbrake. Tiene casi todas las opciones de personalización que se indican aquí, en una interfaz bastante agradable. De hecho, se puede usar el mismo script indicado aquí por el gurú para hacer sus encodes.
    La gracia es que éste programita tiene la capacidad de «quemar» o «hardsubbear» subtítulos en el vídeo, en caso de que tu dispositivo no pueda reproducirlos. Sin embargo, hay que tener unas pequeñas precauciones, como tener las fuentes instaladas en el sistema (y para eso hay que demuxear, que es un embrollo aparte)

    Personalmente, uso Handbrake para transformar vídeos a MP4, pero con codec MPEG-4 (es decir, Xvid). [No, no xvideos ¬¬]

    ¡Muchas gracias Ful, Te pasas!
    ¡Saludos!

  3. BAL dijo:

    Hice un intento de empezar, pero muchas dudas que no encontré solucionadas en ningún lado aparecieron, si alguien tiene la amabilidad de explicarme desde 0 todo el proceso o darme un tuto. Para saber en que Lv estoy ni siquiera se como hacer un script *.avs… Me gustaría aprender a usar el X264.

  4. Ryunosuke dijo:

    holas fuliazo bro aplica todo k utilizas pero me da error D:
    Me sale esto x264 [error]: could not open input file `Live03\script.avs’

    Ayuda plz >_>

  5. Adan Perez dijo:

    Excelente tutorial muy bueno, pero… ¿y como se pegan los subtitulos al video MP4?
    Gracias y saludos.

    • sakuragi dijo:

      para pegar los sub al video, los puedes pasar en un script de avisynth con tu video y tus subtitulos con la linea

      TextSub(«F:\From_hell\fh_ned.srt»)

      o
      en caso de usar el vsfiltermod
      TextSubMod(«F:\From_hell\fh_ned.srt»)

      También puedes usar el ffmpeg

  6. BizarroM dijo:

    Bueno, para contribuir, les dejo esta carpeta de aplicaciones, codecs etc mod de x264 y otros.
    http://www.mediafire.com/?gfvlpplt03rmm#u2d4vf179ykkl
    En especial, están los x264 mod que usan el chroma subsanpling 4:4:4

    Y también al mimso tiempo, quisiera sugerir que puseran un perfil de encodeo a CRF en lugar de peso custom.
    Yo con mucho gusto les dejo unos.
    Por cierto, soy MechaVizard, ya no me dejo entrar a la pagina con mi perfil anterior, nunca me regreso el cambio de contraseña 🙁
    En fin, por aquí ando poero con este nick XD.
    Raigomaru revisa tu mail con respecto a mis mails XD.

  7. Fuliazo dijo:

    @Ricardo El mediacoder tiene el mismo «problema» que el Megui. Ambas sólo son interfaces gráficas para que otros programas (en este caso el x264) hagan su trabajo. Debo admitir que nunca lo he usado, pero desde que dejé de usar las GUI, mi máquina encodea más rápido, pues se tarda ligeramente más de la mitad de lo que solía tardarse. Además, si solo lo vas a «convertir» para verlo en tu Tv, puedes hacerlo en una sola pasada (mucho más rápido). En el caso del fansub se debe hacer a doble pasada para lograr un tamaño específico de archivo, pero en tu caso supongo que eso no es problema. Solo usa esta configuración:
    "C:\264\x264.8bits.exe" --preset slow --tune animation --crf 19 --level 4.1 --vbv-bufsize 30000 --vbv-maxrate 40000 --output "C:\Users\Usuario\Desktop\video.H264" "C:\Users\Usuario\Desktop\script.avs"
    Si notas, en éste nuevo script elimino una pasada, pero se debe agregar el comando –crf que tiene que ver con la calidad. Para no marearte con explicaciones, debe quedar entre 19 y 23
    @Xerophire Sería bueno que compartieras la configuración que usas, igual mejoramos el tutorial.

  8. Xerophire dijo:

    Pues, yo no soy de este fansub, pero encodeo casi de la misma forma, usando CLI.
    @Fandiunari: perdon por la exprecion pero «MeGUI» ya deja esa mierd… ese programa no es un programa de encodeo es un programa de «Bugs» xD, dices que vale la espera, pero es por que no has encodeado nunca con CLI, en cada serie diferente, como dice el tutorial, solo tienes que editar el archivo.avs y agregarle las direcciones de los archivos a agregar, si utilizas .TS y es (mi recomendacion) haces un buen archivo de comando, no nesesitaras filtros aparte de «Trim», «crop», «tfm» y en mi preferencia el de resize a (720p), las raws «Randoms» que seguramente utilizas en el MeGUI vienen super filtradas y con un 10% aproximadamente de perdida de calidad, al encodearlas tu nuevamente, le quitas mas calidad, por el proseso de encodeo ya que cuanto mas la encodeas mas nitides le sacas al video…
    bueno se me hizo un poco largo el comentario :troll: asi que no sigo xD

    Saludos

  9. Ricardo Villa Gómez dijo:

    Hola como estás. Una pregunta, ¿que diferencia hay entre esta forma de encodear y el Mediacoder x64? Yo utilizo este último para convertir archivos 10 bits mkv ó mp4 a 8 bits para poderlos reproducir en el bluray de la casa. ¿Cual recomendarías tú, es mejor el sistema que utilizas o el Mediacoder es mejor? La versión que utilizo 0.8.13 build 5260. Si alguien ha utilizado los 2 por favor si me puede decir cual es más rápido y cual deja mejor los videos. Gracias.

  10. Fuliazo dijo:

    Es complicado la primera vez, pero una vez hecho el script, puedes seguir usándolo para el resto de los encodeos sin modificar nada. Por ejemplo, Nazo no Kanojo X y Recorder to Randoseru (que en ambos casos hice el encode) se hizo con el mismo script sin modificar nada. De hecho, lo único que hay que modificar es el script *.avs, pero ese se tiene que modificar aunque uses el megui.

  11. Fandiunari dijo:

    mmm, se ve muy complicado, jejeje, yo uso el MeGUI y la verdad es el mejor que he econtrado hasta ahora, aunq se tarda mucho en convertir pero vale la pena la espera

  12. Raigomaru dijo:

    Con esto hasta un pollo podría xD

    Se agradece Fuliazo, y se esperan otros. Nos sirve a nosotros y también a quienes nos leen.

Deja una respuesta