Інтернет-формати відео, короткий посібник, який допоможе вам вибрати

Відео в Інтернеті буде зростати ще довго. Незважаючи на те, що вбудовувати відеоролики Instagram та Youtube просто, ситуацій, як і багато випадків використання електронної комерції, стає все більше і більше, що вимагає індивідуального підходу до доставки відео.

Коли мова заходить про встановлення конвеєра для обробки та доставки відео, перше рішення, яке потрібно прийняти, стосується форматів відео для обслуговування. Такі аспекти, як UX, підтримка (браузери та системи), ефективність стиснення або швидкість кодування, ймовірно, будуть відповідні цьому вибору.

Спираючись на свій досвід оптимізації медіа для веб-бізнесу, я намагаюся виділити тут основні аспекти, які слід врахувати. Якщо ви шукаєте простий варіант перекодування та оптимізації за допомогою ffmpeg, ви також можете переглянути цю статтю.

Контейнери та кодеки

На відміну від звичайних форматів зображень, дуже важливо пам’ятати про різницю між контейнером та стандартом кодування. Розширення файлу повідомляє нам, який контейнер, але не який кодек використовується. І стандарт, котрий виконується для кодування кліпу, визначатиме, чи підтримується він браузером або системою.

Наприклад, хоча універсально підтримуваний формат відео для Інтернету використовує контейнер mp4 та стандарт H264 для кодування, не кожен файл mp4 універсально підтримується, оскільки він може кодуватися за іншим стандартом, наприклад H265.

Він навіть стає дещо складнішим з адаптивною швидкістю передачі даних (ABR), що забезпечує найкращий спосіб реагувати на можливості мережі та пристрою користувача.

Давайте розглянемо основні комбінації контейнерів та стандартів кодування та доставки та відмінності між ними з точки зору підтримки, ефективності стиснення, швидкості кодування та досвіду роботи користувача.

Прогресивне відео

H264 / AVC

Королівський формат для відео містить контейнер mp4 з кодуванням H264 / AVC. Іноді ви знайдете його у контейнері m4v (формат за замовчуванням у Handbrake), похідному mp4, розробленому Apple для відео H264 із захистом DRM.

Кожен браузер та система - також власні програми в iOS та Android - підтримують цей формат. Це безпечний вибір, щоб уникнути проблем сумісності.

Більше того, майже будь-який пристрій від робочого столу до мобільного має підтримку апаратного прискорення для H264. Швидко кодувати та декодувати.

Підсумовуючи, кодування та надання цього формату дійсно просто. Як і для зображень, ви можете просто вставити посилання на відео за допомогою HTML5, і воно буде працювати з будь-яким браузером.

Проблеми можуть виникнути при роздільній здатності через VGA, хорошій якості зображення - бітрейт близько 2000 кбіт / с та перевищення та тривалість протягом декількох секунд. Якщо дивитись через мобільну мережу - у багатьох регіонах, а також у домашніх зв’язках у пікові години - це може потерпіти зриви та перешкоди. Альтернатива зниження якості призведе до таких артефактів, як розмиття, комарі або блокування.

H265 / HEVC

Використовуючи той самий контейнер та кодування H265 / HEVC, ми знаходимо потужний відеоформат, який забезпечує набагато вищу ефективність стиснення (приблизно на 50% легшу) та значно менший ризик артефактів, крім розмиття. Проблема цього формату полягає в тому, що підтримка обмежена пристроями Apple, які включають великі роялті у свою ціну. Майже лише додатки Safari та iOS зможуть ним користуватися. Якщо у вас багато користувачів iPhone або Mac, ви можете включити його із запасним варіантом до H264. Досвід для них буде кращим.

Навіть з апаратним прискоренням, яке доступне майже лише на пристроях Apple, більша складність цього формату означає, що кодування значно повільніше, тому виготовлення варіантів для доставки займає більше обчислень та більше часу.

VP9

Це безкоштовна відповідь від Google від роялті. Замість mp4 він використовує контейнери webm, в основному контейнер mkv, але встановлюючи стандарт кодування на VP8 або VP9. В приносить подібні переваги для H265, можливо, трохи менш ефективний, але все ж набагато більше, ніж H264. Знову ж таки, це дозволяє зменшити вагу з набагато меншим ризиком виникнення артефактів, крім розмиття. Швидкість кодування схожа на H265, яка є повільною. Варто пам’ятати про швидкість кодування, особливо в конвеєрі внутрішнього транскодування.

Зверніть увагу, що хоча попередня версія (VP8) існує з такою ж підтримкою, ми не рекомендуємо її взагалі, оскільки вона не додає жодних переваг для H264, який вже підтримується загальноприйнятим. Використання webm виправдано лише з кодуванням VP9.

Звичайно, підтримка webm обмежена світом Google. Це означає, що Chrome та Android. Знову ж таки, нам знадобиться запасний варіант до H264.

AV1

