Página 1 de 5

Tutorial básico de ripeo MKV (AFR)

Publicado: 15 Mar 2013 13:48
por professor keller
Hola a todos y todas,

Más abajo van a encontrar un tutorial para comprimir video utilizando el codec X264 y el contenedor MKV. El tutorial presenta algunas limitaciones y particularidades que paso a detallar:

1) Es completo, pero no exhaustivo. Funciona más como una orientación.
2) Está pensado para comprimir "a mano", y no en forma automatizada.
3) Es sencillo, pero requiere algunos conocimientos previos, por ejemplo, saber evaluar el archivo de video indexado para buscar fantasmas, entrelazado, etc.
4) Por el mismo motivo, sólo cubre aspectos del encoding (compresión). No provee soluciones para las líneas de script necesarias en caso de fantasmas, entrelazado, etc.
5) La compresión se hace sin utilizar un software específico, sólo el codec X264 y la línea de comando de Windows (cmd).
6 El tutorial no analiza ripeos X264 en CFR (Constant Rate Factor). Sólo cubre ripeos en AFR (Advanced Filesize Regulation) es decir, ripeos en tañamos susceptibles de ser almacenados en DVD-R (1 GB. 1.45 GB, 2.18 GB)
7) No tiene respaldo técnico. Yo lo uso siempre, y podría dar algunas explicaciones respecto a "cómo hacer", pero no explicar muchos "porqués", ya que no soy técnico, sino un usuario con experiencia.

El tutorial no es mío. Su autor me permitió publicarlo sin mencionar su nombre, así que, gracias, anónimo, por compartir tus conocimientos con la comunidad ripeadora. Como algunas personas no tienen conocimientos previos de extracción del video y audio desde el DVD original e indexación, le agregué al tutorial una primera parte de mi autoría explicando estos temas. Pongo ese texto en bordó para diferenciarlo del tutorial original.

Que los disfruten y aprovechen, ¡bienvenidos al mundo X264/MKV!

-------------------------------------------------------------------------------------------------------------------------------------

Guía Básica de Codificación X264

Más allá de las opciones de ripeo que ofrece x264, la principal diferencia frente a los AVIs es que nos podemos dar el lujo de ripear en formato anamórfico y conservar la resolución completa de los DVDs. Lo único que tenemos que decidir es cual es el PAR (Pixel Aspect Ratio) del DVD.

Divido el mini-tutorial en Extracción de video e indexado, Aspect Ratio, Test de Compresibilidad y Codificado. Todos los demás temas que hacen al ripeo (desentrelazado, filtrado para sacar ruido, etc.) son comunes entre ripeos AVI/Xvid o MKV/x264, así que no los vamos a tratar aquí.


Primer paso, extracción correcta del video

Vas a necesitar bajar e instalar los siguientes programas: MakeMKV, MKVToolnix, y MKVExtractGUI (MKVExtractGUI es un programa asociado al MKVToolnix, por eso debes instalar primero este último.)

Lo primero es evitar problemas en la extracción del video y el audio del DVD. Hay muchos métodos buenos (DVDDecrypter, PGDemux) pero todos pueden dar cada tanto alguna sorpresa, por ejemplo, que al final de la cadena de video te quede pegado el trailer de la película que venía en el DVD. La mejor manera de evitar esto es utilizando MakeMKV, ya que es el único software que no da errores de este tipo en la extracción.

