Потоковая передача MP4 на iOS не работает с JWPlayer и CloudFront - PullRequest
0 голосов
/ 28 августа 2011

Попытка настроить тестовую страницу для доступа к видео, размещенному на S3 и транслируемому с помощью CloudFront. Плеер, который я использую, - это JWPlayer, который должен работать и с iOS-устройствами.

К сожалению, ничего не происходит, когда я открываю его на iPhone ... Я уверен, что ответ очевиден, но он ускользал от меня в течение последнего часа. Вот код (в основном копирование / вставка из 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'.
-->

Ответы [ 2 ]

1 голос
/ 07 сентября 2011

Выезд http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/49/using-cloudfront

Вам нужно добавить что-то вроде:

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

к коду для правильной обработки как flash, так и html5.

0 голосов
/ 18 сентября 2013

На самом деле, не все файлы mp4 одинаковы. Преобразованные с помощью странных кодеров / кодеков иногда не работают на IOS. У меня был случай, когда MP4, закодированный вручную, не воспроизводился, в то время как видео в формате ffmpeg передавалось идеально.

Я так и не понял, в чем именно разница. Может быть, что-то делать, когда вы помещаете метаданные видео в файл.

...