Аудио html | Programmirovanie-dla-sсhool
До HTML5, которая значительно адаптировалась к потребностям современного Интернета, включая аудиофайл на странице HTML, обязательно требовала использования тега <object>
. Хотя этот тег все еще используется (не только для включения аудиофайлов), в HTML5 появился новый тег, <audio>
html разработанный специально для этой цели.
В этом уроке мы увидим, как использовать новый тег, <audio>
введенный в HTML5. Для этого давайте начнем с простого примера:
<audio controls> <source src="music.mp3" type="audio/mp3"> </audio>
Первый атрибут есть controls
, и его наличие гарантирует наличие пользовательских элементов управления для управления воспроизведением аудиофайла. Пропуск атрибута
позволяет нам фактически вставить аудиофайл в фоновом режиме , так как невидимость элементов управления делает элемент аудио невидимым для пользователя. Эта последняя функциональность была реализована ранее через тег <bgsound>
, который, однако, никогда не был стандартизирован, и поэтому лучше избегать его использования.
Два других возможных атрибута для тега <audio>
: autoplay
и loop
: первый заставляет аудио воспроизводиться автоматически, а второй — автоматически воспроизводить его в непрерывном цикле.
Внутри тега <audio>
есть элемент типа <source>
, с помощью которого мы можем указать файл, который мы хотим воспроизвести. В предыдущем примере мы указали воспроизводить файл music.mp3 через атрибут src
, с предвидением сделать также явным тип file (
type="audio/mp3"
).
Поскольку некоторые типы файлов поддерживаются не всеми браузерами, вы можете указать разные теги <source>
. Например:
<audio controls> <source src="music.mp3" type="audio/mp3"> <source src="music2.ogg" type="audio/ogg"> Браузер не поддерживает аудио тег </audio>
В этом случае браузер сначала попытается воспроизвести файл, указанный в первом теге <source>
. Если (и только если) по какой-либо причине файл не может быть воспроизведен, браузер попытается воспроизвести второй файл и т. д. Для всех <source>
присутствующих тегов . Наконец, для обеспечения обратной совместимости с предыдущими версиями HTML вы можете использовать строку (или другой код HTML), которая будет отображаться, если браузер не поддерживает тег
.
Как вставить аудио на сайт

