Стримінг та IPTV
Пряме телебачення через інтернет запозичило свою лексику з трьох різних місць — мовлення, вебу й одного конкретного панельного софту, який випадково став стандартом. Ось терміни, які тобі трапляться.
-
HLS
HTTP Live Streaming -
Протокол стримінгу від Apple, яким користується практично все. Відео нарізається на короткі сегменти, перелічені в текстовому плейлисті, а плеєр забирає їх по черзі через звичайний HTTP.
HLS переміг, бо йому не потрібен спеціальний сервер: сегменти — це файли, плейліст — це файл, і будь-який веб-сервер здатен віддати і те, і те. Він нативно підтримується всюди на платформах Apple і майже всюди ще.
У його конструкції є один наслідок, з яким люди стикаються постійно, — єдиного відеофайлу для збереження не існує. Те, що ти дивишся, існує лише як тисяча шматочків і набір інструкцій для їх отримання.
Дивись також: МаніфестСегментАдаптивний бітрейт
-
Маніфест
плейліст, .m3u8 -
Текстовий файл, що перелічує, з чого складається потік. Головний маніфест перелічує доступні рівні якості; кожен із них указує на медіаманіфест зі списком реальних сегментів.
Відкрий такий файл — і побачиш пару десятків рядків: заголовок, кілька параметрів і адреси. Усе, що ти дивишся, знаходиться в іншому місці. Для прямого ефіру плеєр заново запитує цей файл кожні кілька секунд, бо він росте в міру продовження трансляції.
Адреси маніфесту зазвичай підписані й обмежені за часом, тому посилання, що працювало вранці, до вечора часто вже вказує в нікуди.
-
Сегмент
шматок -
Один короткий відрізок потоку, зазвичай від двох до десяти секунд, що доставляється як окремий файл. Година відео — це від сотень до тисяч таких відрізків.
Саме сегментація робить можливою зміну якості просто під час відтворення: плеєр просто запитує наступний шматок з іншого рівня якості, і перехід відбувається на межі сегментів, а не як обрив.
Вона ж перетворює завантаження потоку на перезбирання, а не на копіювання. Кожен сегмент потрібно забрати окремо, а потім записати в єдиний контейнер із нормальним індексом — саме цей крок дає результату робочу смугу перемотування.
Дивись також: HLSРемультиплексування
-
Адаптивний бітрейт
ABR -
Пропозиція того самого контенту на кількох рівнях якості з можливістю для плеєра перемикатися між ними в міру зміни з’єднання. Саме тому потоки втрачають чіткість, а не зупиняються взагалі.
Плеєр вимірює, з якою швидкістю приходять сегменти, і обирає найвищу якість, яку, на його думку, здатен підтримувати. Коли з’єднання звужується, він знижує рівень — зазвичай ще до того, як буфер спорожніє.
Це найголовніша різниця між переглядом потоку і завантаженням файлу. Завантаження хоче найкращу версію і готове чекати; потік натомість радше виглядатиме м’якішим, ніж стане на паузу.
Дивись також: HLSБуферизаціяБітрейт
-
Буферизація
-
Плеєр тримає кілька секунд відео з випередженням того, що ти зараз дивишся, щоб короткий збій мережі не перетворився на паузу. Коли ти бачиш це слово на екрані, буфер уже вичерпано.
Більший буфер переживає більше збоїв ціною довшого старту й повільнішої реакції на зміну каналу. Прямі ефіри тримають його навмисно маленьким, тому вони крихкіші за відео на вимогу.
Коли канал IPTV затинається, причина майже завжди десь між провайдером і тобою — на їхньому сервері, на маршруті, у твоєму з’єднанні. Той самий додаток на тому самому пристрої відтворює локальний файл того самого бітрейту без жодного ривка — це найшвидший спосіб відрізнити одне від іншого.
Дивись також: Адаптивний бітрейтIPTV
-
IPTV
-
Телебачення, що доставляється через інтернет, а не в ефірі, кабелем чи супутником. Як слово воно описує лише спосіб доставки і нічого не каже про те, хто має право доставляти саме що.
Те, з чого насправді складається підписка, — це список: плейліст M3U або обліковий запис на панелі, — що називає канали й дає адресу для кожного. Плеєр перетворює це на телепрограму; сам він нічого не зберігає і не постачає.
Це важлива частина як юридично, так і технічно. Додаток, що відтворює IPTV, не постачає канали сам, а питання про те, чи має конкретний провайдер право транслювати те, що він транслює, стосується саме цього провайдера.
Дивись також: Плейліст M3UXtream CodesEPG
-
Плейліст M3U
-
Звичайний текстовий список назв каналів і адрес потоків — найпоширеніший спосіб доставки підписки IPTV. Він узагалі не містить відео.
Кожен запис — це рядок, що називає канал (із логотипом, групою та ідентифікатором, доданими за домовленістю), і рядок з його адресою. Жодна з цих домовленостей так і не стала стандартом, тому кожен провайдер пише їх трохи по-своєму.
Списки провайдерів виросли далеко за межі того, що передбачав формат: сотні тисяч каналів і сотні мегабайтів тексту — звична річ сьогодні, а додаток, що завантажує такий список у пам’ять перед розбором, iOS завершить задовго до того, як він закінчить.
Дивись також: IPTVXtream Codes
-
Xtream Codes
-
Панельний софт, чиє API стало фактичним стандартом. Замість файлу плейліста ти отримуєш адресу сервера, ім’я користувача та пароль, а додаток запитує в панелі канали, фільми, серіали й програму передач.
Компанія, що стояла за цим продуктом, закрилася в 2019 році; API пережило її, бо тисячі провайдерів уже були побудовані на ньому, а їхні клієнти цього очікували. Софт, описаний як «сумісний з Xtream», реалізує саме цей інтерфейс, а не використовує продукт тієї компанії.
Від звичайного плейліста його відрізняють дві корисні речі: каталог приходить у вигляді структурованих даних, а не плаского списку, а панель застосовує обмеження на кількість з’єднань — через що одночасні завантаження і прямий ефір іноді можуть вибивати одне одного.
Дивись також: IPTVПлейліст M3UEPG
-
EPG
електронна програма передач -
Розклад: що зараз на кожному каналі, що далі і що було раніше. Доставляється окремо від самих каналів, зазвичай у вигляді файлу XMLTV.
Програма передач зіставляється з каналами за ідентифікатором, який провайдер присвоює кожному каналу. Коли ці ідентифікатори відсутні або неузгоджені — а таке трапляється часто, — канали не показують інформацію про програму, навіть якщо самі дані програми присутні й коректні.
Повна програма передач великого провайдера сама собою є солідним завантаженням, що охоплює розклад на кілька днів для тисяч каналів.
Дивись також: IPTVПерегляд у записіXtream Codes
-
Перегляд у записі
catch-up, таймшифтинг, архів -
Перегляд того, що вже вийшло в ефір, запитом до сервера провайдера на певний минулий час для конкретного каналу. Існує лише там, де провайдер веде запис; на твоєму пристрої нічого не зберігається.
Там, де це пропонується, додаток може перетворити минулу програму з телепрограми на запит на відповідний часовий інтервал цього каналу. Типові архіви охоплюють кілька днів.
Це повністю можливість провайдера. Додаток не може додати перегляд у записі каналу, у якого його немає, а запис у програмі передач за минулий тиждень не є доказом того, що запис існує.
-
DRM
керування цифровими правами -
Шифрування, яке здатне зняти лише ліцензоване програмне забезпечення для відтворення, використовуючи ключі, отримані з сервера ліцензій. FairPlay на платформах Apple, Widevine на Android і в більшості веб-браузерів.
Потік, захищений DRM, зашифрований від початку до кінця, а ключ видається лише софту, що довів, що дотримуватиметься прикріплених до нього правил: жодного збереження, жодного захоплення екрана, іноді жодного виведення на зовнішній дисплей.
Це не труднощі, які можна обійти, — це працюючий механізм. Будь-який інструмент, що стверджує, ніби завантажує потік, захищений DRM, бреше або про те, що він робить, або про те, чим є цей потік.