Перша стабільна версія цього стандарту була випущена в березні 2018 року з відображенням як для контейнерів MP4, так і для MKV. Це забезпечує подібні або дещо вищі ефективність стиснення порівняно з H265, хоча і не має ліцензії. Останні впровадження також покращили швидкість декодування порівняно з H265, зробивши відео AV1 переконливою альтернативою для веб-доставки.

Партнери, які беруть участь у Альянсі за відкриті засоби масової інформації, який створив цей формат, роблять аргументи для широкої підтримки найближчим часом. Це обіцяє змітати всі інші формати.

Однак реалізація, яка зараз доступна, все ще повинна розглядатися як експериментальна, і її вузьким місцем залишається швидкість кодування. Відсутність апаратного прискорення для цієї операції, очевидно, є проблемою, і перші рішення очікуються на кінець року.

VVC

Комітет, відповідальний за H264 AVC та H265 HEVC, швидко відстежив новий стандарт, випуск якого очікується до 2020 року. Попередні випробування підходів, що розглядаються в даний час, показали значний виграш порівняно з H265 та AV1. Я включаю його сюди як футуристичне повідомлення, лише щоб показати, що гонка кодування відео здається далеко не закінченою.

Адаптивний бітрейт (ABR)

Це дуже цікава альтернатива будь-якому прогресивному формату. Він базується на протоколі комунікації потокових медіа на основі HTTP. При цьому підході відео подаються як головний список відтворення. Список відтворення пропонує представлення або сходи з різними варіантами роздільної здатності та бітрейту, які відповідають різним розмірам області перегляду, пропускній здатності мережі та можливостям пристрою.

Більше того, відеоролики діляться на частини або фрагменти, щоб клієнт міг переходити від одного рівня якості до іншого. Він може адаптуватися до умов користувача, а саме до швидкості мережі, а також до розміру вікна перегляду, як перемикання на повний екран-.

ABR приносить велику перевагу в оптимізації UX для мобільних пристроїв, уникаючи зупинок або повторної буферизації в мобільних мережах. Якщо ви прагнете справжньої чуйної поведінки, це явно такий підхід. Існує два основних стандарти - HLS та MPEG-DASH.

Хоча існує поширена думка, що ABR має сенс лише для досить довгих відео, на моєму досвіді багато ситуацій із досить короткими кліпами також можуть отримати користь від цього підходу.

ЗСЖ

Розроблений Apple, цей протокол ABR спирається на різні передачі, розділені на фрагменти у форматі mp4. Спочатку з H264, він також підтримує H265 зараз. Однак, як компроміс, ми рекомендуємо дотримуватися кодування H264 із HLS, оскільки це забезпечує набагато кращу сумісність у різних випадках клієнта.

Важливим моментом цього стандарту є підтримка останніх пристроїв Apple. Для клієнтів, відмінних від Safari або власних програм iOS, вам знадобиться програма перегляду. Але це не велика проблема, оскільки там є хороші опції з відкритим кодом, такі як videojs. Або, звичайно, вам знадобляться деякі зусилля, щоб налаштувати його та застосувати до роботи у своєму інтерфейсі. Є також великі служби перекодування та доставки, які виконують всю цю роботу за вас.

Оскільки кожна передача повинна кодуватися з постійним бітрейтом, я рекомендую поєднувати HLS з кодуванням заголовка. Тобто вибір бітрейту передачі на основі вмісту відео.

MPEG-DASH

Це кодек-агностичний протокол для ABR, тому він також може працювати з кодуванням VP9, ​​крім H264 та H265, або навіть новими альтернативами, такими як AV1. Недоліком є ​​його відносна молодість, а це означає, що користується набагато меншою підтримкою, ніж ЗСЖ. Ось чому ми поки не рекомендуємо його для більшості веб-підприємств - навіть великих магазинів електронної комерції -.

Резюме

Після років переважання компресії AVC H264, нові підходи оживляють сцену. Змагання за розмірами та роздільною здатністю дисплея сприяє розробці нових форматів, здатних забезпечити більший вміст за тієї ж смуги пропускання.

VP9 в webm забезпечує значний приріст ефективності стиснення (близько 30%), є безоплатним і підтримується рішеннями Google (Chrome, Android). Йдучи набагато далі, H265 / HEVC досяг порівнянної або кращої суб’єктивної якості з половиною бітової швидкості порівняно з H264. Оскільки жоден з них не має універсальної підтримки, H264 все ще знадобиться, принаймні як запасний варіант.

Адаптивна швидкість передачі даних є вагомою альтернативою, що забезпечує неперевершений досвід роботи користувачів. У зв'язку з цим HLS користується широкою підтримкою за допомогою глядачів із відкритим кодом. Це, мабуть, найкращий варіант для мережі середнього розміру. Складність, додана потребою глядача, досить пом’якшується завдяки наявності ініціатив з відкритим кодом, таких як videojs, для власних рішень, а також сторонніх служб для виконання роботи за конкурентоспроможними цінами. Якщо ви проходите цей останній шлях, не забудьте попросити кодування кожного заголовка.