2011-08-28 6 views
0

Vous essayez de configurer une page de test qui accède à une vidéo hébergée sur S3 et diffusée en streaming à l'aide de CloudFront. Le lecteur que j'utilise est JWPlayer, qui est censé fonctionner avec les appareils iOS.Streaming MP4 vers iOS ne fonctionnant pas avec JWPlayer et CloudFront

Malheureusement, rien ne se passe quand je l'ouvre sur l'iPhone ... Je suis sûr que la réponse est évidente, mais elle m'a échappé depuis une heure. Voici le code (la plupart du temps un copier/coller de http://aws.amazon.com/articles/4101?_encoding=UTF8&jiveRedirect=1):

<!--  THIS IS A BASIC HTML FILE TO PLAY MP4's USING JW PLAYER 
The following code is from longtailvideo.com's 'Setup Wizard', found at http://www.longtailvideo.com/support/jw-player-setup-wizard --> 
<HTML> 
<HEAD> 
<TITLE> 
Streaming Video with JW Player 
</TITLE>  
</HEAD> 
<BODY> 
<!-- Put a header above your video, if you like 
--> 
<H1>This is my header</H1> 
<script type='text/javascript' src='http://s3.amazonaws.com/intrinseque-video/swfobject.js'></script> 
<div id='mediaspace'>This text will be replaced</div> 
<script type='text/javascript'> 
var so = new SWFObject('http://s3.amazonaws.com/intrinseque-video/player.swf','mpl','470','290','9'); 
    so.addParam('allowfullscreen','true'); 
    so.addParam('allowscriptaccess','always'); 
    so.addParam('wmode','opaque'); 
    so.addVariable('file','mp4:oceans-clip.ipad.mp4'); 
     so.addVariable('streamer','rtmp://s1m21pqfl8vlrl.cloudfront.net/cfx/st/'); 
    so.write('mediaspace'); 
</script> 
</BODY> 
</HTML> 

<!--Common problems: 
- You cannot have any spaces in any of your URL's (including your 'rtmp://...' URL)    (i.e., http:// thereisaspaceatthebeginninghere.xxx) 
- Be sure you are calling the correctly numbered version of the flowplayer objects/players (i.e. flowplayer-3.2.2.swf 
- You cannot have duplicates of 's3.amazonaws.com' or 'cloudfront.net' in the same address (i.e. (http://s3.amazonaws.com/s3.amazonaws.com/YOUR_BUCKET/player.swf) 
- There is a different naming protocol for mp4 vs flv files. For .mp4 files, YOU MUST write it as 'mp4:YOUR_VIDEO_FILE_WITHOUT_THE _MP4_SUFFIX'. For .flv files, you simply write the name of the file, 'YOUR_VIDEO_FILE_WITHOUT_THE_FLV_SUFFIX'. 
--> 

Répondre

1

Découvrez http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/49/using-cloudfront

Vous devez ajouter quelque chose le long des lignes de:

 modes: [{ 
     type: "flash", 
     src: "/assets/player.swf" 
    },{ 
     type: "html5" 
     config: { 
      file: "http://dXXXXXXXXXXXX.cloudfront.net/example.mp4" 
      provider: "video" 
     } 
    }], 

au code pour qu'il gérer correctement à la fois flash et html5.

+1

n'avait pas eu le temps de l'essayer, mais puisque c'est la seule réponse et semble plausible, je vais l'accepter. Merci! – Sologoub

0

En réalité, tous les fichiers mp4 naissent égaux. Certains convertis avec des codeurs/codecs bizarres ne fonctionnent parfois pas sur IOS. J'ai eu un cas où, mp4 encodé handbreak n'a pas joué, tandis que ffmpeg encodé même vidéo en streaming parfaitement.

Je n'ai jamais compris quelle était exactement la différence. Peut-être quelque chose à faire où vous placez des métadonnées vidéo dans le fichier.

Questions connexes