Una vez que lo tengas instalado, abre el DVD (si es un DVD original, se abrirá automáticamente cuando lo pongas en el DVD-Rom, si es un DVD-R que tienes en el rígido, búscalo navegando a través del icono de folder. Una vez que abras el DVD en el programa, te aparecerán los contenidos del DVD en la ventana de la izquierda. Deselecciona todo, menos los correspondientes a la película. ¿Cómo sabes cuál es? Por la duración. Una vez que tengas seleccionada la película, eliges una ruta, y le das OK (como más adelante vamos a trabajar con lineas de comando, te sugiero que abras rutas fáciles, creando carpetas directamente en el directorio raíz del disco C). Al cabo de un rato tendrás la película extraída en la forma de un solo archivo MKV, ¡pero ese no es el ripeo!, es sólo un contenedor MKV con el archivo de video MPEG original del DVD, sin comprimir, y la cadena/s de audio/s. Sigamos adelante.

Una vez que tengas la película extraída, abre MKVExtractGUI, y arrastra el archivo MKV que te dejó MakeMKV al primer campo, Input file. Te aparecerán en el campo central la cadena de video, la de audio, los subtítulos, y el timing de las escenas. Selecciona sólo la cadena de video y la de audio (o "las" si fuera dual). Si vas a utilizar esos subs, seleccionalos también, de lo contrario no. Tilda la casilla que dice "Use source dir for output, para que todo vaya alk mismo directorio del gran archivo MKV original. Dale OK. Al cabo de un rato tendrás una cadena de video MPEG, una (o más) cadena/s de audio, y dos archivos sub+idx de subtítulos. Ya podemos enpezar el proceso de indexado ;)


Segundo paso, indexado del video

Vas a necesitar bajar e instalar MeGUI, AviSynth y VirtualdubMod (generalmente, después de instalarlo, MeGUI te pide actualizar todos sus archivos, acepta y espera a que se actualice).

Luego baja esta carpeta de plugins: TinyUpload

Descomprímela y guarda todo su contenido en la carpeta Plugins de AviSynth. Dentro de la carpeta de plugins vas a encontrar también una carpeta llamada system32, copia las 3 DLLs de esa carpeta en la carpeta WINDOWS\system32\ de tu sistema si usas un sistema de 32 bits. Si usas un sistema de 64 bits, la carpeta es WINDOWS\SysWOW64\.

Ya podemos seguir. Lo que viene es indexar el archivo de video para crear un archivo d2v, y a partir de él dejar listo el script avs (no importa si todo esto suena a chino, luego te resultará familiar) para hacer el ripeo.

Abres Megui, vas a Tools > File Indexer. En Input file, navegas hasta el archivo MPG que extrajiste del primer MKV. En Output file, eliges un nombre de archivo para el d2v, eliges la ruta, tildas On completion load files y and close, y haces click en Queue.

Nota importante: como vamos a trabajar con rutas, desde la línea de comando, te sugiero que crees rutas fáciles, para hacer más sencilla la lectura y escritura de los scripts, por ejemplo, en el disco C, creas la carpeta mipelicula, y a todos los archivos que vayas creando les pones el mismo título: mipelicula.d2v, mipelicula.avs, etc. (obviamente puedes remplazar mipelicula por lo que desees, pero te sugiero que sea una palabra corta, en minúsculas, sin espacios y fácil de leer)


Seguimos. El programa va a indexarte el archivo. Cuando termine de hacerlo te abrirá el video en una pantalla (se va a mostrar anamórfico, luego, no te extrañes si lo ves deformado) y te dará algunas opciones.

Del cuadro de diálogo que se abre junto al del video (se te abrirán dos, uno con el video, y otro con opciones, llamado AviSynth script creator) tilda la casilla crop, y con las flechitas procede a crear el crop (recorte) de las banda negras que habitualmente traen los DVDs (algunos no las traen, pero son muy excepcionales). Suma el número de pixeles que recortas (arriba y abajo, y derecha e izquierda) para dar el paso siguiente.

El cropeo en mod4 (que la suma de los piexeles que recortas a cada lado sea divisble por cuatro) es un poco más compatible que otros (hay mucha discusión sobre esto, pero dejémosla para más adelante) así que de momento nos vamos a concentrar en eso. Si por ejemplo la suma de pixeles que recortas arriba y abajo suma 32 (32/4=8) está perfecto, pero si suma 30 (30/4=7,5) necesitas cortar dos pixeles más arriba o abajo hasta que sea divisible por cuatro.

Una vez que tengas eso, haces click en Preview AVS Script parar revisar el cropeo. Mueve el slide hasta agarrar zonas claras del video (cuanto más claras, mejor) que te permitan cerciorarte que no te quedó ningún pixel negro en los bordes. Una vez que estés seguro de eso, en Output file, escribe el nombre del archivo AVS, elige una ruta, y haz click en Save.

Ahora ve a la carpeta en donde guardaste el script AVS. Haz click derecho sobre él, Abrir con, y elige el Bloc de notas. Se verá algo más o menos así, al margen de las rutas:

Código: Seleccionar todo

LoadPlugin("C:\Program Files (x86)\MeGUI\tools\dgindex\DGDecode.dll")
DGDecode_mpeg2source("C:\mipelicula\mipelicula.d2v", info=3)
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\ColorMatrix.dll")
ColorMatrix(hints=true, threads=0)
#deinterlace
crop(8, 4, -8, -4)
#resize
#denoise
Edita todo, quitando las dos líneas que empiezan con LoadPlugin y todas las demás que empiecen con #. Deja solo la línea de crop y la DGDecode_mpeg2source("C:\mipelicula/mipelicula.d2v", info=3) a la que puedes quitarle también la parte que dice , info=3. Te quedará más o menos así:

Código: Seleccionar todo

DGDecode_mpeg2source("C:\mipelicula\mipelicula.d2v")

crop(8, 4, -8, -4)
Guárdalo (save), haz click derecho sobre él y elige abrirlo con VitualDubMod. Si se abre, ya estamos listos para el próximo paso ;)[/color]


