Extraer tiempos de un subtítulo incrustado: AviSubDetector

Manuales. Guías. Ayudas que simplifican la tarea.

Notapor isidoro2068 » Dom Ene 07, 2007 5:33 pm

Sigo peleando,... y sigo perdiendo,...
Hasta ahora el mejor resultado lo obtengo en modo manual y con sub forzados. Así que: me quedan atrasados unos milisegundos (Cosa que no es problema), tengo que ingresar el sub a mano (Cosa que tampoco me preocupa mucho), pero lo peor es que no sé como cortar el tiempo (Así que el sub queda impreso hasta que aparece el siguiente).
Acá dejo un enlace de un foro donde participó "shalcker" en el 2003, él es el programador de la utilidad. Él es ruso y da algunas instrucciones en inglés, yo soy argentino y a duras penas hablo español. A ver si alguien es mas avispado.
Saludos.

http://forum.doom9.org/showthread.php?s=&threadid=56062
Avatar de Usuario
isidoro2068
Expert@ en la materia
Expert@ en la materia
 
Mensajes: 250
Registrado: Dom Jul 23, 2006 4:38 am

Notapor Shadow10 » Dom Ene 07, 2007 5:53 pm

Muchas gracias por esa pista, isidoro2068.
De momento los mejores resultados se obtienen de forma manual. En las pruebas que he realizado simplemente he tenido que ignorar algún subtítulo que salía repetido o ajustar los tiempos, pero no he tenido el problema que indicas.

En el mismo foro que citas tenemos al autor hablando de la versión 0.6.0.5.

http://forum.doom9.org/showthread.php?t=89802

Vamos encaminando los pasos.

Saludos.
Avatar de Usuario
Shadow10
Director consagrado
Director consagrado
 
Mensajes: 3570
Registrado: Sab Abr 22, 2006 4:24 pm
Ubicación: Buscando mi destino

Notapor Feve » Dom Ene 07, 2007 7:56 pm

Mi primera prueba con una peli grabada de la tele, con bastante mala calidad de imagen. No reconoce que hay subtítulos :bronca:

Pero, a lo que voy, he encontrado un pequeño manual, ¿qué tal se os da el francés? Aqui habla también del modo manual, y de ajustar parámetros y completar el trabajo con el subtitle workshop, pero soy incapaz de traducir lo que dice.
Avatar de Usuario
Feve
Director consagrado
Director consagrado
 
Mensajes: 2325
Registrado: Mié Mar 08, 2006 12:10 pm
Ubicación: Dx Dy ³ h/2

Notapor marlowe62 » Dom Ene 07, 2007 8:32 pm

Después de echar un vistazo al Tutorial en francés de Arkhane, acabo de hacer un ensayo con AVISubDetector0.6.0.7 beta en una película con los subtítulos incrustados muy nítidos, pero encastrados en plena imagen:
eD2K link Anno Uno (R.Rossellini,1974) TDTrip VOSE (by.Cagney).avi [1.13 Gb] 

El programa es espléndido, aunque la primera impresión es de una complejidad inabarcable a causa del desorbitado número de menús y submenús. Sin modificar ningún parámetro inicial, salvo el cropeo horizontal, el resultado es espectacular; sólo he tenido problemas con el logo de TVE2, ya que no me deja (o no he sabido) cropear los márgenes derecho e izquierdo.
Los errores finales (líneas duplicadas, espacios innecesarios...) se corrigen en un periquete con SubtitleWorkShop.

Código: Seleccionar todo
1
00:00:32,040 --> 00:00:35,760
AÑO UNO

2
00:02:03,960 --> 00:02:07,560
No es nada, no es nada.
Pronto se pondrá bien.

3
00:02:21,560 --> 00:02:23,720
iPaisanos!

4
00:02:24,200 --> 00:02:26,120
iTenemos hambre!

5
00:02:26,520 --> 00:02:28,480
iPor fin hemos llegado!

6
00:02:29,920 --> 00:02:31,760
Tenemos hambre.

7
00:02:32,120 --> 00:02:36,360
Carabinero, carabinero,
hace tres días que camino.

8
00:02:36,520 --> 00:02:37,600
él una semana.

9
00:02:37,760 --> 00:02:40,520
Pudimos pasar el puente
antes de que lo bombardeasen.

10
00:02:40,680 --> 00:02:42,120
Estamos vivos de milagro.


A ver si, entre todos, somos capaces e localizar o confeccionar un manual en castellano.

Un saludo.
Avatar de Usuario
marlowe62
Gran camarógraf@
Gran camarógraf@
 
Mensajes: 352
Registrado: Lun Ene 01, 2007 4:59 pm
Ubicación: Detrás del objetivo

Notapor acg110080 » Dom Ene 07, 2007 9:20 pm

Primeras impresiones:

1.- El método OCR no funciona demasiado bien ni en pelis con buena calidad de imagen y de subs.
2.- El método manual funciona bien en DVDRips con subs incrustados. En VHSRip y TVRip deja mucho que desear: no los reconoce o entiende que son subs distintos en cuanto cambias de frame.
3.- El método automático: ocurre lo mismo que en el método manual. Salvo buena calidad de imagen no lo recomiendo.

