Серия «Дневник разработки Youtube»

250

Открыл регистрацию в свой ютуб для всех

Всем привет!
Благодарю за ОГРОМНОЕ количество человек, отписавшихся в бота и заваливших вопросами до НГ 😅
Докладываю новости: поборол проблемы с загрузкой роликов с Ютуба, готов открыть регистрацию для всех желающих

Что позволяет: сохранять историю просмотра, импортировать ролики с Ютуба, не дожидаясь пока до них дойду я. Особенно актуально, если у вас есть например детский плейлист, который особо не меняется или набор музыки

Как работает:

1. Копируем URL видео с ютуба

2. Идем на https://ricktube.ru

3. Тыкаем на "Создать учетную запись"

Проходим по шагам, заполняем поля

4. Тыкаем "Опубликовать" справа сверху

5. Вставляем на вкладке "Импортировать с URL"

6. Смотрим, что подтянулось из описания, сохраняем

7. Видим видео у себя в роликах:

8. Нажимаем, смотрим

Другие посетители сайта смогут увидеть ваше видео после ручного одобрения мной, пока так, чтобы например для всех порно не загрузили, для вас ваше же видео доступно для вас сразу.
Работает с ПК и с мобильных устройств

Напоминаю контакты:
Демо можно посмотреть здесь: https://ricktube.ru/
тг бот, в котором можно общаться с разработчиком(то бишь мной): https://t.me/noslowyoutube_bot

Также буду крайне признателен, если вы поддержите этот пост и поднимете его рейтинг. Это очень поможет мне получить обратную связь и улучшить проект. Ваши комментарии и предложения будут неоценимы по мере того, как я продолжаю работу.

Показать полностью 6
34

Разрабатываю плеер для просмотра Ютуба без задержек: готова демо-версия!

Всем привет и всем огромное спасибо за кучу обратной связи и откликов в тг боте!

Кратко: Демо можно посмотреть здесь: https://ricktube.ru/
Просмотр доступен для всех без регистрации, впн и любых телодвижений
Выкладывать видео можно только после регистрации, открою ее чуть позже

Сейчас просьба заценить загруженные видео и отписаться, быстро ли грузит, насколько удобно пользоваться и есть ли пожелания
Пользоваться можно в веб-версии на пк и в мобильной версии
Ссылка на предыдущий пост:
Разрабатываю плеер для просмотра Ютуба без задержек — присоединяйтесь к тестированию!
тг бот, в котором можно общаться с разработчиком(то бишь мной): https://t.me/noslowyoutube_bot

Краткая часть закончена, дальше мини-история о том, с чем столкнулся, как работает сейчас и о планах на будущее
------------

Во-первых, технология, которая может получать данные не только с серверов, но с клиентов, проигрывающих видео в данный момент опробована. Написал простой код, зашел с двух клиентов, один загрузил видео с сервера - другой частично с клиента, частично с сервера. Налицо вариант для оптимизации нагрузки на сеть и на инфраструктуру.
Раньше: каждый клиент из Челябинска бегает до мск за видео.
Сейчас: бегает только первый клиент, остальные получают пакеты по кусочкам от самого ближайшего и выгодного места. Работает тем лучше, чем больше людей смотрят одно видео, как пример трансляции спорта.

Факт 2: Пообщавшись в комментах к предыдущему посты и порыскав самостоятельно в сети, нашел варианты реализации этой технологии, которые можно дорабатывать. Тут начинается самое веселое :)

Факт 3. Финалиста вы можете видеть по ссылке https://ricktube.ru/. Самый достойный вариант из всех. НО! Все еще очень проблемный и требующий постоянного дописывания/дочинивания
Например уже пришлось пересобрать с поддержкой обработки на видеокартах, иначе очень тяжело обрабатывает

Итак, что есть на данный момент:
1. Интерфейс, привычный как у Ютуба
2. Проигрыватель, привычный с Ютуба
3. Панель рекомендаций, привычная с Ютуба
4. Возможность смотреть без регистрации, впн и провисаний
5. Возможность делиться видео с друзьями
6. Возможность скачивать видео прям с сайта
7. Комментарии, лайки, дизлайки, плейлисты, выбор качества, автоподстройка качества
8. В мобильной версии перемотка двойным тапом на экран справа или слева
В общем довольно классно :)
Основная проблема сейчас - видео нужно импортировать с Ютуба руками. Происходит в 3 этапа
1. Вы нажимаете на кнопку "Опубликовать" справа сверху
2. Вставляете ссылка на видео с Ютуба
3. Сайт грузит метаданные (название, описание, тэги) - правите, если надо, жмете ок.
4. Сайт загружает в фоне видео с Ютуба на сервер - можно смотреть (будет пометка, что видео неоптимизированно, возможны просадки, загрузка будет только с сервера)
5. Сайт в фоне перекодирует из mp4 в HLS (спец. формат для стриминга) - можно смотреть еще быстрее, теперь передача возможна от клиента к клиенту, пометка убрана
6. Сайт перевозит транскодированный файл в более быстрое хранилище для еще более шустрого доступа
По таймингам:
видео <30 мин: импорт (можно смотреть): 2 мин, перекодировка: 7 мин
видео 1-2ч: импорт (можно смотреть): 10 мин, перекодировка: 15 мин
видео 2ч+: импорт (можно смотреть): 15 мин, перекодировка: 18 мин
Процесс делается один раз, если вы или другой пользователь сайта откроете видео - все уже будет оптимизировано для просмотра
Выглядит окно так:

Внизу указаны скорость скачивания и отдачи и количество человек, просматривающих вместе с вами

Внизу указаны скорость скачивания и отдачи и количество человек, просматривающих вместе с вами

Основные проблемы сейчас: корявость решения из интернета, постоянно зависают задачи обработки и импорта, взаимоблокируются на ровном месте, приходится вычищать их руками
Поэтому, а так же из-за желания контроля за ростом видео (чтобы не легло все в моменте) авторизацию и возможность загружать видео пока не открыл, скоро будет
Сейчас активно переписываю систему очередей для процессов импорта, кодирования и складывания в хранилище
Вторая проблема: ускорить бы процесс импорта, чтоб можно было смотреть еще раньше от момента загрузки по ссылке. Здесь проблема в том, что язык, на котором написан сервер (и скачивание с ютуба) однопоточный по сути, буду переписывать на другом, подходящем для скачивания в несколько потоков
Третья проблема: нужно железо для разового транскодинга всех загруженных видео, пока думаю. Был вариант оптимизации, чтоб не кодировать, а просто маркировать сегменты одного видео, но не взлетело, думаю дальше

Следующие цели такие:
1. Открытие регистрации и возможности загружать/импортировать свои видео
2. Добавить поддержку Chromecast и AirPlay, чтоб можно было смотреть на телевизорах
3. Переписать серверную часть, сделав ее масштабируемой
4. Добавить возможность сквозного поиска из ютуба и прозрачного просмотра (если уже загружено - открыть с сервера, если еще нет - скачивания из ютуба на сервер и прямая трансляция клиенту, чтоб не ждал)

Буду рад предложениям и дискуссиям в комментариях, постараюсь ответить на все вопросы.
Если у вас есть пожелание добавить какой-то обширный кусок видео (например включаете сказки детям на ночь или слушаете плейлист музыки) - пишите, постараюсь в краткие сроки все организовать
Также буду крайне признателен, если вы поддержите этот пост и поднимете его рейтинг. Это очень поможет мне получить обратную связь и улучшить проект. Ваши комментарии и предложения будут неоценимы по мере того, как я продолжаю работу.

Напоминаю контакты:
Демо можно посмотреть здесь: https://ricktube.ru/
тг бот, в котором можно общаться с разработчиком(то бишь мной): https://t.me/noslowyoutube_bot

Пасхалка для тех, кто дочитал до конца, мой сервак, который обрабатывает и будет обрабатывать то, что вы смотрите:

Показать полностью 2
235

Разрабатываю плеер для просмотра Ютуба без задержек — присоединяйтесь к тестированию!

Привет, пикабушники!

Только что зарегистрировался, раньше был читателем, но сейчас есть чем поделится

Как и многие, я столкнулся с проблемами, связанными с просмотром видео на YouTube в связи с недавними событиями и замедлением работы площадки на территории РФ. Частые зависания и порезанное качество очень сильно портят впечатление от просмотра. Отдельные соболезнования тем, кто сидел на подписке Premium

Основная проблема - сервера не успевают за возросшей нагрузкой и обновлять их никто не будет (по крайней мере в ближайшее время)

Появилась идея написать отдельный плеер, который будет работать по принципу, похожему на торренты. Это означает, что пользователи будут одновременно получать и передавать куски видео, что позволит значительно улучшить скорость загрузки и уменьшить нагрузки на серверы. Такой подход поможет обойти проблемы с плохой инфраструктурой, особенно в регионах и так далеких от существующей инфраструктуры.

Пока основной сценарий, который сейчас в разработке - вставить ссылку на видео на странице нового плеера, посмотреть видео без лагов и в норм качестве. Если будет удобнее, чем сейчас, буду расширять функциональность

Буду очень рад, если найдутся добровольцы протестировать, что получится :)
Собрал для этих целей тг бота, который пришлет уведомление всем, кто оставит заявку на альфа-тестирование
https://t.me/noslowyoutube_bot

Также буду крайне признателен, если вы поддержите этот пост и поднимете его рейтинг. Это очень поможет мне получить обратную связь и улучшить проект. Ваши комментарии и предложения будут неоценимы по мере того, как я продолжаю работу.



UPD: Напрягал ввод телефона в боте, удалил, осталась только опциональная почта, ее можно пропустить. Введенные ранее телефоны почистил
В целом для работоспособности достаточно нажать /start в боте, но для статистики реально откликнувшихся, если не сложно, нажимайте пожалуйста кнопку "Подать заявку", можно пропуская ввод емейла

Показать полностью
Отличная работа, все прочитано!