У меня есть приложение Rails Я пытаюсь играть видео HTML5 с помощью следующей разметки:Safari не загружается видео HTML5 в приложении Rails
Не работает:
<video controls poster="http://lvh.me:3000/assets/videos/myvideo.png">
<source src="http://lvh.me:3000/assets/images/videos/myvideo.mp4" type="video/mp4">
<source src="http://lvh.me:3000/assets/images/videos/myvideo.webm" type="video/webm">
<source src="http://lvh.me:3000/assets/images/videos/myvideo.ogv" type="video/ogg">
</video>
На Safari, видео говорит «Загрузка ...», но никогда не воспроизводится, хотя работает как в Chrome, так и в Firefox. Я думал, что это был путь сначала, но я пробовал абсолютные пути, относительные пути и помощник Rails image_path
без каких-либо результатов.
Для отладки, я скопировал этот пример HTML5 тег видео и он играет в Safari, как и ожидалось (единственная разница здесь видео источник):
Работы: снаружи размещается видео образец
<video controls poster="http://easyhtml5video.com/assets/video/Penguins_of_Madagascar.jpg">
<source src="http://easyhtml5video.com/assets/video/new/Penguins_of_Madagascar.mp4" type="video/mp4">
<source src="http://easyhtml5video.com/assets/video/new/Penguins_of_Madagascar.webm" type="video/webm">
<source src="http://easyhtml5video.com/assets/video/new/Penguins_of_Madagascar.ogv" type="video/ogg">
</video>
Однако, когда я беру эту ту же самую разметку и размещаю те же файлы локально, видео перестает работать в Safari:
Не работает: lo чески размещается образец видео
<video controls poster="http://lvh.me:3000/assets/videos/Penguins_of_Madagascar.jpg">
<source src="http://lvh.me:3000/assets/videos/new/Penguins_of_Madagascar.mp4" type="video/mp4">
<source src="http://lvh.me:3000/assets/videos/new/Penguins_of_Madagascar.webm" type="video/webm">
<source src="http://lvh.me:3000/assets/videos/new/Penguins_of_Madagascar.ogv" type="video/ogg">
</video>
Примечания:
- Я не получаю сообщение об ошибке в консоли Safari или Rails войти; нет файлов 404 на файлы или что-то еще.
- Локально размещенные видеоролики работают в Chrome и FF, поэтому я знаю, что пути верны.
- Внешне размещенные видео отлично работают в Safari.
- Локально размещенные видеоролики работают в Safari за пределами приложения Rails. Я создал статическую страницу и использовал все приведенные выше примеры для хорошего эффекта.
Исходя из всего этого, кажется, что некоторые комбинации Safari и Rails предотвращают загрузку видео.
Может быть, это что-то делать с контент-типами вы можете попробовать добавить это к вашему 'mime_types.rb' ' Rack :: Мима :: MIME_TYPES.merge! ( ".ogg" => «приложение/ogg ", " .ogx "=>" application/ogg ", " .ogv "=>" video/ogg ", " .wemb "=>" video/webm ", " .mp4 "=>". video/mp4 ", " .m4v "=>" video/mp4 ")' – Chris
@Chris Я добавил это и перезапустил Rails, но не повезло. Я вижу, что тип MIME уже корректен без этого изменения, согласно curl. Если вы взяли этот список где-то важного, обратите внимание, что в нем есть опечатка: '' .wemb ''. Я изменил это на '.webm '' при локальном тестировании. – Shepmaster
Интересно отметить, что файл ** корректно загружается и начинает воспроизводиться при развертывании моего приложения в Heroku. – Shepmaster