Универсальный способ вставки audio в web страницу на основе HTML5 и флеш плеера. Работает во всех браузерах (и мобильных), легко настраивается, имеет минимум кода. Может проигрывать несколько файлов, как play лист. Не тормозит загрузку страницы, соответствует стандартам, открытый код. Идеальный вариант для вставки mp3 и других аудио в статью. Есть реализация для WordPress в виде плагина.
Вот как это будет выглядеть:
В этой статье я описываю реализацию аудио для тех, кто имеет возможность напрямую вставлять в свои статьи HTML и js код.
Если перед вами стоит вопрос с какого хостинга загружать мультимедийные файлы аудио и видео, то посмотрите статью Yandex Disk REST API jQuery Plugin, в которой описан вариант вставки медиа файлов на WEB страницу с Яндекс Диска.
Замечание автора: Описанный в статье метод вставки видео прекрасно работает, однако он основан на использовании flash плеера, как проигрывателя аудио по умолчанию, что не является следованием актуальным тенденциям в вебе, где сейчас наблюдается сдвиг предпочтений в пользу использования js плееров. Но, на мой взгляд, решение должно быть как можно проще и без больших библиотек и множества кода, а js плееры, пока еще, оставляют желать лучшего в этом отношении.
Как то мне нужно было для себя решить задачу — как добавить в пост свою голосовую заметку. Нужен был очень простой способ с небольшим количеством кода, который я мог бы сохранять вместе с основным текстом статьи. Так же я планировал в дальнейшем оформить это в виде плагина к
Подход использует две технологии для проигрывания аудио файла и имеет три уровня «отказоустойчивости»:
- Первая, будет основной — это флеш плеер. Мною выбран был свободный WordPress Audio Player, который будет воспроизводить звук в тех браузерах, которые поддерживают flash плеер. Причина выбора мною в этом подходе flash, как основного плеера для аудио, в том, что он будет отображаться одинаково в разных браузерах в отличие от HTML5 плеера, вид которого, пока, оставляет желать лучшего. А подключать для воспроизведения аудио JS библиотеку управления HTML5 плеером мне кажется не совсем целесообразным, так как, такие JS плееры все же громоздки и не так идеальны, как хотелось бы. Для Воспроизведения видео файлов, безусловно, нужно использовать, как первичный, JS HTML5 плеер. Вообще, в идеале, хотелось бы обходиться для воспроизведения аудио и видео без использования дополнительных плееров (flash или JS), а использовать только возможности браузера.;
- Вторая — HTML5 тег <audio> — будет резервной для случаев, когда flash не поддерживается. В основном, это MAC и iГаджеты, но у них HTML5 плеер уже достаточно хорошо реализован в браузерах.
- Третий, резервный вариант, будет ссылка на скачку, когда первые две не сработают. Это вариант на крайний случай, так как сейчас уже все браузеры поддерживают HTML5 тег audio.
Нам понадобиться скачать zip с файлами flash плеера и js к нему (ссылка на официальный сайт ).
Нам нужны, толькло два файла из всего скачанного архива:
- player.swf —это сам flash player
, который будет проигрывать mp3 файлы. - audio-player.js —это js, который добавит функциональности по управлению плеером и устраняет неправильности его работы в разных браузерах.
Файлы из этого архива нужно разместить на сайте. Кстати js можете сжать.
В этой статье договоримся, что примеры будут использовать директорию «/audio» от корня вашего сайта.
Для вашего удобства я разбил тему на несколько связанных постов, и сейчас вы находитесь в главной статье этой темы, которая связывает все воедино.
РЕАЛИЗАЦИЯ РЕШЕНИЯ В ДВУХ ВАРИАНТАХ:
ПЕРВЫЙ — Формируем весь HTML код САМИ и вставляем в статью. Напишем шаблон HTML кода в котором нужно будет менять только пути для конкретного случая.
ВТОРОЙ — Формируем HTML ЧЕРЕЗ js. В пост (или куда вам нужно) вставляем маленький блок кода js.
Еще по теме:
Реализация video и audio в HTML5, шаблоны, schema.org микроразметка
Как использовать элемент audio в HTML5
Время чтения: 2 мин.
В этой статье мы рассмотрим как вставлять аудио элементы на страницу.
HTML5 заполняет заполняет интернет всё больше и больше. HTML5 сделан для того, чтобы сделать легче жизнь для нас, разработчиков, благодаря своим аудио элементам. Этот элемент позволяет встраивать аудио файлов на веб-страницы, а также управлять воспроизведением звука с помощью JavaScript. Более того, это не требует никаких плагинов для работы, и поддерживается почти всеми современными веб-браузерами.
Посмотреть пример
Тег <audio> HTML5 для вставки аудиофайлов
Для того чтобы вставить аудизапись на страницу необходимо в html написать следующее:
1 2 3 | <audio> <source src="music.mp3"> </audio> |
Где src=»music.mp3″ — это путь к файлу с музыкой.
Кроссбраузерная совместимость
Тег <audio> поддерживается в большинстве современных браузерах, но некоторые браузеры поддерживают не все форматы аудиофайлов. Например, некоторые браузеры поддерживают формат «.mp3», но не поддерживают формат «.ogg». Решением этой проблемы является использование и одного формата, и другого на странице:
1 2 3 4 | <audio> <source src="music.ogg"> <source src="music.mp3"> </audio> |
Автоматическое воспроизведение
Если вы хотите чтобы звук воспроизводился автоматически после загрузки страницы, то необходимо использовать атрибут autoplay:
1 2 3 4 | <audio autoplay> <source src="music.mp3"> <source src="music.ogg"> </audio> |
Управление плеером
Пользователя может раздражать то, что звук воспроизводится автоматически и его нельзя остановить. И, возможно, пользователь уйдет с этой страницы. Чтобы этого избежать необходимо использовать кнопки управления плеером. Чтобы они появились достаточно прописать атрибут controls:
1 2 3 4 | <audio controls> <source src="music.mp3"> <source src="music.ogg"> </audio> |
Тип файла
Хорошим тоном является указывать тип воспроизводимого аудиофайла, если вы используете их несколько.
1 2 3 4 | <audio controls> <source src="music.mp3" type="audio/mp3"> <source src="music.ogg" type="audio/ogg"> </audio> |
Заглушка для старых браузеров
Если браузер достаточно стар, то желательно выводить сообщение что данный браузер не поддерживает эту функцию:
1 2 3 4 5 | <audio controls> <source src="music.mp3" type="audio/mp3"> <source src="music.ogg" type="audio/ogg"> Извините, но ваш браузер не поддерживает аудио элементы. </audio> |
Буфер файла
Если файл достаточно большой, то правильно будет использовать буфер, чтобы он загрузился для дальнейшего воспроизведения. Для этого необходимо использовать атрибут со значением preload=»auto»:
1 2 3 4 | <audio controls> <source src="music.mp3" type="audio/mp3" preload="auto"> <source src="music.ogg" type="audio/ogg" preload="auto"> </audio> |
<audio> тег имеет множество атрибутов, которые могут быть использованы для дополнительного контроля, включая атрибуты для событий в HTML5. События включают вспывающие окна, запускаемые для элемента, событие для форм, вызванные действиями, которые происходят в HTML форме, события клавиатуры и мыши, и другие.
В HTML5 существует много элементов, которые облегчат жизнь веб-разработчику и их необходимо использовать для того чтобы не отставать в развитии интернет-технологий, да и сократить время на разработку.
Успехов!
Аудио HTML уроки для начинающих академия
Аудио в Интернете
До HTML5 звуковые файлы могли воспроизводиться только в браузере с подключаемым модулем (например, Flash).
Элемент HTML5 <audio>
указывает стандартный способ встраивания звука в веб-страницу.
Поддержка браузера
Номера в таблице указывают первую версию обозревателя, полностью поддерживающую элемент <audio>
.
Element | |||||
---|---|---|---|---|---|
<audio> | 4.0 | 9.0 | 3.5 | 4.0 | 10.5 |
Элемент HTML <Audio>
Чтобы воспроизвести звуковой файл в формате HTML, используйте элемент <audio>
:
Пример
<audio controls>
<source src=»horse.ogg» type=»audio/ogg»>
<source src=»horse.mp3″ type=»audio/mpeg»>
Your browser does not support the audio element.
</audio>
HTML аудио-как это работает
Атрибут controls
добавляет элементы управления звуком, такие как воспроизведение, пауза и громкость.
Элемент <source>
позволяет указать альтернативные аудиофайлы, которые могут быть выбраны обозревателем. Браузер будет использовать первый распознанный формат.
Текст между тегами <audio>
и </audio>
будет отображаться только в обозревателях, не поддерживающих элемент <audio>
.
Поддержка аудио-браузеров HTML
В HTML5 есть 3 поддерживаемых аудио форматов: MP3, WAV и OGG.
Поддержка браузера для различных форматов:
Browser | MP3 | Wav | Ogg |
---|---|---|---|
Internet Explorer | Да | Нет | Нет |
Chrome | Да | Да | Да |
Firefox | Да | Да | Да |
Safari | Да | Да | Нет |
Opera | Да | Да | Да |
Типы аудио-носителей HTML
Формат файла | Тип Медиа |
---|---|
MP3 | audio/mpeg |
Ogg | audio/ogg |
Wav | audio/wav |
Аудио-методы, свойства и события HTML
HTML5 определяет методы, свойства и события DOM для элемента <audio>
.
Это позволяет загружать, воспроизводить и приостанавливать аудио, а также задавать длительность и громкость.
Есть также события DOM, которые могут уведомить вас, когда звук начинает играть, приостановлено и т.д.
Для полной справки по тегам перейдите к нашей справка аудио/видео в формате HTML5.
Теги аудио HTML5
Тег | Описание |
---|---|
<audio> | Определяет звуковое содержимое |
<source> | Определяет несколько мультимедийных ресурсов для элементов мультимедиа, таких как <Video> и <Audio> |
Работа с аудио в HTML5.
Вы здесь: Главная — HTML — HTML 5 — Работа с аудио в HTML5.