Aspect Ratio

A través del reporte que deja DGIndex en el archivo d2v veremos si el DVD de origen es PAL/NTSC, Fullscreen/Widescreen.

Código: Seleccionar todo

avsfile = "mi.pelicula.avs"  # Encoding script
format  = 1             # 1=NTSC, 0=PAL
wide    = 1             # 1=Widescreen 16:9, 0=Full screen 4:3
#########################
ITU     = (format==1?10:12)/11.0*(wide==1?4.0/3:1)
SARs    = """"12:11","16:11","10:11","40:33","16:15","64:45","8:9","32:27""""
ITUprof = "SDB "+(wide==1?"ANAMORPHIC ":"")+(format==1?"NTSC":"PAL")
i=import(avsfile).converttorgb
i
ab = round(height*(sqrt(45.0/44)-1))
a = spline36resize(round(width*ITU),height)
a = a.addborders(0,floor(ab/2.0),0,ceil(ab/2.0))
bb = width(a)-round(width*ITU/sqrt(45.0/44))
b = spline36resize(round(width*ITU/sqrt(45.0/44)),height+ab)
b = b.addborders(floor(bb/2.0),0,ceil(bb/2.0),0)
interleave(a,b)
scriptclip("""subtitle("Playback Resolution: "+\
string(round(width(i)*ITU*pow(44.0/45,current_frame%2)))+"x"+string(height(i))+\
"\nMeGUI Profile: "+ITUprof+(current_frame%2==1?" NON-ITU":"")+\
"\nx264 --sar "+eval("select(2*format+wide+current_frame%2*4,"+SARs+")"),lsp=0)""")
Copiamos este nuevo script en un block de notas y lo guardamos como como SAR.avs, en el mismo directorio en donde guardamos mi.pelicula.avs. Ahora vamos a editar format (formato) y wide (ancho) en este script, de acuerdo a los datos reportados por DGIndex en el archivo d2v.
ImagenImagenImagen
Recordando que:

720x576 = PAL
720x480 = NTSC

4:3 = Fullscreen
16:9 = Widescreen

Abrimos SAR.avs en VDM (VirtualDubMod). No nos preocuparemos por los bordes negros que se observarán, sólo nos concentraremos en el AR. Miraremos tantos cuadros como sean necesarios para decidir si es ITU o no. La tercera línea dice x264 --sar junto a un número, por ejemplo 40:33. Lo anotamos. Ese es el Pixel Aspect Ratio aka SAR (Sample Aspect Ratio).
Imagen

Test de Compresibilidad

1) Abrimos mi.pelicula.avs en MeGUI:
Imagen
2) Vamos a Tools -> Bitrate Calculator. Elegimos la cadena de audio, la abrimos, y elegimos también un tamaño final de archivo (filesize), por ejemplo, 1/4DVD. Nota: si se desea arribar a un tamaño exacto de archivo, lo ideal es colocar el tamaño en MB, poniendo 1480 MB, para archivos finales de 1.45 GB, y 2239 MB para archivos finales de 2.18 GB.
Imagen
3) Anotamos el bitrate resultante, en el ejemplo de arriba es 1895 kbits/s

4) Editamos mi.pelicula.avs y le agregamos selectrangeevery(280,14) como última línea. En el ejemplo que seguimos, el script debería verse así:

Código: Seleccionar todo

DGDecode_mpeg2source("I:\VTS_01_1.demuxed.d2v")

crop( 52, 14, -52, -14)

selectrangeevery(280,14)
5) Necesitamos conocer la ruta al codec x264, a mi.pelicula.avs y el birate que obtuvimos en el paso 3). Con estos datos, abrimos una ventana de cmd (lìnea de comando) y, editando convenientemente las rutas, hacemos correr lo siguiente:

"D:\x264\x264.exe" --preset veryslow --pass 1 --bitrate 1895 --stats "h:\my.movie.stats" --level 4.1 --output NUL "h:\my.movie.avs" --no-fast-pskip --no-dct-decimate --deblock -2:-1 --b-pyramid normal --aq-strength 0.8 --psy-rd 1.2:0.15 --slow-firstpass

