Chrome замерзает при воспроизведении видео в облачных облаках Rackspace

Невозможно получить хром для воспроизведения видео с помощью тега 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

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

Ответы

Ответ 1

Я очень много работаю с API Rackspace. Их API на самом деле позволяет вам устанавливать контейнер в режиме потоковой передачи. Мой первый инстинкт подсказывает мне, что вы этого не сделали. Я передаю различные типы файлов, и все они работают безупречно.

Более подробную информацию о контейнерах с поддержкой CDN Streaming Enabled можно найти здесь:   http://docs.rackspace.com/files/api/v1/cf-devguide/content/Streaming-CDN-Enabled_Containers-d1f3721.html

Надеюсь, это поможет, но если не дайте мне знать, и я не возражаю, если вы добавите код примера PHP вместе, чтобы помочь вам. Все это довольно легко, но вы можете столкнуться с различными действиями API, которые Rackspace внедрило, иногда может быть сложной задачей.

Ответ 2

У меня нет конкретного ответа, просто некоторые мысли:

  • а что в других браузерах?
  • он работает на веб-сервере с указанным типом контента, является текстовым/обычным, поэтому зачем принудительно использовать видео /webm?
  • может ли Rackspace предоставить вам (или вы можете найти на своем сайте или чьем-то другом) какой-нибудь образец контента, который играет, чтобы вы могли его проверить?

Вы можете попробовать бесплатную пробную версию от Brightcove или Bitgravity и посмотреть, работает ли это...