lunes, 5 de mayo de 2008

Artículo: Subtlitulos: Jaque Mate (Actualizado)

Para quien haya leido la entrada sobre codificación de videos, comprendería que existen dos tipos de subtítulos. Los subtítulos llamados hardcoded y los llamados softcoded. Son muy diferentes.

Los subtítulos hardcoded se codifican en la misma pista de video. Si un video está compuesto por frames (imágenes), los subtítulos hardcoded forman parte de la misma imagen. Por lo tando este tipo de susbtítulos no se pueden habilitar o deshabilitar, y mucho menos cambiar entre diferentes pistas de subtítulos.

Los subtítulos softcoded en oposición, no forman parte de la imagen en sí del video. Son pistas diferentes a la pista de video, como lo puedan ser las pistas de audio o las pistas de capítulos. Estas se sincronizan con el video y se superponen sobre este. El resultado son subtítulos que podemos habilitar o deshabilitar a voluntad, con una apariencia mucho más suave y agradable, y además podremos alternar entre unos u otros.

Como dije en su entonces en la entrada de codificación de video, la culpa es tan solo de Apple y su manía de no hacer las cosas de forma NORMAL. MPEG-4 tiene un estandar completamente funcional para subtítulos, capítulos o pistas de audio múltiples. Pero Apple se empeña en hacer todo como a ellos les gusta. El resultado es que tenemos que llevarnos horas y horas pensando como podemos hacer cosas que a priori son más que simples. Si Apple hiciese las cosas de forma normal, tan solo sería necesario un paso. Como esto no es así, tenemos que jugar con QuickTime, editores hexadecimales...

No debería de ser complicado codificar una aplicación relativamente simple para implementar todo esto. Una aplicación que fuese: Abrir video, seleccionar pistas de audio, subtítulos, capítulos... seleccionar idimas, procesar y listo. Pero sinceramente después de las horas investigando y peleándome con QT tengo de todo menos ganas de escribir código. Quizás sea posible en cambio modificcar el código fuente de mp4box.exe y hacer una implementación rudimentaria para dar soporte. Al acabar de escribir esta entrada me pondré en contacto con Kurtnoise por si nos hace el favor a todos de implementarlo en mp4box o en Yamb.

Para quien quiera probar que todo funciona perfectamente puede ver mi viejo y querido "fragmento prueba" de todo este tiempo. Y lo advierto de nuevo, son los últimos 4 minutos del último episodio de la última temporada de Friends, luego no me lloreis si os estropeo el final:

http://rapidshare.com/files/112596021/Fin.mov.html

Sí, son archivos Mov. Es una tontería sobre extensiones. Si le ponemos extension mp4 QT no lo reconoce, si ponemos MOV lo reconoce... Apple...

Sincronizar y listo:





Antes de comenzar, será bueno tener un indice de todo el proceso. Puede que en algún momento nos liemos, pero si comprendemos el proceso, no tiene por qué ser complicado:

1º. Partir de la base de tener ya codificadas las diferentes pistas de nuestro archivo (video, audio, capítulos). Este paso se puede obtener del manual de codificación de video que se encuentra en este mismo blog. Aunque en dicho manual no estaban aun los subtítulos, con lo que algunos pasos que se dan alli se pueden saltar. Siguiendo aquel manual, lo mejor sería después de la codificación del video y del audio no mezclar ambos, y dejar ello para más adelante, cuando tengamos todos los elementos a mezclar.

2º. Obtener el archivo de subtítulos .ttxt

3º. Crearemos un archivo .MP4 para cada uno de los subtítulos, al igual que tenemos una pista de video en un archivo mp4 o dos pistas de audio en otros dos .mp4 diferentes y también haremos trampa para que QT los reconozca como pistas de texto al menos

4.º. Editaremos los archivos .mov de los subtítulos para que QT interprete las pistas de texto ttxt como pistas de subtítulos.