El manual francés es muy simple, hasta donde he podido entender yo. Prácticamente describe lo mismo que ha dicho Shadow. El problema es que cuando habla de problemas, remite al comentario en inglés del desarrollador, y me pierdo. Será cuestión de trastear los parámetro y andar haciendo pruebas. Pero me temo que la extracción en VHSRips lo tenemos complicado.

Un saludo. :adios:
"¿Existe algún crimen mayor que el de instruir de forma deliberada y errónea al público acerca de la ciencia, el de engañarlo deliberadamente, el de defraudarlo y el de alimentar y estimular su ignorancia?" (Isaac Asimov)
Avatar de Usuario
acg110080
Director consagrado
Director consagrado
 
Mensajes: 3726
Registrado: Vie Ago 19, 2005 6:40 pm
Ubicación: "Yo soy un hombre de gustos sencillos: siempre me conformo con lo mejor." Oscar Wilde

Notapor Shadow10 » Dom Ene 07, 2007 9:39 pm

Hola.

Las pruebas que estoy haciendo en modo manual con "La nave de Satán" son espectaculares. El único problema lo tuve en los títulos de crédito.

Saludos.
Avatar de Usuario
Shadow10
Director consagrado
Director consagrado
 
Mensajes: 3570
Registrado: Sab Abr 22, 2006 4:24 pm
Ubicación: Buscando mi destino

Notapor isidoro2068 » Dom Ene 07, 2007 10:51 pm

Me alegra por ti Shadow y después cuenta que parámetros tocas. Yo, con un buen DVDRip y subtítulos nítidos obtengo resultados poco confiables, en realidad reconoce algunas frases y otras no, dando como resultado un srt lleno de huecos.
Habiendo perdido esa batalla, me dediqué al VHSRip con sub borrosos y de pésima calidad. Allí, la solución encontrada es muy artesanal pero absolutamente confiable: le das "start" haciendo "preview"; cuando aparece una línea, detienes el avance con "force sub" e ingresas manualmente el texto, luego "accep text" y a esperar la próxima frase. Así hasta el final y allí grabas un srt que tendrá dos problemitas. El primero es un atraso general de entre 300 a 500 milisegundos, (El tiempo que tardas en hacer click) y el segundo es que cada frase se mantiene activa hasta que aparece la siguiente porque el tiempo así se lo indica.
Estos dos problemas se corrijen muy facilmente y en cuestión de segundos con el WorkShop.
Quizás feve, de inestimable experiencia en el tema de subtítulos, nos diga si esto sirve de algo.
Saludos.
Avatar de Usuario
isidoro2068
Expert@ en la materia
Expert@ en la materia
 
Mensajes: 250
Registrado: Dom Jul 23, 2006 4:38 am

Notapor Feve » Lun Ene 08, 2007 3:05 am

me temo que mi experiencia subtitulando es de lo más rudimentaria, no sé si el "metodo artesanal" combinando los dos progrmas es mejor que hacerlo todo directamente con el Subtitle. La ventaja de este tendría que ser el automatizar algo el trabajo.


En fin, hablando (un poco por hablar) de parámetros:

Los primeros parámetros de la pestaña Setting

Crop Settings
Top (75%)
Bottom (1%)

hacen referencia a la franja de imagen que va a leer (el cuarto inferior que es donde están puestos los subtítulos). Desplazando top hacia la izquierda aumenta la cantidad de pantalla que se ve.


lo siguiente: Color Domination

T O

X

pues es un misterio muy curioso porque cuando está seleccionada la T con fondo negro y pinchas con el ratón el primer trocito de imagen, la pantalla queda en blanco y negro y según en que zonas clickeas los contrastes van variando. Osea que hace referencia a los tonos o a los colores que separan el fondo de los subtítulos (más o menos)

Sigue con Drop Values

en el que modificas la cantidad de R Rojo G Verde y B Azul de nuevo para mejorar el contraste de los subs. Por defecto los valores vienen en 100, pero bajándolos un poco a 75 por ejemplo, parece que los detecta mejor. (Al menos en la peli con la que estaba probando ahora)

y La parte en la que de momento más se nota la diferencia es

Blocks
Value
count
size

Value: éste parámetro es estupendo, modificando este valor si que mejora considerablemtne la lectura de subs.


Imagen

Bueno como estoy un poco espesa lo dejo hasta mañana, a ver si Shadow nos sigue dando buenas noticias :hola:
Avatar de Usuario
Feve
Director consagrado
Director consagrado
 
Mensajes: 2325
Registrado: Mié Mar 08, 2006 12:10 pm
Ubicación: Dx Dy ³ h/2

Notapor Caballero_de_Malta » Mar Ene 09, 2007 2:54 am

Después de proponer el programa, he quedado totalmente en cola de conocimientos, pues hasta ahora no he empezado a usarlo. Y, la verdad, las primeras pruebas han sido muy desesperanzadoras. Recurro, pues, al conocimiento colectivo acumulado, por si me podéis echar una mano.

Estoy trabajando una película ripeada por el procedimiento (TV-->VHS hace tiempo) -->HDD (de DVD de salón)-->DVD-->Divx que, pese al largo proceso, al final ha quedado bastante decente. Blanco y Negro. Subtítulos de color amarillo. El logo de la cadena (C33 de la Televisión Catalana) está en el extremo superior derecho, o sea que no molesta. Y al ser amarillo sobre B&N, los subtítulos quedan perfectamente contrastados.