A tener en cuenta: a --slow-firstpass no es necesario para la codificación final, pero es MUY importante para el test de compresibilidad.

Cuando el test termine, buscamos el valor que marca la línea final ratefactor. Valores entre 19.00 and 20.40 generalmente están bien. Si el valor es superior a 20.50, apuntamos entonces a un tamaño de archivo mayor al hacer el cáclculo del bitrate y hacemos correr el test otra vez. Si, en cambio, el valor está cerca de 18.50 o menos, haremos correr el test nuevamente con esta lìnea de comando (siempre editando convenientemente las rutas):

"D:\x264\x264.exe" --preset veryslow --tune grain --pass 1 --bitrate 1895 --stats "h:\my.movie.stats" --level 4.1 --output NUL "h:\my.movie.avs" --no-fast-pskip --b-pyramid normal --slow-firstpass

Si todavía da un resultado menor a 19.00, utilizaremos un tamaño de archivo más pequeño.

6) A continuación, borramos selectrangeevery(280,14) del scrip mi.pelicula.avs y borramos los archivos *.stats and *.stats.mbtree generados en el directorio.

Nota:
  • El test de compresibilidad es solamente un test. Nada puede reemplazar a la evaluación final hecha por nuestros ojos, pero si la compresibilidad es buena para la combinación de seteo/tamaño de archivo/filtrado (settings/filesize/filtering) hay muy buenas chances de que el ripeo final quede bien.

Codificado

De acuerdo al test de compresibilidad, utilizaremos la línea de codificación "regular", o la que incluye --tune grain:

Primera pasada (--slow-firstpass ya no es necesario)
Edite la ruta al codec x264, al script .avs y .stats, y coloque el bitrate necesario.

"D:\x264\x264.exe" --preset veryslow --pass 1 --bitrate 1895 --stats "h:\my.movie.stats" --level 4.1 --output NUL "h:\my.movie.avs" --no-fast-pskip --no-dct-decimate --deblock -2:-1 --b-pyramid normal --aq-strength 0.8 --psy-rd 1.2:0.15

Segunda pasada
Edite la ruta al codec x264, al script .avs, .stats y .MKV, coloque el bitrate necesario y el SAR que corresponda.

"D:\x264\x264.exe" --preset veryslow --pass 2 --bitrate 1895 --stats "h:\my.movie.stats" --level 4.1 --output "h:\my.movie.mkv" "h:\my.movie.avs" --no-fast-pskip --no-dct-decimate --deblock -2:-1 --b-pyramid normal --aq-strength 0.8 --psy-rd 1.2:0.15 --sar 40:33

Notas:
  • ¿Todo es demasiado lento para ti? Entonces reemplaza --preset veryslow en todas partes por --preset slower
  • ¿Puedes/quieres utilizar más tiempo de codificación? Entonces utiliza --slow-firstpass en la primera pasada.
  • ¿Estás completamente loco? Al costo de hacer tres veces más lenta la velocidad de codificación puede mejorar la compresibilidad e un ~1% reemplazando--preset veryslow por --preset placebo
  • ¿Quieres evitarte tipear la líneas de comando, y hacer correr las dos pasadas en una sola operación? Copia las líneas de comando elegidas en un block de notas (con todas sus rutas convenientemente editadas, sin la indicación de Primera o Segunda Pasada, y con un espacio entre ambas), y guárdalo como codificado.bat en el directorio en donde tienes los scripts. El último ejemplo citado debería verse así:

    Código: Seleccionar todo

    "D:\x264\x264.exe" --preset veryslow --pass 1 --bitrate 1895 --stats "h:\my.movie.stats" --level 4.1 --output NUL "h:\my.movie.avs" --no-fast-pskip --no-dct-decimate --deblock -2:-1 --b-pyramid normal --aq-strength 0.8 --psy-rd 1.2:0.15
    
    "D:\x264\x264.exe" --preset veryslow --pass 2 --bitrate 1895 --stats "h:\my.movie.stats" --level 4.1 --output "h:\my.movie.mkv" "h:\my.movie.avs" --no-fast-pskip --no-dct-decimate --deblock -2:-1 --b-pyramid normal --aq-strength 0.8 --psy-rd 1.2:0.15 --sar 40:33
    Luego puedes hacerlo correr con un doble click (aunque al terminarse cerrará la ventana y no te dejará ver el informe del enconding). Otra opción, que dejará la ventana abierta al terminar, es hacerlo correr desde la línea de comando: Inicio > Buscar > CMD. Cuando se abre la consola, escribe exactamente la ruta al archivo *.bat (por ejemplo C:\mipelicula\ripeo.bat) y le das enter. Nota: las barras invertidas que se usan en la rutas se escriben mediante las teclas Alt+9+2. Si quieres una opción más sencilla, instala Clipboard Path, haz click derecho sobre el archivo *.bat que quieres rutear, copia la ruta haciendo click en el menú emergente, y pégala en la consola.

