2012-06-10 4 views
5

J'ai une diffusion en continu sur s6b99lczhnef6.cloudfront.net sur Amazon. L'origine est un seau en S3. Le seau a une vidéo video.mp4. C'est public. Je suis en train de tester le streaming cette vidéo avec jwplayer, suivant le code:Vidéo en streaming - jwplayer, amazon s3 et cloudfront

<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> 

La vidéo ne joue pas. Il n'y a pas d'erreurs JS. Qu'est-ce qui pourrait mal tourner?

Répondre

-4

Chargement de la page HTML à partir d'un serveur autre que 'localhost'.

+0

C'est une réponse faible à votre propre question. Où vous essayez de gagner un badge ou quelque chose? –

1

Je pense que vous devez donner une valeur de chaîne de fichier comme nom de compartiment/video.mp4 sinon tout semble bien.

0

Non, ce n'est pas correct car il utilise CloudFront. Je vois une utilisation conséquente de guillemets. Essayez ceci:

<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> 

Voici un tutoriel qui explique la mise en forme et les options en détail. http://www.miracletutorials.com/embed-streaming-video-audio-with-html5-fallback/

Si cela ne fonctionne pas, il est possible que votre vidéo ne soit pas optimisée pour le streaming. Essayez ce tutoriel pour convertir votre vidéo: http://www.miracletutorials.com/how-to-encode-video-for-web-iphone-ipad-ipod/

J'espère que cela aide?

+0

Pour une raison quelconque, la lecture depuis localhost ne fonctionne pas. Si je déploie le HTML pour dire un autre seau dans S3 et le charge dans le navigateur à partir de là, la vidéo joue super bien (les charges sont assez rapides!). Peut-être, il y a une restriction sur 'localhost'? – septerr

0

Non, vous n'avez pas besoin de fournir un nom de compartiment. La distribution cloudfront pointe déjà vers un compartiment.

2

Le code amazon documentation est valide pour JW Player 5.9, et la documentation de JW Player est assez clairsemée sur l'utilisation du streaming CloudFront. As briefly explained here, en précisant la source de diffusion a changé avec JW Player 6. Ceci est la nouvelle façon de spécifier une source de diffusion en continu:

<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 votre flux est dans le dossier, vous pourriez avoir quelques problèmes en utilisant la référence de fichier ci-dessus. Je ne sais pas pourquoi rtmp://s1cxpk7od1m10r.cloudfront.net/cfx/st/folder/your_streaming_file.mp4 ne fonctionnerait pas pour moi (je pense qu'il a quelque chose à voir avec l'URL encodage), mais en utilisant cela pour la file lors de l'accès à une param ressource en streaming situé dans un dossier travaillé pour moi:

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

Si vous souhaitez tester votre chaîne de connexion et obtenir une sortie de débogage, checkout this streaming diagnostic tool.

Vous n'avez pas besoin de spécifier un nom de compartiment dans le code d'intégration.

Questions connexes