En cualquiera de las tres opciones el programa se comporta como si le dieses un papiro egipcio a un esquimal no ilustrado. Y la respuesta es totalmente ininteligible. Salen unas rayitas móviles sobre la película, que se posicionan perfectamente sobre los subtítulos, o sea, que parece que los identifica. Pero después creo que se arma un galimatías con los colores, pues en la versión OCR parece intentar crear la matriz de caracteres sólo con los contornos de las letras. Y estos los deja muy escasos de pixels, por lo que quedan discontinuos y los ignora. Sólo me presenta como caracteres a traducir las áreas de solape cuando dos letras se solapan ligeramente.

Yo creo que es un problema de configuración de colores. ¿Alguien me puede ayudar?. No me vale la solución de forzar cada línea de subtítulo. El programa, pienso, sólo debe presentar esta opción como una ayuda puntual, pero no para un uso sistemático. A no ser que lo uses para traducir. Y esa es otra historia.

Gracias por adelantado.

Saludos.
"Si de noche lloras por el Sol, las lágrimas no te dejarán ver las estrellas" (Rabrindanath Tagore)
Avatar de Usuario
Caballero_de_Malta
Guionista colosal
Guionista colosal
 
Mensajes: 558
Registrado: Lun Feb 13, 2006 3:51 am
Ubicación: Isla de Gozo. En la cueva de Ulises (con Calypso, por supuesto)

Notapor Caballero_de_Malta » Mar Ene 09, 2007 3:40 am

Chequeando el foro que propusistéis (espeso, muy espeso), he encontrado este mensaje. No sé si lo habéis visto, pero creo que en él está toda la teoría del programa. No es un manual, es cómo funciona internamente. Es para la versión 0.4.7 pero supongo que el amigo ruso no habrá variado los algoritmos esenciales.

Lo dejo para leerlo mañana, pues ahora yo también estoy muy espeso. Mañana me pelearé con el inglés (huuuuf...) y las matemáticas.


AVISubDetector v0.4.7 guide

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

Simplified guide:
If too many non-subtitle frames are detected as subtitles, you should increase Block Value, Drop Values and decrease slider to leftmost position if it's not already there.

You can also increase Block Count and Line Count a bit (by 1-5), but that is not recommended - default values for them should be fine in most cases, and where they aren't, changing them to the point where they'll not detect subtitle where there is none but it is detected with default setting will most likely cause them to skip places with subtitles too.

If frames containing subtitles are not detected as such, you should decrease "Drop Values", Block Value and move slider to one of the positions to the right.

If subtitle change is detected wrongly, you should check values for MED, LBC and DLC in square brackets, note those above value set at "Tracking Changes", and change values accordingly.

If subtitle change is not detected, you can try decreasing MED and LBC... or maybe just live with that and fix that manually later.

It is generally recommended to skip opening sequences when processing anime - as credits there are often detected all too well...

In window appearing after checking "Show AVI" you can see which parts of picture are considered to contain subtitle, and also load picture from BMP to tune detection.
"Check BV", depeding on button "L", shows either "sharp" blocks in the picture or "sharp" lines in inverted colors.
"Influence" shows pixels not zeroed by "Drop Values".

Black vertical line on the graphic to the right corresponds to Block Count limit. If DLC shown after "Check BV" is above Line Count, then program will decide that this frame contains subtitle.

"Substraction", "[DOM]" and "<DOM>" will currently only work during avi playback.

"=DOM" sets current "dominating color" to the color of pixel on which you previouly clicked, and "+DOM" adds that pixel color as additional "dominating color".

Currenly all time values have 2ms added to them, which can
cause subtitles to appear one frame off compared to original.
This was added as workaround for certain programs,
and will most likely change to zero or configurable value later.


--------------------------
Complete Theory of Operation:

Each line the in picture is separated to 16-pixel blocks (with rightmost block ignored for simplicity). For each block progam calculates sum of absolute differences between pixels for each color component, and if that sum exceeds set threshold (Block Value), that block is considered to be "sharp" and possibly containing subtitle.

If absolute difference in color component for a given pixel is below one set at "Drop Values", that difference is considered to be zero and is ignored in Pixel Sum. If sum of all differences for a given pixel is below one set at "Drop Values" for sum (and Sum checkbox is set) that pixel difference is considered to be zero.

Slider above "Drop Values" sets distance between pixels checked
for absolute difference. Default is 1 (check pixels next to each over). You can set it to 2 or 3 if there is really strong blurring or antialiasing which inhibits subtitle detection, but you'll most likely also have to increase Block Value too to prevent noise aplification. Default Block Value of 200 is fairly optimistic and relies mostly on supression of medium color changes by "Drop Values".

RedDiff = Abs( Red[X, Y] - Red[X+Offset, Y] );
GreenDiff = Abs( Green[X, Y] - Green[X+Offset, Y] );
BlueDiff = Abs( Blue[X, Y] - Blue[X+Offset, Y] );
PixelValue = RedDiff + GreenDiff + BlueDiff;
BlockValue = Sum (PixelValues);