5º. Una vez tengamos todas las pistas elementales en .mp4 y .mov (menos los capítulos) iremos añadiendo una pista a una pista en un contenedor mov nuevo.

6º. Una vez tengamos en el contenedor .MOV todas las pistas elementales, tan solo tendremos que indicar idiomas, capítulos y demás.

Dado que apple no proporciona ninguna herramienta para incorporar subtítulos, el proceso puede ser un poco... complicado, por decirlo de alguna manera. El problema es que ni siquiera QT es capaz de marcar una pista de texto como subtítulos, por lo que debemos de hacerlo nosotros mismos. Tampoco conozco ahora mismo ningún programa que pueda hacerlo ni tengo tiempo ni motivación para crear una aplicación yo mismo.

Voy a decir paso a paso como lo tengo hecho yo, no quiere decir que no sea posible hacerlo de otra forma. En todo momento usando Windows, y aunq me odien los amantes de MAC siento decir que la versatilidad de windows frente a MAC no tiene palangón.


2º. Extracción y obtención de los subtítulos:

Antes que nada evidentemente necesitamos los subtítulos. Yo he partido de subtítulos tipo ttxt por ser el estandar, pero supongo que partiendo de subtítulos .srt tampoco habría ningún problema. Como obtenemos estos archivos de subtítulos?

Todos los DVDs. al ripearlos podemos también extraer los subtítulos. Una vez la película ha sido ripeada (y usamos ripear como acción de volcar el contenido de un DVD al PC) podríamos usar cualquier programa de extracción de subtítulos. En mi caso he seleccionado SubRip, maravillosa aplicación donde las halla para este trabajo.

Hay que comprender que los subtítulos en los DVD no son lineas de texto, sino imágenes superpuestas en el video. Por lo tando, para convertir los subtítulos de un DVD a ttxt por ejemplo es necesario un programa que sea capaz de:

1º. Extraer las imágenes de los subtítulos
2º. Realizar un OCR por la ímagen e ir interpretando caracter a caracter
3º. Convetir los datos extraidos en el archivo deseado con el formato deseado.

Como es común, lo voy a realizar con imágenes en un ejemplo real, puesto que será mucho más intuitivo a la hora de querer seguir los pasos. Como hemos dicho, partimos de que ya tenemos el DVD ripeado en el PC.

SubRip -> http://zuggy.wz.cz/redir.php?co=21

Lo primero será descomprimir/instalar el programa y abrirlo, evidentemente. El proceso será simple. Primero abriremos el encabezado de un DVD, su archivo IFO. Una vez este archivo abierto, el programa nos dirá las pistas de subtítulos encontradas, seleccionaremos la deseada y empezaremos con la extracción. Tenemos varias opciones de extracción, nosotros nos centraremos en OCR. OCR es una técnica de reconocimiento de texto a partir de imágenes.









Llegado a este punto, en cuanto le demos a "Start" comenzará el proceso OCR. Es muy simple, rápido y eficaz. Nos saldrá una ventana preguntándonos por cada caracter. Nosotros tendremos que ir escribiendo el caracter al que corresponde. Así, si nos muetra la imagen la letra B mayúscula, tendremos que introducir la letra 'B' pro el teclado. De este modo, el programa sabrá ya siempre que ese caracter será la B. Este proceso se repetirá tantas veces como caracteres diferentes haya. Es decir, una vez la letra B pro ejempplo esté procesada no nos volverá a preguntar por la misma. Esto significa que los primeros 5 minutos prácticamente los pasaremos "traduciendo" letra a letra, pero evidentemente en cuanto tengamos cada vez más caracteres identificados, el proceso se acortará enormemente. Cuando acabemos además podremos guardar el diccionario generado para ser reutilizado en otra ocasión. Esto es util por ejemplo en series en las que todos los episodios tienen la misma tipografía de subtítulos, luego los diccionarios se pueden reutilizar:




Podemos ver como el OCR nos pide que introduzcamos el caracter al que se refiere la imagen. Que evidentemente sabemos que es una B. OCR no es capaz de identificarla hasta que al menos la hayamos nosotros identificado antes una vez. Así mismo, como vemos en la imagen, las siguientes letras a ser procesasdas serán la 'u' la 't'... el programa también nos deja indicar si la letra se encuentra en negrita (bold) cursiva (italic) o subrallada (underline). Es decir, si esta B fuera en realidad una B tendríamos que marcar la casilla Italic:



Después de procesar algunas letras más, vemos que la letra 'm' (en mi ejemplo) no nos la pide más. Por qué? porque anteriormente la hemos añadido cuando nos apareción en la palabra 'more'. Es decir, cada letra la pondremos tan solo una vez, luego en el peor de los casos tendremos que hacer este proceso unas 50 veces mas o menos, 25 por cada letra minúscula y 25 por cada maýuscula, y también si hay números u otros caracteres, no solo letras.

Después de un ratito, no más de 5 minutos se puede tardar, acabaremos con toda la película:



Ahora tan solo nos quedará seleccionar el formato de salida deseado, el juego de caracteres y ajustar el tiempo, tanto de sincronización como su FPS

El formato de archivo deseado es importante, aunque hemos dicho que usaremos TTXT. El framerate permitirá una correcta sincronización, en mi ejemplo el FPS es de 25, por ello está 25 marcado. Por último normalmente no habría que realizar más ajustes, pero en mi ejemplo no es una película completa, sino son los 3 ultimos minutos de 'Friends'. Esto se debe de especificar, dado que los subtítulos tienen marcadores de tiempo estos indican que pertenecen a los minutos 42 y en adelante, sin embargo para mi deben de comenzar desde 0. Como comenzé el ripeo en el minuto 42, tan solo tengo que restarle 42 minutos a la escala de tiempo, aunque como digo esto tan solo es necesario para mi, dado que es una extracción particular, no completa:



Y es lo que hago. Primero le doy al icono del reloj, segundo marco la casilla minus y lo establezco a 42 mnutos, para que me reste ese tiempo a mis marcadores de tiempo en los subtítulos. Si vemos en la imagen anterior p incluso abajo del todo, el último marcador de tiempo, antes de realizar los ajustes pone que la última frase de los subtítulos aparecería en el minuto 45:35... sin embargo el video no tiene ni 4 minutos de longitud. De ahí la necesidad a ajustar el tiempo. Como digo esto es necesario para mi ejemplo, aunq puede ser necesario en otros proyectos.

En cuanto le demos a Corrected Time, todos los marcadores de tiempo se ajustarán perfectamente al nuevo tiempo.

Ahora podemos ver aquí los diferentes formatos de salida. Como hemos dicho vamos a usar ttxt. Podemos seleccionar tambíen el tipo de fuente e incluso el tamaño de esta. Yo lo suelo dejar por defecto, pero quien quiera puede jugar con los valores:



Al seleccionar un tipo de subtítulos u otro, veremos como nuestra ventana cambia y se adapta al nuevo formato sin problema alguno. Una vez terminemos los ajustes, tan solo tendremos que darle a salvar (el icono del disco). La ventana que se nos mostrará será mu similar, solo que nos pedirá por última vez la letra, el tamaño y la codificación. Por defecto podemos usar Latin I ANSI, que es un juego de caracteres muy usado. Pero tener en cuenta que dependiendo del pais, del idioma... puede ser necesario usar otros sistemas de codificación. Por ejemplo con este juego de caracteres sería imposible tener subtítulos en Japones. Para ello sería necesario usar a lo mejor UNICODE. Cuando acabemos guardaremos el archivo .ttxt donde deseemos. Al cerrar la aplicación nos permitirá si queremos tambien guardar el diccionario generado por OCR como hemos dicho anteriormente.

Ya tenemos generado nuestro archivo de subtítulos. Esta parte en realidad no pertenece a un manual de iPhone o iPod, sino más bien a edición de video. Pero como creo que la mayoría no lo sabía espero que les haya servido. Los problemas en realidad comienzan ahora.


