2012-09-13 71 views
5

Tengo una aplicación MVC 4 que contiene una vista para mostrar "Videos" del almacenamiento de blob azul del formato MP4 solamente. Actualmente estoy usando MediaElment.js (o cualquier reproductor flash típico) como reproductor de video. ¿Cómo puedo reproducir estos videos en un método de transmisión suave o de descarga progresiva (transmisión adaptable)? ¿Cuáles son las configuraciones que tengo que configurar en Azure para admitir la transmisión? ¿Hay algo que deba hacer antes de subir el archivo MP4 al almacenamiento de blob?Smooth Streaming Video from Blob Storage

He pasado por este enlace http://msdn.microsoft.com/en-us/spazuretrainingcourse_spblobstorageazure.aspx y, por lo que he entendido, Windows Azure Blobs Uploader se utiliza para cargar archivos de video a azure y silverlight como el cliente. En mi caso, el video se carga desde una aplicación separada, por lo que no es posible manipular el archivo de video. Entonces, ¿hay alguna manera de implementar la transmisión sin ningún cambio y reproducirlo en un reproductor de video que no sea el uso de Silverlight?

¿Es posible hacer algo si puedo cambiar el archivo multimedia durante la carga?

Gracias.

+0

Por curiosidad, ¿ha analizado los Servicios de medios de Windows Azure? WAMES admite transmisión adaptable desde Blob Storage e incluso ofrece una forma de convertir videos a un formato de transmisión sin interrupciones con un poco de esfuerzo. – Rytmis

Respuesta

4

He estado haciendo casi exactamente esto, pero sin Adaptive Streaming (estoy tratando con archivos de video de solo 25 MB o menos). Estoy usando JWPlayer para la interfaz en mi página web, y el video está en Azure blob storage.

Estoy usando el archivo binario ffmpeg.exe precompilado. Lo cargué en Azure (lo puse en la raíz del proyecto de Rol de trabajador), luego uso System.Diagnostics.Process en una WorkerRole para dar masajes a los archivos de video. Podría hacer lo mismo para crear las diferentes versiones de calidad que desee.

Por lo tanto, cuando un usuario carga un video, la capa de lógica de negocios despliega un mensaje en una cola de mensajes de Azure, mi rol de trabajador lo recoge y lo copia en Azure LocalStorage (LocalStorage es un disco físico que puede configurar en su proyecto Azure archivo de configuración), ejecuta ffmpeg.exe sobre el archivo y luego lo vuelve a guardar en blob storage.

+0

Muchas gracias. Por lo tanto, según su método, al cargar un archivo de video al almacenamiento de blob, está convirtiendo el archivo de medios para transmitir contenido usando ffmpeg y almacenando el contenido de esta secuencia en blob.Right? – Dennis

+0

No del todo. DESPUÉS de cargar en blob, estoy copiando el archivo de video en una carpeta temporal, usando ffmpeg para alterar la codificación (pero puedes hacer muchas cosas con ffmpeg y sospecho que puedes usarlo en lugar de Expression Encoder para hacer lo que quieras en la línea de comando , en el lado del servidor en su instancia de Azure) Luego vuelvo a poner el archivo de video alterado en almacenamiento de blobs. –

+0

bien. Estoy listo para usar FFMPEG para codificar el archivo de video (MP4) según sea necesario. Ahora, para que se transmita a un jugador, ¿cuáles son los pasos a seguir? es decir, ¿necesito crear algo así como un controlador que pueda transmitir video al reproductor a pedido? Quiero que el video empiece a reproducirse progresivamente (sin esperar a que se descargue todo el video). ¿Debo configurar algo en el lado del cliente (jugador) o del servidor? – Dennis

Cuestiones relacionadas