Once Block Value exceeds the threshold, that Block is considered to be "sharp". Once we got all Block Values for a line, they are counted in rather simple manner:
0111110 => BlockCount=4 (1 - sharp block, 0 - non-sharp block)
0110110 => BlockCount=2
0101010 => BlockCount=0
Hope you get an idea. Only consecutive blocks add to BlockCount.
Once line exceeds set BlockCount, it is considered to be "sharp" too.
Then we check lines in the same manner as blocks in previous example to obtain LineCount, and once that exceeds set value, we consider that
frame as containing subtitle.

As you see, everything is really simple... I implemented this after about six hours of programming and was truly amazed how good results were compared to what i expected...

Program detected appearing subtitles really well; but once there was no delay between subtitle change, that was insufficient.

So i added "Tracking Changes".
"MED" tracks difference between average number of blocks divided by number of lines (multiplied by 10 for precision), therefore reacting to change in subtitle horizontal length.

"DLC" track difference between count of detected lines, therefore reacting to transitions between one- and two-lined subtitles.

"LBC" track difference in number of lines with same block count, which should react to both width and height changes... but it's not really useful, and you might want to turn it off if there is too many false change detections. I should probably add another threshold there which will "join" lines with block count difference below set value.

MBC checks maximum number of blocks in detected lines, and in general produces too much noise at low settings and adds quite little at high settings.

For each of these values the number in square brackets shows value which caused program to detect change. If that change was wrong (and not once), you should set corresponding tracking value above wrong one.
"Si de noche lloras por el Sol, las lágrimas no te dejarán ver las estrellas" (Rabrindanath Tagore)
Avatar de Usuario
Caballero_de_Malta
Guionista colosal
Guionista colosal
 
Mensajes: 558
Registrado: Lun Feb 13, 2006 3:51 am
Ubicación: Isla de Gozo. En la cueva de Ulises (con Calypso, por supuesto)

Notapor Feve » Mar Ene 09, 2007 3:42 am

Hola Caballero,

hoy no he seguido mirando el programa pero creo que gran parte del buen funcionamiento está en configurar de modo adecuado (y ese modo es que que estamos por descubrir) la dichosa pestaña Settings.

Ayer probé también con una peli en ByN con subs incrustados de color amarillo (puedes verla en la foto que puse un poco más arriba), como la que estas diciendo y conseguí que leyera medianamente algunas líneas en modo automático. No he guardado la prueba que tampoco fue especialmente buena aunque sí que pillaba frases legibles.

Abres la peli y la dejas correr un poco hasta que encuentra un subtitulo y la paras para empezar a hacer ajustes.

Hice un montón de ajustes a ciegas. Pero bueno, con los que parece que se aprecian diferencias es modificando los Drop Values, estos valores que por defecto vienen en 100 y que baje, creo que a 60.

Imagen

Además aumenté Block Value moviendo el cursor hasta que me pareció que los subs de la franja de muestra se veían algo más nítidos.

Como bien dices, el problema debe ser en gran parte la configuraciòn de colores, así que creo que también debe ser fundamental para separar los colores de los subtítulos del fondo de la imagen modificar este cuadro, pero no he conseguido encontrarle sentido todavía.

Imagen

Una vez hechos los ajustes con los que creas que ganas conraste, pulsas Save Settings y en el cuadro de diálogo que se abre, guardas los cambios.

Colocas de nuevo estos valores a 0 para empezar desde el principio de la peli

Imagen

y que haya suerte.

___________

edito: mientras escribia esto te has respondido tu solo :hola:
Avatar de Usuario
Feve
Director consagrado
Director consagrado
 
Mensajes: 2325
Registrado: Mié Mar 08, 2006 12:10 pm
Ubicación: Dx Dy ³ h/2

Notapor Caballero_de_Malta » Mar Ene 09, 2007 4:04 am

No lo creas, Feve. Tú me has indicado por dónde empezar.

El otro texto lo he presentado para que lo interpretamos colectivamente. A mí el inglés se me da sólo medianito. O sea, que sólo lo he ojeado y todavía no sé si sirve o no.

Muchas gracias por la respuesta.
Mañana lo probaré todo.

Buenas Noches. :zz:
"Si de noche lloras por el Sol, las lágrimas no te dejarán ver las estrellas" (Rabrindanath Tagore)
Avatar de Usuario
Caballero_de_Malta
Guionista colosal
Guionista colosal
 
Mensajes: 558
Registrado: Lun Feb 13, 2006 3:51 am
Ubicación: Isla de Gozo. En la cueva de Ulises (con Calypso, por supuesto)

Notapor Feve » Mié Ene 10, 2007 9:47 pm

Esto es un primer borrador traducido del texto de más arriba pero sigue faltando entenderlo...

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

Guia Simplificada:

Si se detectan como subtítulos demasiados frames no subtitulados, se debería incrementar Block Value y Drop Values, y, si no se ha hecho ya, deslizar la barra (Shift) hacia la izquierda lo más posible.

También se puede incrementar Block Count y Line Cunt un poco ( entre 1-5), pero eso no es recomendable – en la mayoría de los casos los valores por defecto están bien, y donde no lo están, cambiarlos al punto donde no detecte subtítulos donde no hay pero son detectados con los valores por defecto provocará, probablemente, que se salte sitios donde haya subtítulos.

Si los frames contienen subtítulos que no son detectados como tales, se podría disminuir “Drops Values”, “Block Values” y mover la barra deslizadora (Shift) a una de las posiciones de la derecha.

