Size: a a a

2021 April 29

KS

Kostya Sokolov in ctodailychat
Да, это эпл мюзик
источник

SG

Sania Galimova in ctodailychat
У кого-нибудь в чатике можно поспрашивать про разработку приложений использующие блокчейн  для хранения данных?

Или может посоветуете кого-нибудь?
источник

A

Artur in ctodailychat
@sbekket шарит
источник

SS

Slava Savitskiy in ctodailychat
эппл сакс 😀
источник

SB

Sam Becket in ctodailychat
спрашивай
источник

SG

Sania Galimova in ctodailychat
Спасибо! Я напишу в личку
источник

AN

Anton Nik in ctodailychat
Я несколько лет назад писал скрипт video transcoder'а для mvp, на входе обычный видео файл - на выходе готовый hls, в 360, 480, 720 и 1080, разбитый на 2 секундные фрагменты. 4 плейлиста m3u8 + 1 master playlist. Помню, что я много экспериментировал сначала с ts, насколько я помню, сам ffmpeg может разбивать ts на фрагменты. Получалось нормально, но иногда видео вдруг подвисало на несколько секунд в flowplayer'е - битые кадры. Позже я выяснил, что это был баг ts фрагментера, встроенного в ffmpeg (возможно, что сегодня уже исправлено). Потом экспериментировал с fragmented mp4, благо он официально поддерживается HLS, и тут уже результат лучше, битых кадров больше нет, всё идеально, да и mp4 ощутимо меньше ts. Я пробовал фрагменты 2, 3, 4, 6, 10 секунд. Выявил, что идеально, как ни крути, 2 секунды. Официальные спеки от apple подсказывают неоптимальное значение. С 2 сек фрагментами видео начинает играться максимально быстро, то же самое с перемоткой на любую позицию, независимо от длины видео. Так как чтобы начать его играть, плееру нужно скачать всего лишь первый фрагмент, который будет 50-100 кб. Может, чуть больше. Файлов, правда, получается много. Для разбития mp4 на фрагменты отлично работает bento4 mp4dash с опцией hls. Плюс ещё тогда понадобится bento4 mp4fragment для подготовки mp4 к разбитию. И может понадобиться mp4box для промежуточных операций.
источник

AN

Anton Nik in ctodailychat
Классная книга в тему:
https://streaminglearningcenter.com/video-encoding-by-the-numbers

Там порядком инфы и практических примеров.
источник

Arthur К in ctodailychat
Классно, спасибо
источник

Arthur К in ctodailychat
А как там с нагрузкой на сервер? Отправка большого кол-ва файлов должно съедать много ресурсов сервера
источник

Arthur К in ctodailychat
У меня была мысль как-то это сделать с помощью хедера range, но так и не вышло. Сафари отправляет сразу range на пол файла. А если возвращать меньше контента, то плеер ломается
источник

AN

Anton Nik in ctodailychat
Да, byte range тоже реально работает, я тестил. Один большой файл, без разбиения, а в плейлистах указаны позиции в файле.
источник

AN

Anton Nik in ctodailychat
Просто nginx, отдающий статику... если там реальный ssd nvme, и реальная файловая система, типа btrfs или xfs, то всё отлично будет раздаваться. Легко посчитать, если например, 1 чел смотрит поток 1080p с битрейтом 3 мбит/с, то сервер будет отдавать примерно 375 кбайт/с. Понятно, что там на самом деле переменный битрейт, но примерно можно прикинуть, сколько одновременно смотрящих 1 сервер выдержит. cpu там, по идее,вообще не нужен, но под нагрузкой я не тестил. Нагрузочное тестирование это покажет. Я просто раздавал через cdn :) с vps в качестве origin.

bunny.net - 1 цент за 1 гб :) работает превосходно.
источник

Arthur К in ctodailychat
Попробую посчитать, у меня там скорее много мелких файлов, до 20 мб.
источник

Arthur К in ctodailychat
Но ждать пока загрузится мелкий файл никто не будет)
источник

Arthur К in ctodailychat
Попробую bunny)
источник
2021 April 30

SA

Savitskiy Anton in ctodailychat
Ответ на ваш вопрос - CDN. Если у вас исходник mp4, большинство уже умеет в транскодинг и нарезку HLS, DASH из него с соответствующими настройками.
источник

SA

Savitskiy Anton in ctodailychat
Или сами это сделайте. Уже все написано до нас:https://github.com/kaltura/nginx-vod-module
источник

Arthur К in ctodailychat
Спасибо, но ситуация не так проста как кажется.дело в том, что основным браузером является Safari iOS. У этого браузера сильные ограничения. Dash одно из них.
источник

SA

Savitskiy Anton in ctodailychat
HLS подходит для всех браузеров. Вам просто нужен HTML5 плеер и все. Clappr, например.
источник