RSS Telegram YouTube Apple Яндекс Spotify Amazon Почта

85. Delivering Terabytes of Video

19.01.2025

Скачать

К списку выпусков

Ссылки выпуска:

Пару мыслей в процессе рефакторинга

Уменьшение scope переменных. Чем ближе объявление переменной к её использованию, тем легче читается код. Представим пограничный сценарий, в котором переменная в большой функции объявлена на первой строке, а используется на 500ой, 1000ой и 2000ой. При чтении такого кода нужно всегда держать в уме эту переменную и вспомнить о ней спустя значительное количество строк кода.

Дешевая раздача видео

Автор курсов по PostgreSQL Aaron Francis поделился в своем блоге как он дешево раздает видео в 4К. Хранятся его видео в Cloudflare R2, S3-API совместимое облачное хранилище, с высоким бесплатным ярусом на раздачу и бесплатным исходящим трафиком: платишь за хранение 15центов в месяц за Гб. И если не вываливаешься за 10e6 запросов в месяц, то это всё. Готовые сервисы предоставляют обширный функционал, но и берут немало: Vimeo за аналогичные 15Тб отданного видео возьмет с вас ~USD1500 (согласно автору статьи).

Адаптивный стриминг (adaptive bitrate streaming) реализован через HLS. Для его работы видео нужно разбить на файлы по 3-8Мб, с разным разрешением и сформировать манифест файл (m3u8). Т.к. Cloudflare поддерживает S3 API, то для загрузки можно использовать любой совместимый инструмент, например, rclone.

На клиенте можно использовать hls.js, указав ему ссылку на .m3u8 файл.