Si el cambio de subtítulo se detecta mal, se deberían comprobar los valores MED, LBC y DLC que están entre paréntesis, fíjate en esos valores asignados en " Tracking Changes ", y cámbialos en consecuencia.

Si el cambio de subtítulo no se detecta, se puede intentar disminuir MED y LBC ... o tal vez dejarlo así y fijarlo a mano más tarde.

Generalmente se recomienda saltarse las secuencias de apertura cuando se procesa anime - como los créditos, que a menudo se detectan demasiado bien...

En la ventana que aparece después de comprobar " Show AVI " se puede ver qué partes de la imagen se considera que contienen subtítulo, y también cargar la imagen desde BMP para afinar la detección.
" Check BV ", cuenta con el botón "L", muestra bloques "agudos" en la imagen o líneas " agudas" en colores invertidos.
"Influence" muestra pixeles ¿no zeroed? por " Drop Values ".

La línea negra vertical del gráfico de la derecha corresponde al límite de Block Count. Si DCL mostrado después de “Check BV” es la susodicha Line Count, entonces el programa decide que este frame contiene un subtitulo.

"Substraction", " [DOM]” y “<DOM> " actualmente sólo funcionará durante el playback avi.
"=DOM" pone el actual " color dominante " al color de pixel sobre el cual previamente haya pulsado, y "+DOM" añade aquel color de pixel como “ color dominante” adicional " .

Normalmente todos los valores de tiempo tienen 2ms añadidos, que pueden hacer que los subtítulos aparezcan un frame más que el original. Esto fue añadido como solución alternativa para ciertos programas, y lo más probable es que más tarde se cambie a cero o a un valor configurable.

--------------------------
Teoría Completa de Operaciones:

Cada línea de imagen está separada por bloques de 16 píxeles (los bloques que están más a la derecha se ignoran para simplificar). Para cada bloque, el programa calcula la suma de diferencias absolutas entre pixeles para cada componente en color, y si aquella suma excede el umbral asignado (Block Value), ese bloque es considerado "agudo" y probablemente contiene subtítulo.

Si la diferencia absoluta en los componentes de color para un pixel dado es por debajo del conjunto en " Drop Values ", esa diferencia será considerada cero e ignorada en Píxel Sum. Si la suma de todas las diferencias para un pixel dado es por debajo del conjunto en "Drop Values " para la suma (y la casilla de selección Sum está marcada) esa diferencia de píxel será considerada cero.

Slider above "Drop Values" sets distance between pixels checked
for absolute difference. Default is 1 (check pixels next to each over). You can set it to 2 or 3 if there is really strong blurring or antialiasing which inhibits subtitle detection, but you'll most likely also have to increase Block Value too to prevent noise aplification. Default Block Value of 200 is fairly optimistic and relies mostly on supression of medium color changes by "Drop Values".
La barra deslizadora encima de " Drop Values " marca la distancia entre pixeles comprobada para la diferencia absoluta. Por defecto es 1 ( ¿Comprueba los píxeles adyacentes? ). Se puede poner a 2 ó 3 si está verdaderamente difuminado o turbio, lo cual inhibe la detección del subtítulo, pero probablemente también haya que aumentar Block Value para prevenir el ruido de la amplificación. El valor por defecto de 200 en Block Value es bastante optimista y confía sobre todo en la supresión de cambios en el color medio por " Drop Values”.

Una vez que Block Value excede el umbral, ese Block se considera "agudo". Una vez que conseguimos todos los Block Values para una línea, son incluidos de manera bastante simple:
0111110 => BlockCount=4 (1 – bloque agudo, 0 – bloque no agudo)
0110110 => BlockCount=2
0101010 => BlockCount=0
Espero que te hagas una idea. Solo los bloques consecutivos se añaden a BlockCount.
Una vez que la línea exceda lo que marca BlockCount, se considera "aguda" también.
Entonces comprobamos las líneas de la misma manera que los bloques en el ejemplo anterior para obtener LineCount, y una vez que exceda el valor del rango, consideramos que el frame contiene subtítulo.

Como puede verse, todo es realmente simple… Puse en práctica esto después de aproximadamente seis horas de programación y realmente quedé asombrado por los buenos resultados comparados con lo que esperaba...

El programa detectaba los subtítulos que aparecían realmente bien; pero no había demora (delay) entre el cambio de subtítulo, eso era insuficiente.

Así que añadí “Tracking Changes”.
"MED" rastrea la diferencia entre el número medio de bloques divididos por el número de líneas (multiplicado por 10 para precisar), por lo tanto reacciona para cambiar la longitud horizontal del subtítulo.

"DLC" rastrea la diferencia entre la cuenta de líneas detctadas, por lo tanto reaccionando a las transiciones entre una – y dos – líneas subtituladas.

"LBC" rastrea diferencias en el número de líneas con la misma ¿cuenta de bloque?, el cual debería reaccionar a los cambios tanto de anchura como de altura... pero no es realmente útil, y usted podría querer desconectarlo si detecta demasiados cambios falsos. Yo probablemente debería añadir otro umbral ahí que "uniera" líneas con la diferencia de las “cuenta de bloque” por debajo del valor del conjunto.

MBC comprueba el número máximo de bloques en las líneas detectadas, y en el general produce demasiado ruido en ajustes bajos y añade bastante poco en ajustes altos.