Всем привет! В прошлой статье мы рассмотрели, как встраивать видео в HTML5, а сегодня я хотел бы поподробнее рассмотреть, как встраивать аудио в HTML5.
Встраивание аудио в HTML5 очень похоже на встраивание видео, так что, если вы еще не читали предыдущую статью, то сначала прочитайте ее, потому что здесь будет очень много схожего.
Чтобы вставить аудио на страницу, используется тег audio.
<audio src="path/to/audio/file.mp3"></audio>
У данного тега также есть атрибут controls
<audio src="path/to/audio/file.mp3" controls></audio>
Атрибут autoplay
<audio src="path/to/audio/file.mp3" controls autoplay></audio>
Атрибут loop
<audio src="path/to/audio/file.mp3" controls autoplay loop></audio>
Отключение звука с помощью атрибута muted
<audio src="path/to/audio/file.mp3" controls autoplay muted></audio>
Конечно же, атрибут preload
<audio src="path/to/audio/file.mp3" controls preload="auto"></audio>
Также, поддерживается возможность указать время начала и конца воспроизведения
<audio src="file.mp3#t=7,17" controls></audio>
Данная возможность, как и видео, появилась недавно, поэтому мы также можем указать какой-то текст для старых браузеров, неподдерживающих данный функционал, или встроить другой плеер.
<audio src="path/to/audio/file.mp3">
К сожалению, ваш браузер не поддерживает HTML5 аудио
</audio>
Также, есть тег source, который делает абсолютно то же самое, что и тег source для видео.
<audio>
<source src="file.mp3"></source>
<source src="file.ogg"></source>
</audio>
И, конечно, его атрибут type.
<audio>
<source src="file.mp3" type='audio/mpeg'></source>
<source src="file.ogg" type='audio/ogg; codecs=flac'></source>
</audio>
Как видите, обе эти возможности работают примерно одинаково, так что их использование не должно вас затруднить.
А у меня на этом все, спасибо за внимание и удачи!
-
Создано 23.08.2014 20:02:22
-
Михаил Русаков
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
-
Кнопка:
<a href=»https://myrusakov.ru» target=»_blank»><img src=»https://myrusakov.ru/images/button.gif» alt=»Как создать свой сайт» /></a>Она выглядит вот так:
-
Текстовая ссылка:
<a href=»https://myrusakov.ru» target=»_blank»>Как создать свой сайт</a>Она выглядит вот так: Как создать свой сайт
- BB-код ссылки для форумов (например, можете поставить её в подписи):
[URL=»https://myrusakov.ru»]Как создать свой сайт[/URL]
Вставка Аудио | htmlka
Вставка Аудио
1. Обзор сервисов.
Некоторые файлообменники имеют аудиоплееры для mp3-файлов
Типичные представители сетевой фауны:
www.box.net/shared/zf1uk007vy
2. Учимся «ловить рыбу»
Поняв принцип, можно забыть о подобных сервисах, которые часто закрываются, удаляют файлы, меняют условия и т.д.
Код для вставки музыки в блог состоит из двух главных компонентов — флеш-плеер (файл *.swf в виде http://../player.swf) и аудиофайл (в виде http://../song.mp3) — остальное HTML, то бишь буковки.
Выглядит примерно так:
<object data=»http://../player.swf» type=»application/x-shockwave-flash»>
<param name=»movie» value=»http://../player.swf«>
<param name=»menu» value=»false»>
<param name=»scale» value=»noscale»>
<param name=»flashvars» value=»src=http://../song.mp3&autostart=no»>
</object>
Я залил сюда флеш-плеер и получил:
http://htmlka.com/wp-content/uploads/2009/06/webplayer.swf
затем загрузил трек:
http://htmlka.com/wp-content/uploads/2009/06/08-caravan.mp3
Вставил эти ссылки в код выше:
Полный код безобразия:
<object data=http://htmlka.com/wp-content/uploads/2009/06/webplayer.swf type=»application/x-shockwave-flash»><param name=»movie» value=http://htmlka.com/wp-content/uploads/2009/06/webplayer.swf><param name=»menu» value=»false»> <param name=»scale» value=»noscale»><param name=»flashvars» value=»src=http://htmlka.com/wp-content/uploads/2009/06/08-caravan.mp3&autostart=no»></object>
Если в этот код вставите свой mp3 файл вида http://…./song.mp3 («прямая ссылка»), он будет играть вашу музыку:).
Если назначить height=16, получим:
Чтоб исключить сбой кодировок, избегайте кириллицы и пробелов в названиях треков.
Переименовывайте файлы перед закачкой их на хостинг. Примеры:
моя песня.mp3 (нельзя в плеер, будет глюк)
moya_pesnya.mp3 (можно юзать)
— навигация по трекам
1. Загружаем на хостинг аудиофайлы и составляем такой список треков:
<file src="sound1.mp3"/>
<file src="sound2.mp3"/>
<file src="sound3.mp3"/>
2. Копируем образец кода плейлиста ОТСЮДА
(всё, что под чертой)
3. Открываем на компе программу Блокнот, вставляем туда этот код.
4. Вместо примера списка треков вставляем свой заготовленный список треков.
5. Жмем «Файл-Сохранить как». Называем файл playlist.xml и сохраняем.
(назвать можно как угодно, главное — на латинице и .xml)
6. Файл playlist.xml грузим на хостинг, ссылку на него ставим в код плеера там, где в плеере с одним треком стоит ссылка на mp3-файл: http://site/song.mp3
7. Вставляем полученный код плеера в блог.
Код копируем, ставим ссылку на свой mp3 вместо ВАШ_ФАЙЛ и слушаем:
<object data=»http://htmlka.com/wp-content/uploads/2009/07/player2.swf» type=»application/x-shockwave-flash» width=240 height=50><param value=»http://htmlka.com/wp-content/uploads/2009/07/player2.swf» name=»movie»> <param value=»loop=no&autostart=no&soundfile=ВАШ_ФАЙЛ&» name=»flashvars»><param value=»false» name=»menu»></object>
Cтавим ссылку на свой mp3 вместо ВАШ_ФАЙЛ (в двух местах!):
<object codebase=»http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0″><param name=»movie» value=»http://www.strangecube.com/audioplay/online/audioplay.swf?file=ВАШ_ФАЙЛ&auto=no&sendstop=yes&repeat=1&buttondir=http://www.strangecube.com/audioplay/online/alpha_buttons/negative&bgcolor=0xffffff&mode=playpause»><param name=»quality» value=»high»><param name=»wmode» value=»transparent»><embed src=»http://www.strangecube.com/audioplay/online/audioplay.swf?file=ВАШ_ФАЙЛ&auto=no&sendstop=yes&repeat=0&buttondir=http://www.strangecube.com/audioplay/online/alpha_buttons/negative&bgcolor=0xffffff&mode=playpause» quality=»high» wmode=»transparent» align=»» type=»application/x-shockwave-flash» pluginspage=»http://www.macromedia.com/go/getflashplayer»></embed></object>
Вот хостинг с прямыми ссылками на файл: My-Files.RU
Подробная инструкция к Dropbox
Поисковик по mp3-файлам:
beemp3.com |
В начало ↑
Реализация video и audio в HTML5, шаблоны, schema.org микроразметка

В статье описаны строение audio и video контейнера HTML5, теги video, audio, source, track и их атрибуты с возможными значениями. Приведены HTML шаблоны и примеры реализации воспроизведения мультимедийных файлов на основе встроенных в браузер возможностей. Показано подключение к видео текстовой дорожки субтитров, заголовков, оглавления при помощи файлов формата WEBVTT с примерами. Представлены HTML5 шаблоны кода с микроразметкой по schema.org для аудио и видео. Указаны основные для web форматы аудио и видео файлов с их MIME типами и инструменты для конвертации видео и аудио в эти форматы.
В HTML5 присутствуют новые возможности, позволяющие выполнять проигрывание аудио и видео файлов напрямую браузером без использования сторонних программ. Пока, несмотря на то, что HTML5 уже не новость, имеются еще разногласие в том, как браузеры обрабатывают теги video и audio и как отображают сам плеер. Одни это делают все лучше с каждой новой версией, другие пока еще отстают. Глобально же, тенденция идет к тому, что браузеры будут предоставлять все больше функционала для проигрывания мультимедиа файлов.
Скринкаст: Видео обзор этой статьи

Смотреть на YouTube
HTML5 video не поддерживается вашим браузером. Скачать видео

Скринкаст: видео обзор статьи Реализация video и audio в HTML5, шаблоны, schema.org микроразметка на сайте Andew.ru
Автор: Andrey Boldyrev
Скринкаст: Пример использования шаблонов

HTML5 video не поддерживается вашим браузером. Скачать видео

Скринкаст: примеры использования шаблонов из статьи Реализация video и audio в HTML5, шаблоны, schema.org микроразметка — andew.ru
Автор: Andrey Boldyrev
В HTML5 воспроизведение браузером аудио и видео файлов реализуется посредством тегов <audio> и <video>, которые предоставляют управляемый сценариями объект. Использование этих тегов позволяет проиграть мультимедийный файл на web странице, управлять его воспроизведением путем задания атрибутов для тегов <audio> и <video>, и дополнительных, вложенных в них тегов. В простейшем варианте использования достаточно вставить на web страницу нужный вам тег <audio> или <video> и задать через их атрибуты несколько параметров. И это уже позволит проиграть мультимедиа файл на странице в HTML5 плеере. Также, поскольку элементы <audio> и <video> являются объектами для JS, у них доступны свойства, методы и события, что предоставляет расширенные возможности полного управления HTML5 плеером через JavaScript . Однако, ввиду того, что браузеры могут иметь различия в реализации управления объектами аудио и видео посредством JS, то более лучшим выбором для этих целей будет использование специальных кроссбраузерных JS библиотек. Одна из таких библиотек под названием videojs будет описана в отдельном посте. К тегам <audio> и <video>, как и к другим тегам HTML применима стилизация посредством CSS. Детальную спецификацию для аудио и видео в HTML5 можно посмотреть на сайте World Wide Web Consortium .
HTML5 видео и аудио развивающийся стандарт и он не связан ни с одним форматом аудио или видео, поэтому между браузерами существуют различия в поддерживаемых ими форматами аудио и видео файлов. Это различие сейчас компенсируют тем, что кодируют оригинальный файл несколькими разными кодеками и подключают все эти версии файлов к тегам <audio> или <video> через вложенные теги <source src=»URL»>. Однако среди поддерживаемых браузерами форматов аудио и видео файлов намечаются лидеры. Для видео это, конечно же, формат mp4 (H.264), и для аудио это формат mp3 и m4a. Сейчас уже, наверное, все браузеры способны проигрывать файлы этих форматов. Так же, браузеры Firefox, Chrome и Opera договорились поддерживать стандарт WEBM в качестве общего видео формата. С моей точки зрения, оптимальным на сейчас вариантом использования HTML5 видео и аудио будет схема основанная на использовании одного мультимедийного файла в формате mp4(H.264) для видео и m4a для аудио и JS HTML5 плеера. К аудио или видео контейнеру подключается только один файл в указанном формате. Сейчас большинство браузеров способны воспроизводить mp4 формат. Подключенная же JS библиотека выполнит стилизацию встроенного в браузер плеера. Если браузер не будет поддерживать формат mp4/m4a, то JS плеер, в таком случае, реализует подключение Flash плеера для воспроизведения мультимедийного файла. Учитывая, что mp4 формат стал сильно популярен, можно надеяться на низкую вероятность проблем с его воспроизведением в браузерах. Такая схема требует наличие всего одного мультимедийного файла в указанном формате, что экономит место на диске и ресурсы для обработки файлов. Также, такая схема будет стратегически более правильной, так как тенденция идет к тому, что браузеры все больше и лучше выполняют реализацию HTML5 видео и аудио.
Для указания HTML5 плееру проигрываемого файла нужно, помимо URL файла, передать и MIME тип файла, что бы браузер понимал какой кодек ему нужно использовать. Ниже в таблице привожу наиболее распространенные форматы файлов и их MIME типы.
Форматы файлов и их MIME типы
Файлы мультимедиа | Расширения | Mime тип |
---|---|---|
Аудио mp3 | mp3 | audio/mpeg |
Аудио mp4 | m4a | audio/mp4 |
Аудио webm | webm | audio/webm |
Аудио ogg | ogg | audio/ogg |
Видео mp4 (H.264) | mp4 | video/mp4 |
Видео webm | webm | video/webm |
Видео ogg | ogv | video/ogg |
Инструменты кодирования аудио и видео файлов
Для кодирования видео и аудио файлов в приведенные выше web форматы можно воспользоваться открытой программой Miro Video Converter , которая поддерживает конвертацию аудио и видео файлов в основные распространенные для веба форматы (MP4, WebM, Ogg Theora, MP3 и т.п.). Miro Video Converter доступен для разных операционных систем — Windows, Mac и Linux и является графической оболочкой для консольных утилит ffmpeg и ffmpeg2theora , которые удобно использовать на web сервере для обработки загружаемого видео и аудио в автоматическом режиме.
Пример стандартного использование HTML5 тега <audio>:
HTML5 код примера audio с микроразметкой schema.org:
<div itemscope itemtype="http://schema.org/AudioObject">
<h4 itemprop="name">Заголовок аудио</h4>
<meta itemprop="description" content="Описание аудио...">
<!-- additional schema.org data -->
<meta itemprop="isFamilyFriendly" content="true">
<meta itemprop="encodingFormat" content="mp3">
<meta itemprop="duration" content="PT04M59S">
<meta itemprop="uploadDate" content="2015-12-31">
<meta itemprop="image" content="Full URL to image.jpg">
<meta itemprop="alternateName" content="Альтернативный заголовок аудио">
<!-- end of additional data -->
<audio controls preload="none">
<source src="URL to file.mp3" type="audio/mpeg" />
<source src="URL to file.ogg" type="audio/ogg" />
<source src="URL to file.m4a" type="audio/mp4" />
<p>HTML5 audio не поддерживается вашим браузером.</p>
<p><a itemprop="contentUrl" href="URL to file.mp3">Скачать audio</a></p>
</audio>
<p itemprop="author" itemscope itemtype="http://schema.org/Person">
Автор
<a href="URL" itemprop="url"><span itemprop="name">Имя автора</span></a>
<meta itemprop="image" content="Full url to person.jpg">
</p>
</div>
Так будут выглядеть извлеченные из кода данные микроразметки для описанного выше шаблона аудио.
audioobject
itemType = http://schema.org/AudioObject
name = Заголовок аудио
description = Описание аудио...
isfamilyfriendly = true
encodingformat = mp3
duration = PT04M59S
uploaddate = 2015-12-31
image = Full URL to image.jpg
alternatename = Альтернативный заголовок аудио
contenturl
href = URL to file.mp3
text = Скачать audio
author
person
itemType = http://schema.org/Person
url
href = URL
text = Имя автора
name = Имя автора
image = Full url to person.jpg
Минимальная разметка аудио по schema.org должна включать itemprop=»name», itemprop=»description», itemprop=»contentUrl». Остальные свойства не являются обязательными.
Пример стандартного использование HTML5 тега <video>:
В демонстрации я применил для тега <video> через атрибут class CSS стили, делающие ширину области видео динамической в зависимости от размера экрана. По высоте плеер подстроиться сам. Попробуйте изменить размер окна браузера для того, что бы увидеть как это работает. Поэтому в источнике кода этой демонстрации нет атрибутов width и height для тега <video>, их заменяют CSS стили. Но в листинге кода шаблона этот примем не показан, т.к. является уже частностью.
HTML5 код примера video с микроразметкой schema.org:
<div itemscope itemtype="http://schema.org/VideoObject">
<h4 itemprop="name">Заголовок видео</h4>
<div itemprop="thumbnail" itemscope itemtype="http://schema.org/ImageObject">
<img itemprop="contentUrl" src="URL to video-thumbnail.jpg|png" />
<meta itemprop="width" content="100">
<meta itemprop="height" content="100">
</div>
<p><a href="URL">Смотреть на YouTube</a></p>
<meta itemprop="duration" content="PT14M59S">
<meta itemprop="isFamilyFriendly" content="true">
<meta itemprop="uploadDate" content="2015-12-31">
<meta itemprop="description" content="Краткое описание для видео...">
<video controls preload="none" poster="URL to video-poster.jpg|png">
<source src="URL to file.mp4" type="video/mp4" />
<source src="URL to file.webm" type="video/webm" />
<source src="URL to file.ogv" type="video/ogg" />
<track kind="subtitles" label="RU" src="URL to subtitles-ru.vtt" srclang="ru" default>
<track kind="subtitles" label="EN" src="URL to subtitles.vtt" srclang="en">
<p>HTML5 video не поддерживается вашим браузером.</p>
<p>Скачать видео: <a itemprop="url" href="URL to file.mp4">Заголовок видео</a></p>
</video>
<p itemprop="author" itemscope itemtype="http://schema.org/Person">
Автор видео
<a itemprop="url" href="URL to author web page"><span itemprop="name">author name</span></a>
<meta itemprop="image" content="Full URL to author.jpg">
</p>
<img itemprop="thumbnailUrl" src="URL to file.jpg|png" />
</div>
Так будут выглядеть извлеченные из кода данные микроразметки для описанного выше шаблона видео.
videoobject itemType = http://schema.org/VideoObject name = Заголовок видео thumbnail imageobject itemType = http://schema.org/ImageObject contenturl = URL to video-thumbnail.jpg|png width = 100 height = 100 duration = PT14M59S isfamilyfriendly = true uploaddate = 2015-12-31 description = Краткое описание для видео... url href = URL to file.mp4 text = Заголовок видео author person itemType = http://schema.org/Person url href = URL to author web page text = author name name = author name image = Full URL to author.jpg thumbnailurl = URL to file.jpg|png
Минимально необходимая для поисковиков разметка видео по schema.org должна включать все приведенные в коде примера свойства itemprop за исключением блока itemprop=»author», который является не обязательным для поисковиков и его можно удалить, если нет данных для его заполнения. Для video-thumbnail яндекс требует указывать микроразметку по schema.org как itemprop=»thumbnail» в виде ImageObject, а Google требует указывать как itemprop=»thumbnailUrl», поэтому приходиться вставлять video-thumbnail файл два раза, и поэтому второй тег img получил стиль display: none, что бы не отображаться в браузере. Можно вместо использования img тега с display:none передать это свойство тегом link через атрибут href. Также, несмотря на то, что микроразметку можно передавать через не показываемые пользователю теги meta и link, рекомендуется все же, по возможности, добавлять микроразметку преимущественно в теги, которые будут выводиться пользователю. Валидацию микроразметки schema.org можно сделать по этим ссылкам: yandex валидатор , google валидатор . Основное преимущество от использования микроразметки заключается в удобстве такого контента для поисковых роботов и роботов социальных сетей. Эти роботы извлекают размеченные данные и агрегирую их. Поэтому использование микроразметки улучшает SEO сайта и способствует автоматическому распространению данных в социальных сетях. Детальное описание микроразметки Schema.org для видео размеченных схемой VideoObject на сайте Яндекса в разделе Вебмастер . Так же, стоит заметить, что для случаев, когда вы делаете вставку на свой сайт видео не напрямую, а с помощью виджетов видео хостинга Яндекс.Видео или YouTube, то вы можете под блоком кода виджета добавить свой блок кода HTML с описанием видео и в него встроить микроразметку Schema.org для этого видео. При этом, в качестве параметра URL — ссылки на видеоролик, указать не прямую ссылку на статический файл, а задать ссылку полученную от видео хостинга. Хотя в спецификации Schema.org и написано, что ссылка должна быть именно на прямой файл, но поисковики обрабатывают и ссылки на видео от видео хостинга (см. в примерах на сайте Яндекса в разделе Вебмастер), несмотря на то, что по такой ссылке нельзя скачать файл и нельзя просмотреть его напрямую в своем HTML5 медиа плеере на странице, только в виджете видео хостинга.
Если перед вами стоит вопрос с какого хостинга загружать мультимедийные файлы аудио и видео, то посмотрите статью Yandex Disk REST API jQuery Plugin, в которой описан вариант вставки медиа файлов на WEB страницу с Яндекс Диска.
Атрибуты <audio> и <video> тегов:
Атрибуты src, preload, autoplay, mediagroup, loop, muted, controls являются общими атрибутами для всех медийных элементов, в том числе и для тегов <audio> и <video>.
атрибут autoplay:
<audio autoplay> или <audio autoplay="autoplay"> <video autoplay> или <video autoplay="autoplay">
- атрибут autoplay задается его присутствием в теге <audio> или <video> и для этого атрибута не нужно задавать значение, достаточно просто его присутствия. Для редакторов HTML, которые правят код элементов, можно задать этот атрибут как autoplay=»autoplay«, что равносильно просто присутствию атрибута. Наличие атрибута autoplay дает команду браузеру начать воспроизведение файла сразу после загрузки web страницы. Соответственно, атрибут autoplay отменяет значения атрибута preload, который управляет загрузкой видео в плеер, потому что видео должно сразу начать воспроизводиться, а значит и должно быть загружено. По умолчанию атрибут autoplay отсутствует.
атрибут controls:
<audio controls> или <audio controls="controls"> <video controls> или <video controls="controls">
- атрибут controls дает команду браузеру показывать панель управления плеером, когда страница загрузилась, но воспроизведение записи на начато. Этот атрибут также как и атрибут autoplay задается только присутствием в теге <audio> или <video>, и не требует значения, достаточно только его присутствия. По умолчанию этот атрибут отсутствует, т.е. плеер не показывает панель управления до начала воспроизведения. Когда же проигрывание файла будет запущено, то панель управления будет появляться при наведении указателя мыши на область плеера.
атрибут loop:
<audio loop> или <audio loop="loop"> <video loop> или <video loop="loop">
- атрибут loop заставляет плеер воспроизводить файл по кругу. Атрибут задается только его присутствием в теге <audio> или <video> и не имеет параметров. По умолчанию атрибут loop отсутствует.
атрибут preload:
<audio preload="none | metadata | auto"> <video preload="none | metadata | auto">
- атрибут preload определяет загрузку файла вместе с загрузкой web страницы и принимает одно из следующих трех значений:
- none — не выполнять загрузку файла вместе с загрузкой web страницы. Это значит, что файл начнет загружаться в плеере только после нажатия кнопки воспроизведения. Это может быть удобным для ускорения загрузки страницы. Значение none является значением по умолчанию для атрибута preload, поэтому для него можно вообще не вставлять атрибут preload в тег <audio> или <video> для этого случая.
- metadata — не выполнять загрузку файла вместе с загрузкой web страницы, но выполнять загрузку метаданных мультимедийного файла.
- auto — выполнять полную загрузку файла вместе с загрузкой web страницы. В этом варианте браузеры будут автоматически подгружать медийный файл вместе с web страницей, но это не будет мешать загрузке самой страницы и ее отрисовки в браузере. Если в теге <audio> или <video> задан атрибут preload=«» с пустым значением, то будет использовано значение auto для него.
- Значение атрибута preload будет отменено, если использован атрибут autoplay.
атрибут src:
<audio src="URL"> <video src="URL">
- атрибут src тега <audio> или <video> позволяет сразу в теге задать путь к мультимедийному файлу. Путь может быть, как полным с указанием протокола и домена, так и относительно корня текущего сайта. Также путь к файлу можно задать и во вложенных в аудио или видео контейнер тегах <source src=»URL»>.
Атрибут poster тега video:
<video poster="URL">
- атрибут poster используется только в теге <video> и задает URL изображения (gif, png, jpeg и т.п.), которое будет показано пока видео не доступно. Если атрибут poster не задан, то плеер браузера будет пытаться показать первый кадр видео.
Атрибуты width и height тега video:
<video> <video>
- атрибуты width и height применяются только к тегу <video> и задают, соответственно, ширину и высоту области воспроизведения видеоплеера. В качестве значения ожидают положительное целое число, указанное в пикселях или процентах. Задание этих атрибутов влияет на размер отображения видео, но не изменяет пропорции видео. Видео подстроиться под указанные размеры с сохранением его пропорций. Если указанные размеры не совпадают с пропорциями видео, то по верхним или/и по боковым краям видео будут темные полосы. Поэтому при задании этих параметров желательно подбирать их соотношение такое же, как у воспроизводимого видео, или задавать только width, а по высоте плеер подстроиться сам.
- Если какой-либо из этих параметров или оба не будут заданы, то тогда не заданный(е) параметр(ы) будут браться от соответствующего размера картинки, указанной в атрибуте poster.
- Если же атрибут poster будет отсутствовать, то эти параметры будут устанавливаться как: для width = 300px и для height = 150px. Что бы не высчитывать и не согласовывать размеры области видео под пропорции самого клипа, я бы рекомендовал задавать только одни параметр width, тогда высота (height) области воспроизведения будет выбрана автоматически исходя из пропорций видео.
- Также, на размеры и оформление HTML5 плеера можно влиять через свойства CSS применяемые к тегам <audio> или <video>.
Атрибут muted:
<audio muted> или <audio muted="muted"> <video muted> или <video muted="muted">
- атрибут muted устанавливает своим наличием в тегах <audio> или <video> звук в выключенное состояние в HTML5 плеере. По умолчанию атрибут отсутствует.
Атрибут crossorigin:
<video crossorigin="anonymous">
- атрибут crossorigin указывает браузеру на необходимость выполнение CORS запроса для данного элемента. По умолчанию атрибут отсутствует, что значит не использовать CORS запросы вообще. При наличии атрибута возможны следующие значения: anonymous и use-credentials. CORS (Cross-origin resource sharing ) — это технология современных браузеров, которая позволяет управлять разрешениями на загрузку ресурсов на текущей web странице с других доменов, отличных от домена текущей страницы. Поддержка браузерами стандарта CORS позволяет реализовать безопасный кроссдоменный обмен данными через выполнение специального запроса (заголовка) к домену текущей страницы на предмет того, разрешается ли загружать на этой странице ресурсы с другого указанного домена. Сервер на такой запрос должен указать домены, с которых разрешена загрузка ресурсов.
Атрибут mediagroup:
<article> <style scoped> div { margin: 1em auto; position: relative; width: 400px; height: 300px; } video { position; absolute; bottom: 0; right: 0; } video:first-child { width: 100%; height: 100%; } video:last-child { width: 30%; } </style> <div> <video src="movie.vid#track=Video&track=English" autoplay controls mediagroup=movie></video> <video src="movie.vid#track=sign" autoplay mediagroup=movie></video> </div> </article>
- атрибут mediagroup позволяет объединить управление несколькими медиафайлами в один MediaController через создание группы медиафайлов в разных местах страницы. Это группа будет управляться одновременно для всех входящих в нее файлов. Это удобно, например, если нужно проиграть и управлять одновременно одним и тем же роликом в разных местах страницы с разными субтитрами, или разными роликами.
Теги <audio> и <video> требуют наличие закрывающего тега.
Для тех случаев, когда браузер не поддерживает HTML5 <audio> и <video> теги, что сейчас большая редкость, пред закрывающим контейнер тегом пишут текстовое сообщение и обычно добавляют ссылку на скачивание файла. Если же встроенный в браузер HTML5 плеер будет дополнительно управляться JS библиотекой (JS плеером), то большинство из них выполняют подключение флэш плеера в случае невозможности воспроизведения в браузере HTML5 видео и аудио по причине не поддержки браузером тегов видео и аудио или формата мультимедийного файла.
Тег <source>:
Путь к проигрываемому файлу также можно задать и при помощи тега <source src=»URL»> с атрибутом src, размещенного внутри тегов <audio> или <video>. Тег <source> не имеет закрывающего тега.
В большинстве случаев тег <source>выглядит так:
<source src="URL to file.mp4" type="video/mp4"> <source src="URL to file.mp3" type="audio/mpeg">
и в нем присутствует всегда атрибут src и type, который в большинстве случаев имеет только MIME-тип.
Атрибуты тега <source>:
- атрибут src=«URL» тега <source> задает URL к мультимедийному файлу. Путь может быть как полным с указанием протокола и домена, так и относительно корня сайта.
- атрибут type=»MIME-тип» тега <source> или более полно type=’MIME-тип; codecs=»кодек»‘ указывает MIME-тип файла и кодек. Для аудио достаточно указать MIME-тип, например, для .mp3 — type=»audio/mpeg». Хотя по спецификации для видео в атрибуте type нужно указывать и кодек, но сейчас часто указывают только MIME-тип без кодека, предоставляя это на решение браузерам.
- атрибут media=»all|braille|handheld|print|screen|speech|projection|tty|tv» тега <source> указывает тип устройства, для которого должен воспроизводиться файл. Значение по умолчанию all, поэтому этот атрибут в большинстве случаев не указывают вообще, если не хотят конкретно определить устройство для воспроизведения.
Тег <track>:
Для HTML5 видео возможно также отображать в плеере дополнительную дорожку с информацией, такой как субтитры (subtitles), заголовки (captions), главы (chapters), описания (descriptions – не поддерживаются пока) и метаданные (metadata – не поддерживаются пока). Эта возможность реализуется путем добавления внутри тега <video> тегов <track> с соответствующими атрибутами.
<track kind | src | srclang | label | default> - не имеет закрывающего тега.
Тег <track> позволяет подключать к видео дополнительные файлы-дорожки специального формата WebVTT (Web Video Text Tracks Format ), в которых указаны выводимые текстовые сообщения с их временной привязкой к видео файлу. Стандарт WebVTT поддерживает не просто вывод текстовых сообщений, но и предоставляет варианты его CSS стилизации и опции по размещению в области просмотра видео. На настоящий момент WebVTT файлы в основном используются для подключения к видео текстовых субтитров, что поддерживается почти всеми браузерами. Другие возможности WebVTT стандарта пока не полностью реализуются самими браузерами, поэтому, для более полного использования WebVTT, лучше применять JS плееры. Также, файлы WebVTT могут нестандартно использоваться JS плеерами для передачи дополнительных данных в JS плеер, таких как, например, URL превью картинок для фреймов видео. К вопросу о том, как показать превью кадров видео на шкале перемотки плеера (Scrub Bar Thumbnails) как это сделано на видео хостингах. Тут нужно сказать, что такой функционал пока отсутствует во встроенных в браузеры плеерах и поэтому реализуется через JS плееры как дополнение. Для этого подключают JS библиотеку (js плеер), которая берет на себя управление HTML5 видео и аудио объектом и выполняет его стилизацию. Такие JS плееры для показа превью кадров видео нестандартно используют файлы WEBVTT из тега <track> для передачи через него URL картинок превью.
Файл формата WebVTT является обычным текстовым файлом с расширением .vtt в котором, в виде построчного списка, прописаны временные метки с временем старта и временем окончания и текстовые сообщения для вывода к этим меткам. К <video> контейнеру можно подключить несколько файлов WebVTT с текстом на разных языках. Для каждого языка нужно создавать отдельный файл и подключать каждый через тег <track>. Теги <track> необходимо вставлять внутрь контейнера <video> после всех тегов <source>, но перед сообщениями об ошибках HTML5 видео. Тег <track> с файлом субтитров на языке по умолчанию нужно размешать первым среди тегов <track> в текущем контейнере <video>.
WEBVTT файл может содержать одну и более временных меток. Файл начинается со слова WEBVTT. Пустые строки отделяют между собой временные метки с принадлежащими к ним текстом и атрибутами. Текст может содержать элементы HTML и CSS разметки. Перед временной меткой может располагаться ID для нее, что бы при помощи специальных выражений обратиться к ней. Все эти детали описаны в стандарте WEBVTT.
00:00:01.000 —> 00:00:10.000 -это простой пример временной метки в формате hh:mm:ss.mmm
00:00:15.000 —> 00:00:20.000 A:middle T:50% — метка может содержать дополнительные атрибуты, указывающие на месторасположение текста для нее в области просмотра видео.
Пример файла формата WEBVTT для субтитров на ru
WEBVTT 00:00:01.000 --> 00:00:10.000 Это первая строка с 1-10 секунды 00:00:15.000 --> 00:00:20.000 Это вторая строка текста разделенная на две линии
Пример файла subtitles.vtt
Пример файла captions.vtt
Пример файла chapters.vtt
Атрибуты тега <track>:
Атрибут kind тега <track> задает тип дорожки и может принимать значения:
- subtitles — субтитры в виде текста, который выводиться поверх видео. Для проигрываемого файла можно задать субтитры на разных языках для предоставления их выбора в плеере, если он его поддерживает. В большинстве случаев используется именно этот тип так он поддерживается большинством браузеров.
- captions – заголовки в виде текста и звука, которые выводятся поверх видео. Похожи на субтитры, но, помимо текста, могут включать звуковые эффекты и другую аудио информацию.
- chapters – главы, которые отображаются текстом в виде меню списка и предназначены для быстрой навигации по медиафайлу.
- descriptions – описание, это текстовые файлы с описанием видео для воспроизведения их в screenreader.
- metadata – метаданные для передачи js скриптам.
Атрибут src тега <track> задает URL к файлу дорожки с дополнительной информацией. Подключаемый к тегу <track> файл имеет формат WebVTT и расширение .vtt.
Атрибут srclang тега <track> задает язык дорожки через код языка. Для русского языка будет равен «ru», для английского «en».
Атрибут label тега <track> задает название дорожки, которое будет показано в плеере. Если атрибут не будет задан, то браузер покажет свое служебное название.
Атрибут default тега <track> задает выбор данной дорожки по умолчанию при наличии других дорожек в контейнере video. Только один из нескольких тегов <track> может иметь default атрибут. Лучше дорожку по умолчанию располагать первой среди других подключаемых дорожек.
Пример тегов <track>:
<track kind="subtitles" label="EN" src="URL to subtitles.vtt" srclang="en" default> <track kind="subtitles" label="RU" src="URL to subtitles-ru.vtt" srclang="ru">