Я пытаюсь поместить источник видео YouTube в тег HTML5 , но, похоже, это не работает. После некоторого поиска в Google я обнаружил, что HTML5 не поддерживает URL-адреса видео YouTube в качестве источника.
Можете ли вы использовать HTML5 для встраивания видео с YouTube? Если нет, есть ли обходной путь?
Шаг 1: добавьте & html5 = True
к вашему любимому URL-адресу YouTube
Шаг 2: Найдите тег
в источнике
Шаг 3: Добавьте controls = "controls"
в тег видео:
Пример:
Обратите внимание, что есть некоторые вещи expire
. Я не знаю, как долго будет работать строка src
.
Все еще тестирую себя.
Изменить (28 июля 2011 г.) : Обратите внимание, что этот источник видео зависит от браузера, который вы используете для получения источника страницы. Я думаю, что Youtube генерирует этот HTML динамически (по крайней мере, в настоящее время), поэтому при тестировании, если я копирую в Firefox, это работает, например, в Firefox, но не в Chrome.
Этот ответ больше не работает, но я ищу решение.
Начиная с . 2015/02/24. существует веб-сайт (youtubeinmp4) , который позволяет загружать видео с YouTube в формате .mp4
, вы можете использовать это (с некоторым JavaScript), чтобы избежать встраивания видео YouTube в теги
. Вот демонстрация этого в действии.
## Плюсы
- Достаточно легко реализовать .
- Достаточно быстрый ответ сервера на самом деле (получение видео не занимает много времени).
- Abstraction (принятое решение, даже если оно работает должным образом, будет применимо только в том случае, если вы заранее знали, какие видео собираетесь воспроизводить, это работает для любого введенного пользователем URL).
## Минусы
-
Очевидно, это зависит от youtubeinmp4.com
и их способ предоставления ссылки для загрузки (которую можно передать как источник
), поэтому этот ответ может быть недействительным в будущем.
-
Вы не можете выбрать качество видео.
### JavaScript (после load
)
videos = document.querySelectorAll ("видео"); для (var i = 0, l = videos.length; i 1)? id.splice (1): идентификатор; id = id.toString (); var mp4url = "http://www.youtubeinmp4.com/redirect.php?video="; video.src = mp4url + id; }}}
### Использование (полное)
Стандартный формат видео.
### Использование (мини)
Немного реже, но гораздо меньше, с использованием сокращенного URL youtu.be
в качестве атрибута src
непосредственно в
тег.
4
Тег
предназначен для загрузки видео поддерживаемого формата (который может отличаться в зависимости от браузера).
Ссылки для встраивания YouTube - это не просто видео, они обычно представляют собой веб-страницы, содержащие логику для определения того, что поддерживает ваш пользователь, и как они могут воспроизводить видео YouTube, используя HTML5, Flash или какой-либо другой плагин на основе на том, что доступно на ПК пользователя. Вот почему вам трудно использовать тег видео с видео на YouTube.
YouTube действительно предлагает API разработчика для встраивания видео YouTube на вашу страницу.
Я сделал JSFiddle в качестве живого примера: http://jsfiddle.net/zub16fgt/
И вы можете узнать больше об API YouTube здесь: https://developers.google.com/youtube /iframe_api_reference # Getting_Started
Код также можно найти ниже
в вашем HTML:
В вашем Javascript:
var onPlayerReady = функция (событие) {event.target.playVideo (); };//Первый аргумент YT.Player - это идентификатор HTML-элемента. //API YouTube заменит мой тег
//на iframe, содержащий видео youtube. Var player = new YT. Player ('player', {height: 320, width: 400, videoId: '6Dc1C77nra4', events: {'onReady': onPlayerReady}});
5
Я создал действительно небольшую (4,89 КБ) библиотеку javascript именно для этой функциональности. .
Найдено на моем GitHub здесь: https://github.com/thelevicole/youtube-to-html5-loader/
Это очень просто:
new YouTubeToHtml5 ();
Рабочий пример здесь: https://jsfiddle.net/thelevicole/5g6dbpx3/1/
Библиотека извлекает идентификатор видео из атрибута данных и создает запрос к https://www.youtube.com/get_video_info?video_id=
. Он декодирует ответ, который включает информацию о потоковой передаче, которую мы можем использовать для добавления источника в тег
.
1
Самый простой ответ дает W3schools. https://www.w3schools.com/html/html_youtube. asp
- Загрузите свое видео на Youtube.
- Обратите внимание на идентификатор видео
- Теперь напишите этот код в своем HTML5.
1
Отображение тега HTML-видео видео Youtube
У меня есть несколько URL-адресов YouTube, например https://www.youtube.com/embed/LaXGkW_-Nvc?list=RDTDDDvaoGiDg. Когда я поместил его в тег видео html, он сказал: «Недопустимый источник».
Как решить эту проблему?
Когда я использовал iframe для отображения видео, у меня было другая проблема, описанная здесь: видео не отображается в iframe в IE, но отображается в Firefox и Chrome.
Это мой HTML:
Вы не можете использовать тег HTML5 video для видео на YouTube, он поддерживает только файлы MP4, WebM и Ogg. W3C Schools
Youtube уже предоставляет вам функцию «встраивания» на свою страницу, которая автоматически генерирует iFrame для вас. Youtube Embed Есть еще несколько методов, но они больше не используются (устарели). Youtube API
Что касается проблемы с IE, возможно, взгляните на этот аналогичный вопрос: код вставки iframe YouTube не работает в IE
Единственный способ обойти проблему если вы хотите использовать тег HTML5 video, это загрузить видео Youtube в одном из указанных форматов.