Para cada uno de estos valores el número entre paréntesis muestra el valor que hizo que el programa descubriera el cambio. Si ese cambio se equivocara (y no una vez), se debería cambiar por el valor de muestreo correspondiente.

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

Y enllegando a este punto, Caballero, estoy tal cual decías “como un esquimal no ilustrado leyendo un papiro egipcio” :hola:
Avatar de Usuario
Feve
Director consagrado
Director consagrado
 
Mensajes: 2325
Registrado: Mié Mar 08, 2006 12:10 pm
Ubicación: Dx Dy ³ h/2

Notapor Caballero_de_Malta » Mié Ene 10, 2007 10:59 pm

Feve, eres genial. No te había pedido que lo tradujeras, pero muchas gracias por el esfuerzo. A mí, por lo menos, me ahorras estar todo el rato con el diccionario a mano.

La verdad, desde el icono del zz, no me he podido volver a meter. A ver si entre esta noche y mañana puedo intentarlo un rato largo.

¿Será este texto la Piedra de Rosetta y podemos ilustrar al esquimal en la lectura de papiros egipcios?. A descifrarlo toca.

Saludos.
"Si de noche lloras por el Sol, las lágrimas no te dejarán ver las estrellas" (Rabrindanath Tagore)
Avatar de Usuario
Caballero_de_Malta
Guionista colosal
Guionista colosal
 
Mensajes: 558
Registrado: Lun Feb 13, 2006 3:51 am
Ubicación: Isla de Gozo. En la cueva de Ulises (con Calypso, por supuesto)

Notapor Electroshock83 » Sab Feb 17, 2007 11:50 pm

