2012-06-10 18 views
5

Tengo una distribución de transmisión en s6b99lczhnef6.cloudfront.net en Amazon. El origen es un cubo en S3. El cubo tiene un video video.mp4. Es público. que estoy tratando de probar la transmisión de este vídeo con jwplayer, siguiendo el código es:Transmisión de video: jwplayer, amazon s3 y cloud

<html> 
<head> 
    <script type="text/javascript" src="jwplayer/jwplayer.js"></script> 
</head> 
<body> 
    <div id="container">Loading the player ...</div> 
    <script type="text/javascript"> 
    jwplayer("container").setup({ 
     flashplayer: "jwplayer/player.swf", 
     file: "video.mp4", 
     height: 270, 
     provider: "rtmp", 
     streamer: "rtmp://s6b99lczhnef6.cloudfront.net/cfx/st", 
     width: 480 
    }); 
    </script> 
</body> 
</html> 

El vídeo no está jugando. No hay errores JS. ¿Qué podría estar yendo mal?

Respuesta

-4

Cargando la página HTML desde un servidor que no sea 'localhost' funciona.

+0

Esa es una respuesta débil a su propia pregunta. ¿Dónde intentas ganar una insignia o algo así? –

1

Creo que tiene que dar el valor de la cadena de archivo como nombredelpaquete/video.mp4 de lo contrario todo parece estar bien.

0

No, eso no es correcto porque está usando CloudFront. Veo el uso consecuente de las comillas. Prueba esto:

<div id="container">Loading the player ...</div> 
<script type="text/javascript"> 
jwplayer("container").setup({ 
    'flashplayer': 'jwplayer/player.swf', 
    'file': 'video.mp4', 
    'height': '270', 
    'provider': 'rtmp', 
    'streamer': 'rtmp://s6b99lczhnef6.cloudfront.net/cfx/st', 
    'width': '480' 
}); 
</script> 

Aquí es un tutorial que explica el formato y las opciones con gran detalle. http://www.miracletutorials.com/embed-streaming-video-audio-with-html5-fallback/

Si eso no funciona, es posible que su video no esté optimizado para la transmisión. Pruebe este tutorial para convertir su video: http://www.miracletutorials.com/how-to-encode-video-for-web-iphone-ipad-ipod/

Espero que esto ayude?

+0

Por alguna razón, reproducirlo desde localhost no funciona. Si despliego el código HTML para decir otro cubo en S3 y lo cargo en el navegador a partir de ahí, el video se reproduce muy bien (se carga bastante rápido). Tal vez, hay alguna restricción en 'localhost'? – septerr

0

No, no es necesario que proporcione un nombre de depósito. La distribución de la nube ya apunta a un cubo.

2

El amazon documentation es válido para JW Player 5.9, y la documentación de JW Player es bastante escasa al usar CloudFront. As briefly explained here, especificando la fuente de flujo ha cambiado con JW Player 6. Esta es la nueva forma de especificar una fuente de emisión continua:

<div id='mediaplayer'>This text will be replaced</div> 
<script type="text/javascript"> 
    jwplayer('mediaplayer').setup({ 
     'id': 'playerID', 
     'width': '720', 
     'height': '480', 
     'file': 'rtmp://s1cxpk7od1m10r.cloudfront.net/cfx/st/your_streaming_file.mp4', 
     'primary':'flash', 
     'autostart' : 'true', 
    }); 
</script> 

Si el flujo es en la carpeta, es posible que tenga algunos problemas utilizando la referencia de archivo anterior. No estoy seguro de por qué rtmp://s1cxpk7od1m10r.cloudfront.net/cfx/st/folder/your_streaming_file.mp4 no funcionaría para mí (creo que tiene algo que ver con la codificación URL), sin embargo el uso de este parámetro para el file cuando se accede a un recurso de streaming ubicado en una carpeta trabajado para mí:

rtmp://s1cxpk7od1m10r.cloudfront.net/cfx/st/mp4:folder/your_streaming_file.mp4 

Si desea probar su cadena de conexión y obtener alguna salida de depuración, checkout this streaming diagnostic tool.

No necesita especificar un nombre de depósito en ningún lugar del código de inserción.