Seteos avanzados

Compresibilidad: ¿Usted cree que la compresibilidad es muy buena para el codificado "regular" pero no lo suficiente para utilizar --tune grain? Utilice entonces la codificación regulara como base y reemplace --deblock -2:-1 por --deblock -3:-3 y agregue --qcomp 0.7

Si usted está utilizando el seteto regular de codificación, entonces otros seteos que podrían ser necesarios de acuerdo a la fuente (DVD) utilizada son Psy-Trellis y AQ.

AQ: Grano fino sobre fondos planos o de bajo contraste como este podrían beneficiarse con un AQ mayor:

Imagen

En estos casos, cuando utilice la opción de codificación "regular" puede elevar el sugerido --aq-strength 0.8 por --aq-strength 1.0

Si la fuente tuviera un grano muy grueso todo el tiempo y en todas partes, un AQ mayor podrìa entonces arruinar la calidad general introduceindo un poco de blur sobre los bordes definidos. En esos casos mantenga el seteo sugerido, o bájelo hasta --aq-strength 0.7, pero no vaya más abajo.

Psy-Trellis: Si la fuente tiene pocos detalles y mucho grano, podría beneficiarse con un mayor Psy-Trellis. Si está utilizando la opción de codificación "regular", cambie --psy-rd 1.2:0.15 por --psy-rd 1.2:0.25


Cómo hacer capturas de pantalla

1) Haga el remuxado de video, audio (y subs, si lo desea) utilizando MKVToolnix.

2) Ábralo en VirtualDubMod utilizando este script, que incluye número y tipo de cuadro:

FFVideoSource("my.movie.mkv")
Spline36Resize(converttorgb,ffsar>1?round(width*ffsar):width,ffsar<1?round(height/ffsar):height).ScriptClip("""subtitle("Frame: "+string(current_frame)+"\nType: "+Chr(ffpict_type),lsp=0)""",after_frame=true)

3) Para capturas limpias (sin número y tipo de cuadro):

FFVideoSource("my.movie.mkv")
Spline36Resize(converttorgb,ffsar>1?round(width*ffsar):width,ffsar<1?round(height/ffsar):height)

¡Listo! :good:

Para evitar malos entendidos, aquí van algunos ejemplos de líneas de comando:

Seteo "regular"

Primera pasada:
"D:\x264\x264.exe" --preset veryslow --pass 1 --bitrate 1895 --stats "h:\my.movie.stats" --level 4.1 --output NUL "h:\my.movie.avs" --no-fast-pskip --no-dct-decimate --deblock -2:-1 --b-pyramid normal --aq-strength 0.8 --psy-rd 1.2:0.15

Segunda pasada:
"D:\x264\x264.exe" --preset veryslow --pass 2 --bitrate 1895 --stats "h:\my.movie.stats" --level 4.1 --output "h:\my.movie.mkv" "h:\my.movie.avs" --no-fast-pskip --no-dct-decimate --deblock -2:-1 --b-pyramid normal --aq-strength 0.8 --psy-rd 1.2:0.15 --sar 40:33


Seteo --tune grain

Primera pasada:
"D:\x264\x264.exe" --preset veryslow --tune grain --pass 1 --bitrate 1895 --stats "h:\my.movie.stats" --level 4.1 --output NUL "h:\my.movie.avs" --no-fast-pskip --b-pyramid normal

Segunda pasada:
"D:\x264\x264.exe" --preset veryslow --tune grain --pass 2 --bitrate 1895 --stats "h:\my.movie.stats" --level 4.1 --output "h:\my.movie.mkv" "h:\my.movie.avs" --no-fast-pskip --b-pyramid normal --sar 40:33


Seteo "regular" con --slow-firstpass

Primera pasada:
"D:\x264\x264.exe" --preset veryslow --pass 1 --bitrate 1895 --stats "h:\my.movie.stats" --level 4.1 --output NUL "h:\my.movie.avs" --no-fast-pskip --no-dct-decimate --deblock -2:-1 --b-pyramid normal --aq-strength 0.8 --psy-rd 1.2:0.15 --slow-firstpass