Por lo que he visto al leer este tema, deduzco que todavía falta tecnología para poder extraer los subtítulos automáticamente y mecanizar el proceso :-(

Llevo días intentando manejar bien el programa, para intentar hacerlo de forma más o menos rápida, pero la única solución y no siempre, es el método manual.

A ver si en futuras actualizaciones del avisubdetector se mejora, o incluso aparece un filtro con las opciones en castellano.
El tiempo pone a cada uno en su sitio
Avatar de Usuario
Electroshock83
Gran camarógraf@
Gran camarógraf@
 
Mensajes: 374
Registrado: Sab Nov 18, 2006 12:21 pm
Ubicación: Valencia

Notapor pere_ubu » Dom Feb 18, 2007 12:13 am

Gracias Feve, había perdido la pista de este hilo.
Estuve trastendo otra vez con el AVISubDetector para los subs de Prospero's Book, pero me harté y empecé a tipearlos a mano. A ver si con esta información logro mejores resultados.

:hola:
Avatar de Usuario
pere_ubu
Director consagrado
Director consagrado
 
Mensajes: 1768
Registrado: Jue Ago 18, 2005 4:01 pm
Ubicación: Que tu sabiduría no sea humillación para tu prójimo - Khayyam

Notapor Caballero_de_Malta » Dom Feb 18, 2007 1:11 pm

Que la Fuerza te acompañe Pere_Ubu
Saludos
"Si de noche lloras por el Sol, las lágrimas no te dejarán ver las estrellas" (Rabrindanath Tagore)
Avatar de Usuario
Caballero_de_Malta
Guionista colosal
Guionista colosal
 
Mensajes: 558
Registrado: Lun Feb 13, 2006 3:51 am
Ubicación: Isla de Gozo. En la cueva de Ulises (con Calypso, por supuesto)

Re: Extraer tiempos de un subtítulo incrustado: AviSubDetector

Notapor montypa » Mié Jul 15, 2009 12:32 pm

PEQUEÑO MANUAL PARA USAR EL AVISUBDETECTOR.-

Descargar el programa AviSubDetector 0.6.0.7 beta de la siguiente página:

http://www.free-codecs.com/AviSubDetector_download.htm

Instalar el programa.

Al cargar el programa vemos la primera pantalla con varias pestañas en el centro: project, subtitles, color, setting etc.

1. Pestaña Project:
Lo primero que tenemos que hacer es ajustar los parámetros que vemos a la derecha donde dice other setting (Todo eso lo puedes hacer desde la pestaña Project. Tienes que activar las opciones Automatically Save Settings, Automatically Save Subs y Automatically Save Stats etc. (picamos todos los que vemos en pantalla) además debemos indicarle una ruta en Project Autosave Directory para que te lo guarde todo ahí o dejar la que viene por defecto C:\Temp\ASD).

Imagen

2. Pestaña subtitles: Es donde nos guarda el script de los subtítulos y la extensión en que queramos guardarlos. El programa permite generar archivos en los siguientes formatos: SRT, SSA, SAMI, SRT with tag. Cuando terminemos el trabajo le damos a save y lo guardamos con un nombre, aunque por defecto los guarda dentro de C:\Temp\ASD\txt. Siempre es conveniente salvar una copia en otro directorio como copia de seguridad. de modo que cada x tiempo debemos ir guardando el trabajo para evitar que por un fallo del programa o de nuestro ordenador hayamos trabajado en balde.
Cuando queramos cargar un trabajo ya iniciado pulsaremos en load. El programa nos preguntará¿Clear script? Le diremos que no pues si no nos borrará todo el texto de los subtítulos para empezar de cero.

Imagen

3.Pestaña color: imagino que servirá para algo pero aún no he logrado saber para que. Seguiremos investigando.

4. Pestaña setting:
Aquí es donde ajustaremos los parámetros para cada película. Normalmente para DVDRip, Satrip, cablerip de gran calidad no hace falta tocar nada, con los valores que vienen por defecto funciona perfectamente. Ahora bien, para el caso de los VHSRip la cosa se complica: todo ello va a depender de la calidad del ripeo y del color del subtítulo. Con calidad aceptable y subtítulos amarillos se puede hacer el subtítulo mediante el sistema OCR o bien de forma manual de manera muy rápida. Con subtítulos blancos hay que ajustar los valores.

Abrimos la película y lo primero que debemos hacer es probar sin tocar ningún valor. Si así no detectara ningún subtítulo hay que deslizar la barra (Shift) hacia la derecha. Probamos primero a la mitad y si sigue sin detectar la deslizaremos hasta el final. Si aún así siguen sin detectarse deberemos bajar los valores de Dropp Differences Below, por defecto están en 100 (red, green, blue) poco a poco iremos probando de 10 en 10 hasta que veamos que comienza a detectarlos. Podemos hacerlo introduciendo los valores con números directamente o bien deslizando las barras que hay más abajo, Normalmente para VHS de poca calidad los he bajado hasta el 60 cada uno de ellos.
Imagen

Si se detectan como subtítulos demasiados frames no subtitulados, se debería incrementar Block Value y Drop Values. En algunos casos he tenido que incrementarlos hasta el 500. Cuando terminemos de ajustar los valores podemos guardarlos en settings, aunque normalmente los respeta si cerramos y volvemos a abrir en otra sesión (Si hemos picado al principio en projects automatically save). Si en un subtítulo se para demasiadas veces debemos aumentar los 5 frames que vienen por defecto en skip change in distance is less then. (Se puede aumentar hasta 15 o 20)

Imagen

5. Pestaña stat No la he utilizado.

6. Pestaña pre OCR Por si queremos memorizar los caracteres antes del OCR

7. Pestaña OCR: se explica en el modo OCR

FUNCIONAMIENTO Y MODOS DEL PROGRAMA

El programa funciona de 3 modos: Manual, automático y OCR.

Manual:


Imagen
Se abre una ventana en la que aparecen los subtítulos que va detectando el programa y se introduce el texto de forma manual. Es el método más práctico para transcribir subtítulos de VHSrip o similares. El programa genera un archivo con los tiempos y el texto introducido. En este modo hay que tener en cuenta lo siguiente:
Una vez que hemos ajustado los parámetros del setting, hemos abierto el avi, y seleccionado el modo manual pulsaremos star full y comenzará a detectar los subtítulos. Cuando detecte subtítulos se nos abrirá una ventana (manual subtítles control):

Imagen

- Cuando veamos en pantalla que el texto se corresponde con un subtitulo pulsaremos Accept text.
- Si la siguiente detección es el mismo subtítulo pulsaremos no changed.
- Si la imagen que detecta no tiene subtitulo pulsaremos no subtitle.
- Si queremos parar pulsaremos pausa o stop. Para reanudar pulsaremos Start(full)

Automático
El Modo Automático genera un archivo con los tiempos de los subtítulos. Nos va creando un subtitulo con la información de los frames y los tiempos para procesarlos con programas tipo "workshop". Con los tiempos extraídos sólo tienes que ir introduciendo el texto en el Workshops.

OCR
Funciona de forma similar al SubRip, pero en este caso hay que tener en cuenta la calidad del archivo Avi en el que están los subtítulos. Al igual que cualquier programa de reconocimiento óptico los parámetros varían en función del texto. Normalmente va bien para DVDRip o Satrip de buena calidad. Al final en unas 5 horas tienes un archivo con algunos errores como confusión de ¡ por i etc. por ello se deberá hacer una corrección con el subtitle workshop y con un corrector ortográfico.

Si el programa no detecta los subtítulos o alguno de los caracteres primero probaremos con la barra shift y los valores del drop etc. (comentados en el apartado de la pestaña setting). Después probarremos dentro de la pestaña OCR, dentro de esta la pestaña main y dentro de esta la de Autocolor donde los valores por defecto son 6, 100, 64. Iremos probando en cada uno de estos valores aumentándolos o disminuyéndolos, a continuación pulsaremos analyze y nos quedaremos con aquellos valores en que mejor se detecte el subtítulo. Igualmente podemos hacer con los factores multiplicadores (Test diference y Outline diference, en estos podemos bajar un poco de 1 o subir a 1 y pico).

Imagen

Una vez empieza a detectar se abre una ventana (AddsymbolForm), comienzan a verse los distintos caracteres y vamos tipeando el que vaya correspondiendo pulsamos add new symbol y el carácter se añade a la lista para luego no tener que volver a tipear. Si el carácter lo queremos utilizar en un momento dado pero no añadirlo a la lista, pulsaríamos Match without adding. Si queremos que no vuelva a aparecer le daremos remove y si queremos ignorarlo ignore.

Imagen

Cuando ya llevemos metidos un buen porrón de caracteres y creamos que no va a salir ninguno más nuevo le damos a Remove unknown all de esta manera eliminamos todo lo que sean rayas o signos extraños y ya podemos irnos y dejar que el programa acabe su tarea solo. Normalmente en las extracciones que he hecho estuve pendiente hasta el frame 20000 aproximadamente. A partir de aquí y pulsando Remove unknown all el programa crea los subtítulos solo. Con esta opción corres el riesgo de que exista algún carácter que no hubiésemos introducido con anterioridad y que el programa obvie al habérselo indicado. Luego nos tocará corregirlo pero será mejor esto que permanecer las 5 horas delante del ordenador.

Imagen

Igualmente podemos eliminar caracteres innecesarios en la pestaña OCR, Main, OCR setting donde podemos pulsar los botones dependiendo de lo que nos interese eliminar:

Inside letter regions (Zonas dentro de las letras)
Below and above letters (encima y debajo de las letras)
Intersecting with letter regions (Intersección con zonas de letras)
Líneas around known letter (líneas alrededor de letras conocidas)
Outside of base Band (Fuera de la banda de la base, debajo del inicio de las letras)

Imagen

Una vez decidida la opción que nos interesa: Manual, Automatic, OCR

Si comenzamos un proyecto nuevo:

- Pulsamos Open Avi (Abrir avi)
- Pulsar Star(Full)

Si iniciamos un proyecto anterior:

- Pulsamos Open Avi (Abrir avi). Algunas veces el programa no te abre el archivo pulsando open avi y te da un mensaje de error “Cannot open file, El sistema no puede hallar la ruta especificada. No pasa nada aceptamos el error y pulsamos star full y nos lo abre sin problema.
- Nos vamos a la pestaña subtitles y pulsamos load, cargamos el archivo de txt que nos interese.
- Vamos a la pestaña OCR (si estamos utilizando este sistema) y dentro de esta a symbols y cargamos en la pestaña load symbols el archivo donde se nos han guardado los caracteres que fuimos introduciendo en la última sesión). A menos que al acabar nosotros previamente hayamos guardado el archivo con otro nombre (en save symbols) el programa por defecto porque ya lo hicimos al principio cuando ajustábamos los parámetros en projects (save automatically OCR symbols) los guarda en un archivo que se llama igual que el avi.
- Vamos al final del texto y nos fijamos en el número de frame que tiene la última línea del subtítulo ( Ej. 2300)
- Vamos a Go To a ambos lados izquierda y derecha hay unas casillas donde pondremos el número de frame siguiente al del último subtítulos ( Ej. 2300) (En las dos) luego pulsamos Go to.

