2.2. Вставка відео- та аудіо-матеріалів на веб-сторінку
Хоча веб-браузери мають вбудовану підтримку зображень з найперших днів, вбудовування аудіо або відео на веб-сторінку завжди вимагало додаткових модулів (окремих програмних компонентів), які додають більше можливостей браузеру, але не є його частиною (наприклад, Flash, QuickTime, RealPlayer та інші).
Плагін також означає, що додаток, який відтворює аудіо і відео вміст, не є частиною браузера. Модуль, який підключається, заблоковано в віртуальному середовищі зі своєю програмою, ізольованою від браузера і від будь-якого вмісту сторінки. Крім того, такі приєднувані модулі є обов'язковими. Тому немає впевненості тому, що відвідувачі сайту мають необхідне програмне забезпечення для перегляду вмісту.
Стандарт HTML5 вводить нові елементи <audio>
і <video>
, які дозволяють веб-розробникам вбудовувати звук і відео на веб-сторінку, не вимагаючи власних плагінів. Звичайно з цього випливає, що сам браузер повинен мати можливість відтворення таких файлів, на даний момент тільки останні версії браузерів підтримують ці елементи.
Медіа кодеки і формати
Цифрові аудіо та відео дані обробляються через кодек, формулу, яка перетворює і стискає звук або відео в потік бітів для передачі через Інтернет (термін "кодек" представляє скорочене поєднання двох слів "код" і "декодування"). Коли дані доходять до кінцевого користувача, то він повинен мати той же кодек для декодування закодованого сигналу і перетворення його назад в звук або відео.
Деякі медіа кодеки запатентовані, тобто вони належать тільки одній компанії і не відносяться до відкритих стандартів, і, як правило, власники патентів зазвичай стягують ліцензійні збори за використання їх алгоритмів. Розробники браузерів, такі як Apple, Google і Microsoft, мають великий капітал і готові ліцензувати запатентовані кодеки для своїх браузерів. Інші виробники браузерів, такі як Mozilla і Opera замість цього вибирають відкриті стандарти кодеків і не використовують запатентовані їх види. Навіть не дивлячись на те, що останні версії всіх браузерів підтримують вбудовані медіа-файли HTML5, вони ще не дійшли згоди які кодеки краще використовувати.
Після того як медіа дані закодовані, вони повинні бути вміщені і упаковані для доставки в одному з декількох форматів. Ці формати є контейнерами для медіа-файлів, які передаються між сервером і клієнтом. Для програвання вбудованих медіа-файлів браузер повинен спочатку прочитати формат контейнера, а потім розшифрувати закодовані дані всередині нього. Так само, як браузери підтримують різні кодеки, вони також підтримують різні формати контейнерів для вбудованих медіа-файлів.
Вбудовані медіа-файли повинні бути передані з належним типом контенту для кожного формату, так і клієнт, і сервер зможуть розпізнати, як обробляти ці файли. Веб-сервер обробляє медіа-типи автоматично, принаймні, для найбільш поширених форматів. Для деяких нових форматів може знадобитися додаткове регулювання параметрів сервера, зазвичай це полягає в додаванні нового типу контенту в файл конфігурації.
Нижче наведено список підтримуваних браузерами кодеків.
Firefox підтримує AAC частково - тільки в контейнері MP4 і коли операційна система підтримує цей формат.
Тег <audio>
Елемент <audio>
впроваджує звуковий файл на веб-сторінку. Це замінний елемент, але він не належить до порожніх елементів, тому він може містити і власний контент, і інші елементи. У своїй простій формі елемент <audio>
повинен мати тільки атрибут src
, який вказує шлях до звукового файлу:
<audio src="audio/file.mp3"></audio>
Однак він рідко використовується в такій простій формі. За замовчуванням елемент <audio>
не має елементів управління і тому повністю невидимий. Він буде розташовуватися в HTML-документі і може бути доступний в браузері або JavaScript, але просте впровадження аудіо файлу не принесе особливої користі. За допомогою логічного атрибута ,code>controls
<audio>
:
<audio src="audio/file.mp3" controls></audio>Ці елементи управління надаються браузером і можуть візуально відрізнятися в залежності від браузера, але надані функції залишаються незмінними:
Елемент <audio>
може містити один або кілька елементів <source>
, кожен з яких буде посилатися на свій аудіо-файл. Це буде корисно через відсутність єдиного формату, підтримуваного усіма браузерами. В цьому випадку браузер буде програвати перший медіа-файл, який він підтримує, ігноруючи всі інші:
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>Audio</title> </head> <body> <p><b>Вагнер, "Політ валькірій". Фрагмент</b></p> <audio controls> <source src="audio/Wagner-Ride_of_the_Valkyries_.ogg" type="audio/ogg; codecs=vorbis"> <source src="audio/Wagner-Ride_of_the_Valkyries_.mp3" type="audio/mpeg"> Тег audio не підтримується вашим браузером. <a href="audio/Wagner-Ride_of_the_Valkyries_.mp3">Завантажте музику</a>. </audio> </body> </html>Переглянути
Атрибути
autoplay
− звук починає грати відразу після завантаження сторінки.controls
− додає панель управління до аудіофайлу.loop
− повторює відтворення звуку з початку після його завершення.muted
− відключає звук при відтворенні музики.src
− вказує шлях до файлу, який програться.
Тег <video>
Елемент <video>
вбудовує цифрове відео на веб-сторінку. Як і у випадку з <audio>
, елемент <video>
може мати атрибут src
, який вказує URL-адресу відеофайлу:
<video src="video/file.mp4" controls></video>
Атрибути
autoplay
− відео починає відтворюватися автоматично після завантаження сторінки.controls
− додає панель управління до відеоролика.height
− задає висоту області для відтворення відеоролика.loop
− повторює відтворення відео від початку після його завершення.poster
− вказує адресу картинки, яка буде відображатися, поки відео недоступне або не відворюється.preload
− використовується для завантаження відео разом із завантаженням веб-сторінки.src
− вказує шлях до відеоролика, який прорається.width
− задає ширину області для відтворення відеоролика.Елемент <video>
також може містити один або кілька елементів <source>
, які будуть вказувати на файли різних форматів:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Video</title> </head> <body> <p><b>Вагнер, "Політ валькірій", фрагмент</b><p> <video width="320" height="240" controls="controls" poster="images/valkiriya.jpg"> <source src="video/Ride_of_the_Valkyries.mp4" type="video/mp4"> <source src="video/Ride_of_the_Valkyries.ogv" type="video/ogg"> Ваш браузер не підтримує тег video <a href="video/Ride_of_the_Valkyries.mp4">Завантажте відео</a> </video> </body> </html>Переглянути
Вставка відео з YouTube
Вартий уваги спосіб вставки на веб-сторінку відео, яке розташоване на відео-хостінгу . По-перше, відео не буде займати місце на сервері. По-друге, створивши власний канал з відо-матеріалами на youtube, можна привертати увагу користувачів до сайту. По-третє, таке відео легко зробити адаптивним до будь-якого розміру екрану, вставивши його у контейнер <div>
, для якого і задаються адаптивні розміри.
Окрім того, вставити відео у такий спосіб досить просто.
0. Необхідно перейти на сторінку потрібного відео на youtube.com.
1. Натиснути кнопку "Поділитися" під відео
2. Обрати "Вставити"
3. Натиснути "Копіювати"
4. Вставити у html-документ з буфера обміну скопійований код. Щоб відео було адаптивним, необхідно огорнути цей тег у контейнер <div>
, якому у стилях надають адаптивні розміри (дивіться наступний приклад).
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Video</title> </head> <style> .video { position:relative; padding-bottom:56.25%; padding-top:25px;height:0; } .video iframe { position:absolute; top:0; left:0; width:100%; height:100%; } </style> <body> <div class="video"> <iframe src="https://www.youtube.com/embed/-FIDRWpYR3U" width="560" height="315" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen> </iframe> </div> </body> </html>Переглянути
ЗАУВАЖЕННЯ: Переглядаючи приклад, змінюйте розмір браузера і зверніть увагу, як змінюється розмір відео. Більше про адаптивний дизайн ви дізнаєтесь у спеціальному розділі CSS.
audio
, video
?loop
?autoplay
?controls
?