2015-02-02 3 views
1

У меня проблема с доступом к видео на AmazonS3.Видео Amazon S3 не работает в HTML

я получить ссылки с сервера, как

https://myabc.s3.amazonaws.com/myvideo.mp4?Expires=1730335925&AWSAccessKeyId=ACDG57GDUYHLP7LYQ46Q&Signature=%2FkR9QTXf6bdHdHA%2ByTHwXdfDfo%3D.

Теперь я хочу показать это на веб-сайте с помощью html-видео, но все, что у меня есть, - это ошибка. Когда я вхожу в url в chrome, он что-то делает, а затем загружает видео, чтобы файл существовал.

Как я могу отобразить это видео в теге видео? или есть ли возможность сделать это в javascript?

+0

Какую ошибку вы получаете? – soulprovidr

+0

Какие файлы являются «реальными» видео, которые вы сохранили в S3? Не все видеоформаты могут воспроизводиться изначально в HTML. – duskwuff

+0

наиболее avi, swf или mp4. –

ответ

1

Я рекомендую публиковать ACL и преобразовывать все форматы, отличные от HTML5, в mp4, поскольку mp4 поддерживает большинство браузеров.

Возможно, вы захотите попробовать бесплатную программу Cloudberry Explorer, если у вас нет настольной системы S3.

Измените настройки ACL на общедоступные, и к файлу можно получить доступ без ключей доступа.

Убедитесь, что содержимое типа видео/mp

без фактической ссылки на mp4 я не могу точно указать проблему.

Если вы получаете ту же ошибку, что и предоставленная ссылка, вам нужно создать новые ключи доступа.

Если ACL не является общедоступным, и клиент сгенерирует вам набор ключей доступа, ничего не может быть сделано.

Я смог загрузить видео по указанной вами ссылке.

Это AVI-файл, а не mp4, поэтому он не будет работать в HTML5 <video>.

Это ошибка без ключей доступа.

<Error> 
<Code>AccessDenied</Code> 
<Message>Access Denied</Message> 
<RequestId>63085EEB23066C91</RequestId> 
<HostId>1bPb9fYkki/LnQIVRVpHfKiSEUGbfX3blBfHLQbwzjZYSzzD8hGBQFp0l9WE= 
</HostId> 
</Error> 

Если вы знакомы с PHP, есть простой S3 API.

Services_Amazon_S3

require_once 'Services/Amazon/S3.php'; 
require_once 'Services/Amazon/S3/Stream.php'; 
$key = 'ASJMGERQERMGADMA'; 
$secret = 'hA9/wrWUMX7A0UADLNGBQEUIROH2cPjx+C'; 
$s3  = Services_Amazon_S3::getAccount($key, $secret); 
$stream = Services_Amazon_S3_Stream::register('s3',array('access_key_id'=> $key,'secret_access_key' => $secret)); 
foreach ($s3->getBuckets() as $bucket){ 
    $name = $bucket->name ; 
    $path = "s3://$name/"; 
} 
$cnt = 0; 
$ndx = 0; 
$bucket = $s3->getBucket($name); 
foreach ($bucket->getObjects() as $object){ 
    $key = $object->key; 
    $url = urldecode($object->getURL()); 
    echo "<p>$key => $url"; 
} 
+0

Проблема заключается в том, что я разрабатываю для использования ключи доступа, потому что так они загружают видео для своей службы обмена сообщениями. –

+0

Что они хотят, чтобы вы делали с файлом при доступе. Я смотрю его прямо сейчас. Не выглядит очень конфиденциальным – Misunderstood

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