2009-03-27 3 views

ответ

32

Да, это так. Во-первых, вам нужно создать ведро в вашей учетной записи S3, которое находится в нижнем регистре, глобально уникально и совместимо с DNS; поэтому, например, я создал ведро под названием media.torusknot.com.

Затем, чтобы все выглядело хорошо, вам нужно создать запись DNS CNAME для сопоставления поддомена вашего сайта с этим ведром S3. Это позволит вам получить доступ к вашим файлам, загружаемым в этот ведро S3, через «http://media.example.com/somefile.mp3». Вам просто нужно установить ACL в файлах &, чтобы убедиться, что доступ к общедоступным данным разрешен.

Наконец, если вы хотите передавать видеофайлы с помощью Flash-плеера с S3 в другой домен, вам также необходимо сообщить Flash, что это нормально для контента, который нужно вставить из другого домена. Создайте файл с именем «crossdomain.xml» в ведро, с этим содержимым:

<cross-domain-policy> 
<site-control permitted-cross-domain-policies="all"/> 
</cross> 

Это позволяет СМИ быть доступны из любого места - вы можете быть более конкретным, если вы хотите, но это самый простой подход.

Близкие по теме ресурсы:

+7

Помните, что медиафайлы не транслируются (например, с Red5 или Flash Media Server), но с прогрессивной загрузкой - поэтому медиа-файлы заканчиваются так же легко идентифицируемыми файлами в кеше браузера. В зависимости от лицензии это может быть проблемой с контентом, защищенным авторским правом третьей стороны. – Argelbargel

+0

Также обратите внимание на трафик, потому что если файл crossdomain не защищает другие сайты, ссылающиеся на MP3, я считаю, что любой может использовать этот MP3 в своем Flash player = вы платите полосу пропускания. Но у меня нет никаких тестов. – BerggreenDK

+0

@BerggreenDK Поздний отклик здесь, но вы можете решить это, сделав ведро частным и отдав клиентам аутентифицированные подписанные URL-адреса через API. Эти URL-адреса будут действительны только для предопределенного времени. Я бы сделал это независимо от того, как установить публичный ACL на S3, как правило, не то, что вам нужно, кроме как при определенных обстоятельствах, таких как размещение веб-сайта на S3 (см. Недавние утечки данных, связанные с плохой ведровой политикой на S3, которая, плохой политики безопасности и отсутствия знаний). – polythene

-2

Я настоятельно рекомендую серверные решения Flash Media как Wowza в сочетании с Flowplayer для флэш-виджета.

+0

нет необходимости в виджет-флеше, обратитесь к решению от @caveman для решения, поддерживаемого Amazon S3 и Cloudfront – yacc

24

Чтобы обновить ответ на этот вопрос, если вы хотите на самом деле ПОТРЕБИТЬ к клиентам, вы можете использовать Cloud Cloud Cloud на вершине своего ведра S3 (как упоминается Рудольф). Создайте «потоковый дистрибутив» в Cloudfront, который указывает на ваш ведро S3.

Это будет поток через RTMP (хорошо для веб-и Android-устройств). Вы можете использовать JW Player или аналогичный проигрыватель для воспроизведения потоковых файлов.

Cloudfront Streaming использует Adobe Flash Media Server 3.5.

Существует также возможность воспроизведения защищенного контента с использованием подписанных URL-адресов.

+2

спасибо, это информация, которую я отчаянно искал! u da man! – r3wt

+2

Это должно быть зеленого цвета! –

+0

Хотя это, похоже, подтверждает, что мы делаем правильный путь, я не нахожу бесплатные библиотеки/проигрыватели программного обеспечения. Есть ли что-нибудь и как я должен искать? Не могли бы вы привести несколько примеров? Оглядываясь на существующие «библиотеки RMTP», я нахожу 'JWplayer' и' Wowza', конечно же, а также 'Adobe flash' и' Gnash'. Нет ли популярного и бесплатного игрока на основе HTML, поддерживающего это? Я что-то пропустил ? * (Я намерен разработать приложение для потоковой передачи PHP. В среднесрочном/долгосрочном плане он должен стать коммерческим, что является одной из причин, по которым мы будем размещать файлы на AWS S3) * – Balmipour

Смежные вопросы