Невозможно получить хром для воспроизведения видео с помощью тега html5, когда я размещаю их на сервере облачных сред Rackspace.
Работает отлично на обычном хостинге, но как только я связываю видео с URL-адресом rackspace cdn, Chrome замерзает (полное замораживание, полностью блокируется пользовательский интерфейс веб-сайта). Через некоторое время Chrome выводит сообщение "Следующая страница стала невосприимчивой bla bla bla" ).
Видеофайл прекрасен, так же как и когда я ссылаюсь на обычный хостинг.
Немного шпионил за запросами, и изначально я думал, что проблема в том, что файлы webm по умолчанию были serverd в виде mime-типа application/octet-stream. Я подал билет в rackspace, и они дали мне способ заставить mime-тип при загрузке файла. Сделал это, и файл теперь правильно отправлен как видео /webm.. но Chrome все еще зависает.
Любая идея, что здесь может быть неправильным?
EDIT: используя iheartvideo, загрузка видео из rackspace запускает MEDIA_ERR_SRC_NOT_SUPPORTED. То же видео с локального веб-сервера работает полностью нормально (??)
РЕДАКТИРОВАТЬ 2: происходит как на Mac, так и на окнах с последними хромированными хром
РЕДАКТИРОВАТЬ 3: curl -I результаты:
Rackspace (не работает):
HTTP/1.1 200 OK
Server: nginx/0.7.65
Content-Type: video/webm
Last-Modified: Thu, 24 Feb 2011 23:45:12 GMT
ETag: 7029f83b241aa691859012dfa047e20d
Content-Length: 20173074
Cache-Control: public, max-age=900
Expires: Fri, 25 Feb 2011 01:32:11 GMT
Date: Fri, 25 Feb 2011 01:17:11 GMT
Connection: keep-alive
Веб-сервер (рабочий)
HTTP/1.1 200 OK
Date: Fri, 25 Feb 2011 01:17:51 GMT
Server: Apache
Last-Modified: Thu, 24 Feb 2011 03:56:26 GMT
ETag: "11a0b47-133d112-49cff32940e80"
Accept-Ranges: bytes
Content-Length: 20173074
Content-Type: text/plain
РЕДАКТИРОВАТЬ 4. Для тех, кого это интересует, это то, что команда rackscape сказала мне сделать, чтобы установить тип содержимого веб-сайта в файле:
Браузер файлов недостаточно умен для определения типа содержимого видео /WebM. К сожалению, есть не способ изменить тип контента файла, который уже был загружено.
Вам нужно будет использовать один из API для повторно загрузите файлы с помощью правильной тип содержимого.
Вы также можете использовать завиток из linux/MacOS, если они доступны.
Использование имени пользователя и клавиши api эта команда...
curl -I -X GET -H "X-Auth-User: USERNAME" -H "X-Auth-Key: API_KEY" https://auth.api.rackspacecloud.com/v1.0
От выхода есть 2 важных значения.
X-Storage-Url: https://storage101.......
X-Storage-Token: Long hash
Вы можете загрузить файлы с помощью
curl -X PUT -T test.webm -H "Content-Type: video/webm" -H "Content-Length: FILESIZEINBYTE" -H "X-Auth-Token: TOKEN FROM RESPONSE ABOVE" https://STORAGE URL FROM RESPONSE ABOVE/test.webm
Необходимо указать тип содержимого и вы должны указать правильную длину байты того, что загружается. Если вы не получите недопустимый запрос ошибка.