Segunda pasada:
"D:\x264\x264.exe" --preset veryslow --pass 2 --bitrate 1895 --stats "h:\my.movie.stats" --level 4.1 --output "h:\my.movie.mkv" "h:\my.movie.avs" --no-fast-pskip --no-dct-decimate --deblock -2:-1 --b-pyramid normal --aq-strength 0.8 --psy-rd 1.2:0.15 --sar 40:33


Seteo "regular" con extra detalle (ver Seteos Avanzados)

Primera pasada:
"D:\x264\x264.exe" --preset veryslow --pass 1 --bitrate 1895 --stats "h:\my.movie.stats" --level 4.1 --output NUL "h:\my.movie.avs" --no-fast-pskip --no-dct-decimate --deblock -3:-3 --b-pyramid normal --aq-strength 0.8 --psy-rd 1.2:0.15 --qcomp 0.7

Segunda pasada:
"D:\x264\x264.exe" --preset veryslow --pass 2 --bitrate 1895 --stats "h:\my.movie.stats" --level 4.1 --output "h:\my.movie.mkv" "h:\my.movie.avs" --no-fast-pskip --no-dct-decimate --deblock -3:-3 --b-pyramid normal --aq-strength 0.8 --psy-rd 1.2:0.15 --qcomp 0.7 --sar 40:33


Seteo --tune grain con --preset placebo

Primera pasada:
"D:\x264\x264.exe" --preset placebo --tune grain --pass 1 --bitrate 1895 --stats "h:\my.movie.stats" --level 4.1 --output NUL "h:\my.movie.avs" --no-fast-pskip --b-pyramid normal

Segunda pasada:
"D:\x264\x264.exe" --preset placebo --tune grain --pass 2 --bitrate 1895 --stats "h:\my.movie.stats" --level 4.1 --output "h:\my.movie.mkv" "h:\my.movie.avs" --no-fast-pskip --b-pyramid normal --sar 40:33

Nota: siempre recuerde utilizar --slow-firstpass para el test de compresibilidad, aun cuando usted no vaya a utilizar slow firstpass cuando codifique.

----------------------------------------------------------------------------------------------------------------------------------------

Nota: el tutorial no está actualizado, y es probable que algún enlace pueda estar roto. Cualquier inquietud, reportarla aquí.

Saludos ;)

Re: Tutorial básico de ripeo MKV (AFR)

Publicado: 15 Mar 2013 19:03
por droid
Muchas gracias Keller por publicarlo, y como no, también al anónimo creador del tutorial. :amo: :amo: :amo:

El próximo ripeo que haga será siguiendo este tutorial.

Saludos. :hi:

Re: Tutorial básico de ripeo MKV (AFR)

Publicado: 16 Mar 2013 06:52
por professor keller
droid escribió:El próximo ripeo que haga será siguiendo este tutorial.
:aplauso: :agite: :yahoo:

Aprovecho para comentar que agregué al tutorial una primera parte orientando en la extracción de video y audio del DVD, y posterior indexado del video, para las personas sin conocimientos previos. La puse en bordó para diferenciarla del autor original. Lo único que faltaría es una sección que explique cómo evaluar y tratar lo problemas del video extraído del DVD (entrelazado, ghosts, ruido, chroma, etc) antes de codificar. Tal vez entre todos los rippers que visitan el foro podamos armar algo.

Re: Tutorial básico de ripeo MKV (AFR)

Publicado: 16 Mar 2013 17:50
por Pulp
Excelente Keller :aplauso:

Muchas gracias.

Re: Tutorial básico de ripeo MKV (AFR)

Publicado: 29 Mar 2013 06:20
por droid
professor keller escribió:A través del reporte que deja DGIndex en el archivo d2v veremos si el DVD de origen es PAL/NTSC, Fullscreen/Widescreen.
¿Dónde está lo de DGIndex?... es que no lo veo por ningún sitio. :sonrojo:

Re: Tutorial básico de ripeo MKV (AFR)

Publicado: 29 Mar 2013 07:22
por professor keller
droid escribió:
professor keller escribió:A través del reporte que deja DGIndex en el archivo d2v veremos si el DVD de origen es PAL/NTSC, Fullscreen/Widescreen.
Droid, DGIndex es la herramienta de MeGUI que te permita indexar el archivo mpeg resultante del destripe del DVD, y crear el archivo d2v que contiene toda la información del video (PAL/NTSC, Fullscreen/Widescreen. Para ver la información del d2v, hay que abrirlo en el bloc de notas). DGIndex se abre en MeGUI > Tools > File indexer,

Re: Tutorial básico de ripeo MKV (AFR)

Publicado: 01 Abr 2013 14:59
por droid
Professor, tras abrir el d2v con el bloc de notas, no me aparece nada de esto:

Código: Seleccionar todo

avsfile = "mi.pelicula.avs"  # Encoding script
format  = 1             # 1=NTSC, 0=PAL
wide    = 1             # 1=Widescreen 16:9, 0=Full screen 4:3
#########################
ITU     = (format==1?10:12)/11.0*(wide==1?4.0/3:1)
SARs    = """"12:11","16:11","10:11","40:33","16:15","64:45","8:9","32:27""""
ITUprof = "SDB "+(wide==1?"ANAMORPHIC ":"")+(format==1?"NTSC":"PAL")
i=import(avsfile).converttorgb
i
ab = round(height*(sqrt(45.0/44)-1))
a = spline36resize(round(width*ITU),height)
a = a.addborders(0,floor(ab/2.0),0,ceil(ab/2.0))
bb = width(a)-round(width*ITU/sqrt(45.0/44))
b = spline36resize(round(width*ITU/sqrt(45.0/44)),height+ab)
b = b.addborders(floor(bb/2.0),0,ceil(bb/2.0),0)
interleave(a,b)
scriptclip("""subtitle("Playback Resolution: "+\
string(round(width(i)*ITU*pow(44.0/45,current_frame%2)))+"x"+string(height(i))+\
"\nMeGUI Profile: "+ITUprof+(current_frame%2==1?" NON-ITU":"")+\
"\nx264 --sar "+eval("select(2*format+wide+current_frame%2*4,"+SARs+")"),lsp=0)""")
Me aparece esto:

Código: Seleccionar todo

DGIndexProjectFile16
1
D:\Mis Videos\o_pai_tirano\title00_track1_eng.mpg

Stream_Type=0
MPEG_Type=2
iDCT_Algorithm=6
YUVRGB_Scale=1
Luminance_Filter=0,0
Clipping=0,0,0,0
Aspect_Ratio=4:3
Picture_Size=720x576
Field_Operation=0
Frame_Rate=25000 (25/1)
Location=0,0,0,20ef92

d00 5 0 0 0 0 0 b2 b2 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
900 5 0 88608 0 0 0 32 32 92 b2 b2 a2 b2 b2 a2
900 5 0 157183 0 0 0 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
900 5 0 402763 0 0 0 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
900 5 0 714760 0 0 0 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
900 5 0 1018637 0 0 0 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
900 5 0 1316463 0 0 0 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
900 5 0 1614261 0 0 0 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
900 5 0 1920172 0 0 0 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
900 5 0 2222037 0 0 0 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
900 5 0 2529979 0 0 0 32 32 92
900 5 0 2631491 0 0 0 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
900 5 0 2919080 0 0 0 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
900 5 0 3218909 0 0 0 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
y tropecientosmil números más
¿De qué manera debería aparecer el script que citas?

:hi:

EDITO: No he dicho nada, ya está solucionada ésta parte también que he localizado por aquí http://cineforum-clasico.org/forum/view ... p=971#p971

Continúo. ;)

Re: Tutorial básico de ripeo MKV (AFR)

Publicado: 07 Abr 2013 16:22
por professor keller
Hola droid, ya has encontrado la solución pero por las dudas aclaro para quien viene después: el primer script que pegaste no es lo que aparece en el D2V, que efectivamente es el que pegaste en segundo término. El primer script se utiliza —luego de editarlo con la información del D2V correspondiente— para determinar cuál es el SAR de la película en cuestión.

Re: Tutorial básico de ripeo MKV (AFR)

Publicado: 16 Abr 2013 00:26
por miguel
Bueno, pues aquí vengo yo con mis dudas. Antes de nada, gracias al professor keller por su inmensa labor tanto en este post como en el otro de Bunker. Realmente inspiradores. Yo normalmente ripeo con MeGUI, que siempre me había dado resultados satisfactorios, toda se vez han implementado una buena manera de hacer encodes anamórficos y cargarse el resize. Pero bueno, siempre me picaba la curiosidad de ripear como los "expertos", así que lo he intentado. Con un DVD harto difícil, lleno de entrelazado y con muy baja calidad. Lo primero creo que lo solucioné parcialmente y lo segundo pues no se puede arreglar mucho.

Ese no es el tema. Lo que me pasa es que aplicando las variables de ratefactor que en el tutorial se marcan como recomendadas, me salía un video de unos 450 megas y un bitrate de apenas 800 kbps. Ya sé que como dice keller, esto es pensamiento avi y con el x264 esto daría igual, pero la situación es que el archivo resultante se veía aún peor que el DVD original. Supuestamente ese tamaño y ese bitrate se dan cuando los DVDs tienen mucha compresibilidad y no creo que este fuera el caso.

Así, como solución, me dio por recurrir a la vieja ecuación del "quality factor". Ya sé que esto está más o menos descartado. Pero aplicándole a los datos un QF de 0.2 (que había leído que era la recomendada para x264... y ya que la fuente no era muy buena...). El resultado que me dio fue que necesitaba el doble de bitrate, sobre 1200. Hice el test de compresibilidad y el final ratefactor era bajísimo, 13.80 o algo así.

De esta manera, decidí hacer un ripeo para probar... y me ha quedado un archivo de 780 megas (sin añadirle el audio) y cuya calidad está mucho más cercana al DVD que todos los ripeos anteriores, al menos desde mi punto de vista.

Realmente, esto no es una consulta técnica, ya que creo que el dvdrip no está bien hecho, seguramente no solucioné del todo el entrelazado, pero como ya dije la copia original es muy mala y realmente es un ripeo de consumición propia para no usar el DVD (que tiene horribles blandas negras -y solo tengo ya pantallas panorámicas- y otros problemas de reproducción que no vienen al caso). Lo que quiero es saber vuestra opinión, si creéis que lo que hice es casi una herejía o se puede entender como un apaño para un caso muy particular. Creo que keller dice en algún post (y elguaxo también en algún post de divxclasico) que al final lo que importa es tu propia percepción del ripeo... pero no sé, tengo miedo de hacer todo lo contrario de lo que se recomienda, jeje

Hoy probaré con este método sobre un DVD de alta calidad y espero que no me de tantos problemas...

Re: Tutorial básico de ripeo MKV (AFR)

Publicado: 16 Abr 2013 02:16
por professor keller
Hola Miguel, gracias por los cumplidos. No deja de ser irónico que sea precisamente yo, que soy el ripper con menos conocimientos técnicos de todos, el que este a cargo de estos tutoriales jejeje

Lo cierto es que desde la ausencia de elguaxo no ha aparecido nadie con el mismo conocimiento, paciencia y voluntad didáctica. Como yo no sé casi nada más que lo que he compartido por aquí —que es poco y a veces tal vez sea erróneo o esté desactualizado— mi aspiración es que este espacio pueda ser en realidad una suerte de taller, en donde todos podamos intercambiar experiencias y señalar errores o consejos que ayuden a aprender o mejorar.
miguel escribió:Lo que me pasa es que aplicando las variables de ratefactor que en el tutorial se marcan como recomendadas, me salía un video de unos 450 megas y un bitrate de apenas 800 kbps.
Honestamente no entiendo bien qué es lo que has hecho, si hiciste un ripero CRF, o uno a dos pasadas, ni cómo arribaste a ese tamaño de archivo. Obviamente si obtuviste un video de 450 MB no estabas siguiendo este tutorial, porque éste apunta a tamanos determinados (en este tutorial no se "aplican" variables de ratefactor, ya que este es un tutorial de ripeos AFR, es decir, ripeos a dos pasadas apuntando a un tamaño fijo). En este tipo de ripeos, el ratefactor que se obtiene del test de compresibilidad es sólo una orientación para saber cómo estás de bitrate en relación a la fuente. La idea básica es obtener un número de bitrate que, para cada DVD en particular, arroje a dos pasadas un tamaño AFR adecuado a esa fuente.

Si lo que hiciste fue utilizar el test de compresibilidad para tomar como referencia el ratefactor y usarlo como cifra de un ripeo CRF entiendo que no te haya funcionado, porque este test no fue concebido para eso.

A ver si me aclaras un poco eso. En ripeos AFR yo nunca utilizo el cálculo de Quality Factor, me manejo con los criterios explicitados aquí (excepcionalmente utilizo algún filtro de ruido cuando éste afecta muchísimo la compresibilidad de la fuente, pero eso es todo). Y en ripeo CRF —que son los que estoy haciendo ahora aunque por el momento no pueda compartirlos— me muevo mucho más intuitivamente, utilizando el número de CRF que considero óptimo para esa fuente después de hacer un par de pruebas, y escribiendo la línea de comando con las instrucciones que considero pertinentes.

Quien tiene una aproximación mucho más técnica al ripeo y seguramente podría ayudarte si lo que buscas son cálculos más precisos es Dardo ;)