3º. Creación de archivos .MP4 a partir de las pistas .ttxt

Dado que QT a priori no reconoce las pistas ttxt ni siquiera como pistas de texto nos tendremos que apañar con alguna utilidad para hacerlo. Yo soy fan de mp4box.exe Para quienes no les guste la linea de comando que use Yamb.

Ahora bien, la teoría dice que usando yamb por ejemplo, bastaría con crear un archivo mp4 nuevo que incluyese las 6 pistas. Eso sería suficiente para tener un archivo mP4 completamente funcional para el estandar MPEG4. Pero como hemos dicho Apple no hace las cosas tan así. Apple es bastante más estricto, y haciendo eso podemos encontrarnos con algunos problemas. Así que podemos hacer algo similar pero con QT, aunque la mayoría del trabajo podemos hacerlo como he dicho con yamb. (exceptuando la pista de subtítulos). Apple además de modificar ligeramente el formato del contenedor, también tiene una denominación diferente para los identificadores de idiomas, por eso para lo que QT dice que es español, para cualquier otro reproductor dice que es algun idima raro. Pero no nos liemos y continuemos.

Dado que QT no es capaz a priori de leer un archivo .ttxt, la forma más facil es partir de un archivo MP4 que tan solo contenga una pista .ttxt, y esto si es muy facil hacerlo. Desde Yamb o incluso megui podemos hacerlo.

Desde Yamb:


Seleccionamos Creation, Click to create... añadimos tan solo la pista ttxt a la lista, le damos a next y listo. Haciendo esto tendremos ya la pista .ttxt como .mp4 en realidad, de este modo QT sí que la reconocerá (aunque por ahora tan solo como pista de texto y no como pista de subtítulo)




Al darle a Next tendremos creado nuestro archivo VTS_01_0_spanish.mp4 que contendrá tan solo nuestra pista de subtítulos.

Realizaremos el proceso de nuevo si tenemos más de una pista de subtítulos.

Paradógicamente si abriésemos estos archivos desde QT, este nos diría que están vacios, que no tienen ninguna pista de ningún tipo dentro. Pero lo más gracioso aun, es que si renombramos estos archivos .mp4 recien creados a .m4v QT inmediatamente nos reconocerá los archivos y es más, es capaz de reproducirnos la pista de subtítulos, aunque no la reconocerá como tal.

Pues dicho y hecho, lo hacemos. Renombramos los dos archivos de subtítulos (en mi caso son dos) a .m4v. Abrimos el primero con QT, y veremos un recuadro blanco. Tal y como está todo, tan solo le damos a "Guardar como..." archivo nuevo .MOV. Esto hará que nuestro archivo .mp4 (m4v) se guarde con las etiquetas correctas de apple.

Luego con yamb obtenemos los archivos .mp4, los renombramos a .m4v para que los reconozca QT y a continuación los guardamos con QT en formato .mov.

Llegados a este punto ya tendremos preparadas las pistas de subtítulos al menos como pistas de texto. Esto lo podemos comprobar si desde QT hacemos clic en "Mostrar propiedades de la película", nos aparecerá nuestra pista de texto.


4º. Modificación de los archivos .mov para que QT reconozca las pistas de texto como pistas de subtítulos.

Otra cosa absurda de QT o de Apple, según se mire, es que no es posible marcar una pista como pista de subtítulos. No sé sinceramente si Apple venderá algun programa caro de autoría de DVDs, pero desde luego no pone las cosas muy fáciles que digamos. Más absuro aun es el identificador que hace que la pista sea reconocida como subtítulo en vez de como pista de datos.

Los archivos .MP4 o .MOV Que a fin de cuentas son casi iguales, están estructurados en identificadores llamados ATOMS. Estas partículas o átomos señalan y separan cada bloque de estos archivos, identificando si son pistas de audio, de video, subtítulos, que idiomas, donde empieza una y donde acaban... pues todo el problema de los subtítulos se basa básicamente en un ATOM.

QT es capaz de reconocer un ATOM de subtítulo estandar y lo reproduce, pero internamente no lo marca como subtítulo. Como explicarlo... es capaz de reconocerlo y reproducirlo en pantalla, pero no lo asimila como tal. Para que QT reconozca como legítima una pista de subtítulos, esta tiene que estar precedida por el ATOM 'sbtl'. Este ATOM no es que sea nuevo, también existe en el estandar, pero no se usa de la misma forma.

Así pues, QT reconocerá a este punto las pistas como pistas de texto. Ellas tienen un ATOM de 'text' (los atoms tienen 4 letras). Si editamos bien sea con un editor hexadecimal o un editor de atoms esto, de forma mágica QT reconocerá en vez de la pista de texto, una pista de subtítulos. Yo soy fan de los editores hexadecimales, son la herramienta imprescindible ;), así que lo muestro con ello. Ya sé que para la mayoría no será práctico realizar todo esto, aunque supongo que para otros muchos sí. Pero como he dicho, hasta la fecha no hay ningún programa que lo haga de forma automatizada, y como he dicho no tengo ni ganas ni motivación para ponerme ahora a escribir código. Si alguien se anima que lo haga, no es complicado.

Abrimos en un editor hexadecimal el 1º archivo .mov. Con cualquier editor hexadecimal podemos buscar una cadena de texto, así pues buscamos por "text". Es la primera que nos encontramos:



Si modificamos ese 'text' como hemos dicho por 'sbtl':



tendremos suficiente.

Creo que apple tiene por ahí un programa llamado Dumper o algo así que permite la edición de atoms, se puede hacer perfectamente desde él también.

Una vez modificado, guardamos el archivo y listo. Haremos lo mismo para cada archivo de subtítulo que tengamos.

Llegados a este punto, si abrimos el archivo .mov modificado co QT, por arte de magia la pista ya no es una pista de texto, sino de subtítulo. Si le damos igualmente a play, veremos como el texto aparece perfectamente.


5º. Creación de un .MOV con todas las pistas juntas.

Bueno, ya lo que queda es tan solo ensamblar. Llegados a este punto tendremos (en mi ejemplo)

1 pista de video .mp4
2 pistas de audio .mp4
2 pistas de subtítulos .mov
1 pista de capítulos .txt

Abrimos en primer lugar la pista de video en un QT y las dos pistas de audio en otros dos QT, un total de 3 QT abiertos de manera simultanea. El proceso ahora será el mismo para todo:

Vamos a la ventana de QT con la pista de audio en español (por ejemplo). Editar, seleccionar todo, copiar. Vamos a la ventana de QT co la pista de Video. Editar, seleccionar todo, añadir a la película y escalar. Esto nos añadira la pista de audio español a nuestra pista de video. Si reproducimos escucharemos el audio perfectamente.

Vamos a la ventana de QT de la pista de audio en ingles y repetimos el proceso. Vamos a la ventana de QT con la pista de Video y Audio español, seleccionar todo, añadir y escalar. Esto nos añadirá la segunda pista de audio.

Como tan solo hemos añadido, si reproducimos ahora se solaparán ambas pistas. Podemos ir haciendolo poco a poco y entrar en "mostrar propiedades de la película" y poner los idiomas y ajustar estas cosillas o hacerlo todo después una vez tengamos todas las pistas añadidas. Para no repetirlo todo, yo opto por esta segunda opción.

Cerramos las dos ventanas de QT con las pistas de audio y abrimos otras dos ventanas con las pistas de subtítulos.

Igual que hemos realizado antes. Vamos a la ventana de QT con la pista de subtítulo en ingles, seleccionar todo, copiar. Vamos a la vetana de QT con nusetra pista de video + 2 de audio, seleccionar todo, añadir y escalar. Realizamos el mismo proceso con la otra ventana de QT con los subtítulos en español.

Llegados a este punto, en la ventana de QT principal tendremos ya añadido la pista de video, 2 de audio y 2 de subtítulos.

Para acabar añadimos de la misma forma la pista de capítulos.


6º. Ajustanto las diferentes pistas

Una vez tengamos todas las pistas en la misma ventana de QT, ahora lo único que queda es ajustar las propiedades. Vamos a "mostrar propiedades de la película"

Aquí podremos ver cada una de las pistas añadidas, en total 6 en mi caso. Ahora queda ajustar algunas cosas.

Seleccionamos la primera pista de audio, que será la pista de audio en español. Vamos a otros Ajustes y establecemos el idioma. En alternativo pondremos la segunda pista de audio, de este modo cuando seleccionemos una se deseleccionará la otra.

Seleccionamos la segunda pista de audio, que será la pista de audio en inglés. Otros ajustes, y establecemos de nuevo el idioma. Veremos que en alternativa ya está seleccionada la pista de audio primera. Al establecerlo esto en la 1º pista, se establece en la alternativa tb.

A continuación hacemos exactamente lo mismo para las pistas de subtítulos.

Por último queda la pista de capítulos. Esta se trata de manera u pelin diferente. En esta ocasión marcamos la pista de video, Otros Ajustes, y en capítulos marcamos la pista de texto que resta. Hay que acordarse de desactivar la pista capítulos, para que no nos muetre constantemente el capítulo en el que estamos al reproducir el video:

Y se acabó. Cerramos, Guardar Como... Película MOV independiente. Cerramos el video, lo abrimos y listo. tendremos un bonito MOV creado con diferentes pistas de subtítulos, de audio y con capítulos.




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

26 comentarios:

Camilo Gonzalez Vivares dijo...
Este comentario ha sido eliminado por el autor.
Camilo Gonzalez Vivares dijo...

holaaa yo de nuevo ^^ te keria preguntar algo.. vos sabes cómo puedo hacer el mismo proceso desde la creación del archivo .mp4 en Yamb hasta el final.. pero en MAC??? gracias!!!

Theliel dijo...

Claro que lo sé, es muy simple:

No puedes.

Si usas MAC OS siempre siempre estarás limitado, y en concreto con codificación de video, olvídate del todo, calidad, rapidez, versatilidad... como mucho podrás aspirar a lo mejor a un 10% de lo que puedes hacer bajo Windows. Gracioso verdaD?

Alvarito dijo...

Hola,

He leído por encima la entrada, a ver si me da tiempo en casa a leerla mejor.
Me gustaría preguntarte si sabes si existe alguna aplicación que haga el proceso.
Te explico por qué me interesa: Llevo buscando algo que me sirva unos meses y no he encontrado nada, así que estas vacaciones me he puesto manos a la obra a crearme una aplicación basada en Java para que sea multiplataforma. La tengo bastante avanzada (por ahora me estoy centrando en crear una representación de la peli en memoria para luego modificarla añadiendo/quitando atoms) y lo último que me falta es añadir unos cuantos atoms más de la especificación oficial de Apple. El tema es que no encontraba por ningún sitio cómo huevos se añadían los subtítulos de forma nativa (no esos que te meten una nueva pista de video con los subtítulos), pero viendo tu entrada creo que ya se por donde van los tiros.
¿Tienes algún fichero con subtítulos nativos que se vean el en AppleTV/iPhone para poder echarle un ojo en hexadecimal y saber cómo se crea el atom adecuado?

Muchas gracias.

P.D: Si quieres que te envíe la aplicación cuando esté más desarrollada dímelo y así la probamos los dos.

Theliel dijo...

Te puedo enviar si quieres mi siempre video de pruebas que tengo creado, un pequeño fragmento de los ultimos segundos del ultimo eposidoio de friends, tiene dos pistas de audio, dos pistas de subtítulos, una pista de capítulos y creo que eso es todo, un poco de todos vamos.

Claro, será un placer ver si esa pequeña aplicacion java hace un buen trabajo. De hacerlo, será de gran ayuda para muchos

