Una de las funciones importantes de Adobe Flash Player radica en la capacidad de mostrar y manipular información de vídeo con ActionScript de la misma forma que se puede manipular otros contenidos visuales, como las imágenes, las animaciones, el texto, etc.
Cuando se crea Flash Video (FLV) en Adobe Flash CS3 Professional, se cuenta con la opción de seleccionar un aspecto para el vídeo, entre los que se incluyen los controles de reproducción habituales. No obstante, no hay motivo por el que se deba limitar a las opciones disponibles. Con ActionScript, se obtiene un control preciso de la carga, la reproducción y el control de la reproducción de vídeo; es decir, se podría crear un aspecto de vídeo personalizado o utilizar el vídeo de una forma menos típica si se desea.
La utilización de vídeo en ActionScript implica trabajar con una combinación de varias clases:
Clase Video: el cuadro de contenido de vídeo real en el escenario es una instancia de la clase Video. La clase Video es un objeto de visualización, de manera que se puede manipular con las mismas técnicas que se aplican a otros objetos similares, como el ajuste de la posición, la aplicación de transformaciones, la aplicación de filtros y modos de mezcla, etc.
Clase NetStream: cuando se carga un archivo de vídeo que controlará ActionScript, se utiliza una instancia de NetStream para representar el origen del contenido de vídeo (en este caso, un flujo de datos de vídeo). La utilización de la instancia de NetStream también implica utilizar un objeto NetConnection, que es la conexión al archivo de vídeo, al igual que el túnel con el que se alimentan los datos de vídeo.
Clase Camera: cuando se utilizan datos de vídeo procedentes de una cámara conectada al ordenador del usuario, una instancia de Camera representa el origen del contenido de vídeo (la cámara del usuario y los datos de vídeo que proporciona).
Cuando se carga vídeo externo, se puede cargar el archivo desde un servidor Web estándar para obtener una reproducción de descarga progresiva, o bien se puede trabajar con un flujo de vídeo transmitido por un servidor especializado como Macromedia® Flash® Media Server de Adobe.
Tareas comunes relacionadas con el vídeo
En este capítulo se describen las siguientes tareas relacionadas con el vídeo que se realizan frecuentemente:
Visualizar y controlar vídeo en la pantalla
Cargar archivos FLV externos
Gestionar metadatos e información de puntos de referencia en un archivo de vídeo
Capturar y mostrar entradas de vídeo de la cámara de un usuario
Conceptos y términos importantes
Punto de referencia: marcador que se puede colocar en un instante de tiempo específico en un archivo de vídeo; por ejemplo, funciona como un marcador para buscar ese instante o proporcionar datos adicionales asociados a dicho momento.
Codificación: proceso de convertir datos de vídeo en un formato a otro formato; por ejemplo, convertir un vídeo de origen de alta resolución a un formato adecuado para la transmisión por Internet.
Fotograma: segmento individual de información de vídeo; cada fotograma es como una imagen estática que representa una instantánea de un momento en el tiempo. Si se reproducen fotogramas de forma secuencial a alta velocidad, se crea la ilusión del movimiento.
Fotograma clave: fotograma de vídeo que contiene información completa del fotograma. El resto de fotogramas que siguen a un fotograma clave sólo contienen información sobre cómo difieren del fotograma clave, en lugar de incluir información relativa al fotograma completo.
Metadatos: información sobre un archivo de vídeo que se puede incorporar en el archivo de vídeo y recuperarse cuando se haya cargado el vídeo.
Descarga progresiva: cuando se transmite un archivo de vídeo desde un servidor Web estándar, los datos de vídeo se cargan mediante la descarga progresiva, es decir, la información de vídeo se carga de forma secuencial. Esto presenta la ventaja de que el vídeo puede empezar a reproducirse antes de que se haya descargado todo el archivo; sin embargo, impide poder saltar a una parte del vídeo que no se haya cargado aún.
Transmisión de flujo: como alternativa a la descarga progresiva, se puede utilizar un servidor de vídeo especial para emitir vídeo por Internet mediante la técnica conocida como transmisión de flujo (a veces denominada "transmisión de flujo verdadera"). Con la transmisión de flujo, el ordenador del espectador nunca descarga el vídeo completo a la vez. Para acelerar los tiempos de descarga, el ordenador sólo necesita, en cualquier momento, una parte de la información de vídeo total. Puesto que un servidor especial controla la transmisión del contenido de vídeo, se puede acceder en todo momento a cualquier parte del vídeo, en lugar de tener que esperar a que se descargue antes de acceder a él.
Ejecución de los ejemplos del capítulo
A medida que progresa en el estudio del capítulo, es posible que desee probar algunos de los listados de código. Como este capítulo se centra en trabajar con vídeo en ActionScript, prácticamente todos los listados de código requieren manipular un objeto de vídeo, creado y colocado en el escenario en la herramienta de edición de Flash, o creado mediante ActionScript. Para probar un ejemplo hay que ver el resultado en Flash Player, a fin de ver los efectos del código en el vídeo.
La mayoría de los listados de código de ejemplo manipulan un objeto Video sin crear el objeto explícitamente. Para probar los listados de código de este capítulo:
Cree un documento de Flash vacío.
Seleccione un fotograma clave en la línea de tiempo.
Abra el panel Acciones y copie el listado de código en el panel Script.
Si es necesario, abra el panel Biblioteca.
En el menú del panel Biblioteca, elija Nuevo vídeo.
En el cuadro de diálogo Propiedades de vídeo, escriba un nombre para el nuevo símbolo de vídeo y elija Vídeo (controlado por ActionScript) en el campo Tipo. Haga clic en Aceptar para crear el símbolo de vídeo.
Arrastre una instancia del símbolo de vídeo desde el panel Biblioteca hasta el escenario.
Con la instancia de vídeo seleccionada, asígnele un nombre de instancia en el inspector de propiedades. El nombre debe coincidir con el utilizado para la instancia de vídeo en el listado de código de ejemplo; por ejemplo, si el código manipula un objeto de vídeo denominado vid, debe asignar a la instancia de escenario el nombre vid.
Ejecute el programa seleccionando Control > Probar película.
Verá en pantalla el resultado de la manipulación del vídeo realizada por el código.
Algunos listados de código de ejemplo de este capítulo incluyen además una definición de clase. En esos listados, además de los pasos anteriores, y antes de probar el archivo SWF, hay que crear la clase que se utilizará en el ejemplo. Para crear una clase definida en un listado de código de ejemplo:
Asegúrese de que ha guardado el archivo FLA que va a utilizar para las pruebas.
En el menú principal, elija Archivo > Nuevo.
En el cuadro de diálogo Nuevo documento, en la sección Tipo, elija Archivo ActionScript. Haga clic en Aceptar para crear el nuevo archivo ActionScript.
Copie el código de la definición de clase del ejemplo en el documento ActionScript.
En el menú principal, elija Archivo > Guardar. Guarde el archivo en el mismo directorio que el documento Flash. El nombre del archivo debe coincidir con el nombre de la clase del listado de código. Por ejemplo, si el listado de código define una clase denominada "VideoTest", guarde el archivo ActionScript como "VideoTest.as".
Vuelva al documento Flash.
Ejecute el programa seleccionando Control > Probar película.
Verá el resultado del ejemplo mostrado en pantalla.