2012-03-12 21 views
6

Quiero transmitir archivos de audio/video en un reproductor. El reproductor podría ser un reproductor HTML5 o Flash, dependiendo del hecho de que el audio HTML5() sea compatible con el navegador del cliente o no. El servidor de transmisión que estoy considerando es AMAZON Cloudfront. He revisado la guía en amazon http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/RTMPStreaming.html#d0e4668 pero solo habla de Flash Player. ¿Es posible utilizar un reproductor HTML5 con medios de transmisión de Amazon Cloudfront?HTML5 o reproductor flash para transmisión desde Amazon Cloudfront

Respuesta

7

ACF (Amazon CloudFront) Distribuciones utilizar Flash Media Server para flujos RTMP así, en sí mismos, CF Distribuciones Aren' t una solución completa en cuanto a ofrecer capacidades de transmisión para jugadores no flash también.

Esto te deja con 2 opciones;

  1. ofrece fluir sólo a los usuarios de flash/dispositivos con una opción regular, progresiva descarga a través de HTML5 O
  2. instalación de un servidor de medios WOWZA con su contenido al corriente si el modo en HTML .

De cualquier manera, esto se puede lograr usando modos del jugador [] var donde se puede proporcionar diferentes parámetros de configuración, como la ruta/archivo y otras variables tales como streamer & proveedor de en su lista de reproducción/jugador en consecuencia.


Ejemplo Vamos a suponer que tiene la siguiente configuración;

  1. Un cubo, 'my-music.s3.amazonaws.com/'. Aquí es donde almacena sus medios . Por ejemplo, 'my-music.s3.amazonaws.com/audio/' para audio y 'my-music.s3.amazonaws.com/video/' para videos.
  2. Una distribución de transmisión RTMP con su contenedor 'my-music.s3.amazonaws.com/' como origen. Esta será su streamer flashvar, algo así como 'XXXXXXXXXXX.cloudfront.net/cfx/st/'.
  3. Un MP3 localizado en la ubicación '/audio/song.mp3'.

para hacer este trabajo, ya sea en flash (con RTMP corriente) O HTML5 (como una descarga progresiva) que tendría que tener una configuración del reproductor de la siguiente manera ...

<script type="text/javascript"> 
/* set var baseURL to your media BUCKET 
NOT your streaming distribution */ 
var baseURL = "https://my-music.s3.amazonaws.com/"; 

jwplayer('mediaplayer').setup({ 
'id': 'playerID', 
'width': '480', 
'height': '270', 
'file': 'audio/song.mp3', /* change to your song/video path */ 
'provider': 'rtmp', 
'streamer': 'rtmp://XXXXXXXXXXX.cloudfront.net/cfx/st/', 
'modes': [ 
    { 
     type: 'flash', 
     /* set the location of your SWF object */ 
     src: 'https://my-player.s3.amazonaws.com/plugins/jwplayer/player.swf' 
    }, 
    { 
     type: 'html5', 
     config: { 
      /* prepend your BUCKET URL (baseURL var) to the file path */ 
      'file': baseURL + 'audio/song.mp3', 
      /* set provider */ 
      'provider': 'video' 
     } 
    } 
] 
}); 
</script> 

Por supuesto, si usted está usando un CMS, flash, plugin o módulo para administrar sus jugadores, es probable que sea capaz de acceder & editar estos parámetros en una pantalla de administración o, alternativamente, establecerlos programáticamente.

Una cosa a destacar, es que el fin de colocar el tipo objetos de la matrizmodo [] es el orden en el que el jugador JW intentará cargar.


Para obtener más información, consulte JW Embedder Modes here.

Oferta transmisión dual Si usted quiere ofrecer streaming usando HTML5, tendrá que utilizar el mismo enfoque, el cambio de la serpentina, proveedor de atributos en el objeto de texto HTML5 en consecuencia.

Espero que ayude esto!

Gez

+0

@gentrobot siempre que no le importe proporcionar su contenido mediante la descarga progresiva (es decir, no transmisión) cuando en el modo ** HTML5 **, sí, * CloudFront ** hará el trabajo solo. Sin embargo, si desea transmitir contenido ya sea mediante flash o HTML5, tendrá que mirar otra tecnología no basada en flash como wowza. De cualquier manera, cómo se logra esto se explica en mi respuesta. la mejor de las suertes, Gez – MyBO

+0

Gr8 respuesta! Gracias un trillón. Estoy revisando el sitio de Wowza y sus servicios, y miro si se ajusta a mis necesidades. – gentrobot

+0

Hola @gentrobot, no hay problema ... Wowza podría no ser la única opción, pero definitivamente necesitarás tener un servidor/servicio de medios que no esté basado en flash para servirlos. Mientras tanto, puedes probar los modos del jugador utilizando html5 como en el ejemplo. Al menos entonces sabes que la lógica/reproductor funciona en tu entorno. La mejor de las suertes, Gez – MyBO

1

JWplayer hará html5 y la transmisión de flash de Cloudfront muy fácilmente.

Ver los detalles a continuación ... http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/49/using-cloudfront

Jon

+0

2 preguntas: 1. ¿Puedo utilizar mis propios jugadores HTML5 y Flash? 2. ¿Debo comprar un Amazon S3 y un servicio Amazon CloudFront por separado? – gentrobot

+2

Siempre que admitan protocolos de transmisión rtmp, puede usar lo que quiera, simplemente señale la fuente a la cadena connect/play de la nube. No tiene que comprar S3/Cloudfront por separado, vienen bajo la única cuenta de AWS para la que se suscribe. Hay un probador de transmisión útil, que utilizo para verificar las cadenas de conexión. http://d1k5ny0m6d4zlj.cloudfront.net/diag/CFStreamingDiag.html Cloudberry S3 explorer es también una herramienta muy útil para tener en su arsenal. – JonLovett

+0

Muchas gracias JonLovett. Has sido de gran ayuda. – gentrobot

Cuestiones relacionadas