Anónimo dijo...

Hola Theliel
He estado observando que el tamaño de los subtítulos en la pantalla del iPod se ven bien, pero si visualizas el vídeo en un TV los subtítulos se ven muy muy pequeños, tanto que apenas se pueden leer.

No he encontrado nada en internet sobre cambiar el tamaño de la fuente directamente en los atoms del vídeo, porque cambiando el tamaño de la fuente en el ttxt sólo afecta a Quicktime NO al IPOD.

He observado que los Closed Captions en algunos vídeos que he visto se ven con un buen tamaño en el TV, pero para insertar un stream CC en el vídeo no hay nada en windows, sólo en MAC.

Cualquier luz que puedas arrojar será de agradecer.

Un saludo Rick.

Theliel dijo...

De echo creo que los CC no son soportados en el iPod/iphone, los stream son ligeramente diferentes

En teoría los ttxt se podrían formatear a otro tamaño o fuente como bien dices, pero si lo has probado y no hay manera es posible que suceda una de dos cosas: Apple usa un formato más raro que el estandar TTXT (que si permite diferentes fuentes y tamaño) o que simplemente el iPod no lo soporta.

Si es cierto que en la TV salen algo pequeños, pero al menos en mi caso si los puedo ver perfectamente.

El problema con todo este tema es que Apple se empeña de hacerlo todo diferente al estandar y además, no da ni una sola herramienta decente para poder hacerlo, pero incluso en mac, todo es un poco tabú.

Es evidente que lo normal es que se ciñeran a los estándares... pero claro

Anónimo dijo...

'Buenas de nuevo'