Imagen

- Pulsamos Start Full.

Comenzamos la extracción. El tiempo que tarda en extraer dependerá del modo elegido manual (lo que tardemos en tipear, normalmente 5 o 6 horas de trabajo) automático (unos 30 minutos la extracción de tiempos), OCR unas 2 o 5 horas (depende de la rapidez del procesador y de la memoria del ordenador que tengamos), aunque una vez que el programa ha confeccionado todos los caracteres, éste trabaja solo pero hay que estar atentos porque siempre se cuelan caracteres o detecciones innecesarias). A todos estos tiempos hay que sumar los de las correcciones posteriores con el subtitle workshop y la sincronización al avi que nos interese.

Estas instrucciones no son más que unas pinceladas de lo que he ido descubriendo tras la utilización de este programa en todos los subtítulos que he extraído. Los resultados han sido asombrosos. En muchas ocasiones el subtítulo lo he confeccionado en media hora de trabajo por mi parte, el resto lo hizo el ordenador. En otras, sin embargo tuve que utilizar la forma manual con resultados también muy buenos. Existen aún muchas funciones en el programa por descubrir.
Si tenéis alguna duda o no entendéis algo de los pasos aquí indicados no dudéis en preguntarme. No sé si me expresé con la suficiente claridad o dije todo aquello que es necesario para poder utilizar el programa. Lo mejor es hacer pruebas sin miedo y dejarse guiar un poco también por la intuición.

Os animo a que hagáis pruebas siguiendo las pautas aquí indicadas para así entre todos conseguir resolver los misterios del programa gracias al cual podemos hoy contemplar y entender películas maravillosas.
Avatar de Usuario
montypa
Director de culto
Director de culto
 
Mensajes: 848
Registrado: Lun Ene 16, 2006 11:21 pm

Re: Extraer tiempos de un subtítulo incrustado: AviSubDetector

Notapor droid » Mié Jul 15, 2009 9:14 pm

¡¡¡Muchas gracias, montypa. Por fin hay un tutorial de este programa!!!

:ola: :amo: :bravo: :yuju: :ola:

Ya solo falta que el creador del Avisubdetector saque una versión estable.

Saludos. :hola:
Cine-Clásico somos tod@s
Avatar de Usuario
droid
-
 
Mensajes: 5086
Registrado: Jue May 18, 2006 8:19 am
Ubicación: Cercando un centro di gravità permanente

Re: Extraer tiempos de un subtítulo incrustado: AviSubDetector

Notapor TOTEM » Mié Jul 15, 2009 9:54 pm

Gracias Montypa :!:
:hola:
Mis cucardasImagen
ImagenImagenImagen patente y chapa
Imagen
Avatar de Usuario
TOTEM
Director consagrado
Director consagrado
 
Mensajes: 3836
Registrado: Dom May 14, 2006 12:51 pm
Ubicación: Eros City

AnteriorSiguiente

Volver a Tutoriales

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado