HTML5 или Flash Player для потоковой передачи из Amazon Cloudfront - PullRequest
6 голосов
/ 12 марта 2012

Я хочу передавать аудио / видео файлы в плеере. Проигрыватель может быть проигрывателем HTML5 или Flash, в зависимости от того, поддерживается ли HTML5 audio () браузером клиента или нет? Потоковым сервером, который я рассматриваю, является AMAZON Cloudfront. Я ознакомился с руководством на amazon http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/RTMPStreaming.html#d0e4668, но оно говорит только о Flash Player. Можно ли использовать проигрыватель HTML5 с потоковым мультимедиа из Amazon Cloudfront?

Ответы [ 2 ]

7 голосов
/ 03 мая 2012

Распределения ACF (Amazon CloudFront) используют Flash Media Server для RTMP-потоков , поэтому сами по себе распределения CF не являются полным решением в отношениипредлагая потоковые возможности для не флэш плееров / устройств тоже!

Это оставляет вам 2 варианта;

  1. предлагает потоковую передачу только пользователям флэш-памяти / устройствам с возможностью регулярной прогрессивной загрузки через HTML5 ИЛИ
  2. Настройте медиасервер WOWZA для потоковой передачи содержимого в режиме HTML.

В любом случае, это может быть достигнуто с помощью режимов проигрывателя [] var , где вы можете указать различные параметры настройки, такие как path / file и другие переменные, такие каккак streamer & провайдера в вашем списке воспроизведения / проигрывателе соответственно.


Пример Предположим, у вас естьследующая настройка;

  1. Ведро, 'my-music.s3.amazonaws.com/'.Здесь вы храните свои медиа.Например, «my-music.s3.amazonaws.com/audio/» для аудио и «my-music.s3.amazonaws.com/video/» для видео.
  2. Потоковое распределение RTMP с вашим 'my-music.s3.amazonaws.com/ 'ведро в качестве источника.Это будет флешвар вашего стримера, что-то вроде 'XXXXXXXXXXX.cloudfront.net/cfx/st/'.
  3. MP3, расположенный в папке' /audio/song.mp3'.

Чтобы это работало либо во Flash (с RTMP-потоком), либо в HTML5 (в качестве прогрессивной загрузки), вам необходимо настроить проигрыватель следующим образом ...

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

Конечно, если вы используете CMS, виджет, плагин или модуль для управления игроками, вы, вероятно, сможете получить доступ к этим параметрам и изменить их на экране администратора или, в качестве альтернативы, установитьих программно.

Следует отметить, что порядок размещения объектов типа в массиве mode [] - это порядок, в котором JW-плеер будет пытаться загрузить.


Для получения дополнительной информации см. Режимы JW Embedder здесь .

Предложение двойной потоковой передачи Если вы хотите предлагать потоковую передачу с использованием HTML5,вы бы использовали тот же подход, изменив атрибуты streamer, provider в объекте типа html5 соответственно.

Надеюсь, это полезно!

Gez

1 голос
/ 12 марта 2012

JWplayer очень легко будет выполнять потоковую передачу html5 и флэш-памяти из Cloudfront.

Подробнее см. Ниже ... http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/49/using-cloudfront

Jon

...