iPhone e iPod Si soportan Closed Captions; tengo un clip de un podcast de Technocato HD (CC) dónde explican como hacerlo e incluso algunos vídeos lo traen; los he probado en iPod y en la TV y se ven de lujo. En esta WEB tienes un tutorial de cómo hacerlo, lo malo es que el plugin de Quicktime para convertirlo en ATOM sólo lo han implementado en Mac :(.
http://ncam.wgbh.org/mm/m4vcaps.html

Un saludo.

Theliel dijo...

Bueno ese supuesto tuto es para explicar los subtítulos, como yo lo hice aquí. Desde mi punto de vista es diferente los subtítulos a los CC. Al poner directamente que en le iPod/iphone activar CC en los ajustes... no es correcto, ahí se activan los subtítulos

Por otro lado meter los subtítulos en windows como dije lo que uso es directamente un editor hexadecimal. A falta de programas, buenos son los editores. Cualquier dia que tenga tiempo implemento un mini programita que lo haga

Anónimo dijo...

Buenas.
Estás confundido: los closed captions (CC) van en un stream diferente al de los subtítulos; los CC llevan 'Component subtype' 'clcp' y los subtítulos 'sbtl'; los CC están codificados según la norma C608 (tal como aparecen en la línea 21 de una emisión de TV) y los subtítulos son un stream de texto 3g. CC sólo puede existir uno en un vídeo, subtítulos cuantos quieras. Los CC se seleccionan en Quicktime en Menú/Visualización/Mostrar subtítulos opcionales y los subtítulos en Menú/Visualización/Subtítulos; Los CC se seleccionan en el iPod en Ajustes/Vídeo/Con subtítulos y los subtítulos en el bocadillo de subtítulos mientras reproduces el vídeo en cuestión.

Te recomiendo que busques un podcast que se llama TECNOCATO HD (CC) y te descargues un vídeo que se llama "How to Closed-Caption: Sample CC video"; este vídeo tiene un stream de CC NO de subtítulos y podrás probar lo que te cuento arriba.

'Un saludo'

Theliel dijo...

Ya ya se que los subtítulos y los CC son diferentes, lo que decía es que creía que el iPod No soportaba CC, la verdad no tenía ni idea.

Pero ahora q lo dices, y con el atom de los CC no debería de ser nada complicado de hacer algún truco para implementarlo, al igual que hicimos con los subtítulos

Gracias por el aporte

Anónimo dijo...

Mira en esta dirección están los fuentes del plugin para importar los CC en Quicktime.

http://developer.apple.com/samplecode/ClosedCaptionImporter/listing1.html

'Regards'

Jaime dijo...

Lo intente todo pero algo me sale mal desde la parte de cambiar el .m4v a .mov, no se si sea porque utilizo una versión portable del quicktime, utilizo windows xp, espero me puedan ayudar.

Jaime dijo...

me acabo de dar cuenta que al cambiar
el archivo la extensión mp4 a m4v el archivo se sigue llamando xxxxxx.m4v.mp4, alguien me podría decir cómo cambiar la extensión correctamente??

Theliel dijo...

eso es pq no tienes puesto que se vean las extensiones de los archivos.

En XP/Vista/W7, panel de control, opciones de carpetas, ver -> ocultar extensiones para tipos de archivos conocidos (Estará activado), y lo desactivas

Jaime dijo...

ok, ya logré hacer todo, pero los subtítulos me quedan en la parte izquierda del video, voy a tratar de editarlos para que se vean, alguien me puede decir de algún editor de subtítulos bueno? gracias

Theliel dijo...

Personalmente me gusta SubRip

http://zuggy.wz.cz/redir.php?co=21

Aunque es como todo... en su tiempo fue con diferencia el que más me agradó.

Jaime dijo...

por fin lo logré, sólo tengo un problema, quisiera editar los subtítulos .mov, pues los subtítulos se me atrasan como 5 segundos, ya revisé los subtítulos desde que estaban en formato srt y están bien sincronizados con el video, no se si al convertirlos a .mov se atrasaron, bueno, alguien me puede decir cómo editar subtítulos en formato .mov
si es con quick time diganme cómo o si se necesita otro programa diganme cuál es y lo consigo, es el ultimo problemita, ya después de dar mucha lata escribiendo comentario tras comentario, gracias por hacer esta entrada Theliel, y espero tu última respuesta

Theliel dijo...

Editarlos una vez integrados es complicado. Deberías de extraer la pista de subtítulos con QT o MP4box tu mismo

Ese "problema" lo encontré algunas veces cuando intentaba resolver el problema. Es debido, en mi caso al menos, a que cuando extraía y editaba los subtítulos con SubRip, no establecía el tiempo inicial. Es decir, si la película extraída mía comenzaba en el seguno 10, tenía que decir que los subtítulos empezaran tb con dicho desfase. En teoría parece lógico que no hace falta... pero hacía.

Jaime dijo...

wow!!!, quedaron excelentes, mil gracias Theliel, no te importa si pongo este link en algunas páginas dónde también quieren saber poner los subtítulos opcionales?, sólo el link.

Theliel dijo...

no hay problema en ningun caso.

De todos modos estoy intetando hablar con Kurtnoise para ver si se puede implementar de modo alguno de forma más sencilla... y creo q posiblemente tengamos suerte ;)

Jaime dijo...

orale, ojalá y puedan.

Anónimo dijo...

Desde marzo de 2009 existe iSubtitler, aplicación nativa de Mac OSX que permite poner subtítulos.
www.bitfield.se/isubtitle/index.html

Saludos cordiales

Theliel dijo...

Solo para MAC OS... y si de por sí tenemos en cuenta que no hay ni siquiera un solo codificar decente para MAC... sería un poco absurdo sinceramente poner subtítulos con MAC y codificar en Windows...

Existe alguno mas desde hace tiempo, dado que Apple tiene herramientas para ello, para MAC OS

Jaime dijo...

Que onda THELIEL, gracias por tu guía, tengo una duda, si pudieron hacer el programa para hacer este proceso más fácil? espero que si, sería genial, Bueno saludos

Theliel dijo...

Por ahora no se nada mas de lo que ya dije, lo siento

 
Creative Commons License
Esta obra está bajo una licencia de Creative Commons.