Lemmy
Завершено сервіс для роботи з ресурсами
Зробив API для сервіса обробки ресурсів (медіаконтента).
Це найчастіше використовуємий API, який займається обробкою зображень, відео, аудіо, посилань.
Він вирішує проблему приведення файлів до одного формата (webp, mp4, mp3), оптимізації розміра. Також сервіс уніфікує інтерфейс додавання файлів та посилань в пост.
Додав обмеження – розмір файла до 35 мб, навіть якщо файл розташовано на зовнішньому сервері.
Приклад: відео знаходиться на зовнішньому сервері, ви вставляєте URL на це відео в пост, перевіряється розмір файла, якщо він не вписується в ліміт, то відео буде відображено як посилання, яке відкриється в новій вкладці, замість відкриття в плеєрі.
Це необхідно, щоб мати передбачувані часові рамки обробки медіа файла. Тому що, якщо відео буде завеликим, то сервер не зможе його швидко обробити, тим самим запит підвисне, та буде перевитрата процесорного часу. Тому оброблюється все що має невеликий розмір, в інших випадках це буде просто посилання на зовнішній файл.
Кому цікаво, можно подивитися API документацію до цього сервіса:
Сервіс ресурсів — UJournal
documenter.getpostman.com
І було б непогано, якби посилання на великі відео все ж мали якусь візуальну обробку, і на сайті відображались не просто як посилання, а шось типу заблюреного відео. Як наприклад коли вони підвантажуються з постом на ТГ, і там пише шо відео завелике, треба перейти до першоджерела.
Чи воно так і буде відображатись?
@himarstime Великі відео (медіа) це час на вивантаження файла на власний сервер, потім треба його обробити ffmpeg, навіть просто витягти один кадр з відео. Чим більше відео – більше часу це потребує. Зараз я не робив обробку файлів через черги, а роблю прямо при запиті. Тож великі файли поки ні, будуть просто зовнішні посилання.
Але позитивний момент, для відео до 35 мб я роблю скріншот кадру з першої секунди та роблю блюр-маску, яку планую використовувати поки відео ще не завантажилося. Використовую https://evanw.github.io/thumbhash/
@lemmy а хіба якщо відео не почало обробку, з нього не можна скопіювати обкладинку? Зараз наприклад потестив на відосах в тг (тіки там були відоси які не починали автоматично відтворюватись), і там є можливість скопіювати картинку обкладинку. Чи на більшості відео обкладинка це чорний екран?
@himarstime Якщо говорити окремо про Телеграм, то я треба спробувати витягувати картинку з відео (заблюрену), якщо така є. Я просто ще не дішов до цього моменту.
Я поки що в процесі доробки дизайна API вставок.
Прикіл, сів робити домашку з Постманом, і тут пост зі скріном з постмана. Це знак
@himarstime Не бачу алтернатив постману – крутий інструмент. А ще вміє генерувати документацію до API, майже задарма.
А відео на ютубі ж і далі будуть програватись на сайті, чи теж кидатиме на ютуб?
@himarstime Так, відео з ютуба планую і надалі робити плеєром. Доречі, проексперементував з ютуб-плеєром є ідеє робити один плеєр для всіх відео і просто динамічно міняти йому URL при скролі. Є працюючий прототип. Буду далі тестувати, якщо вдасться – це дуже допоможе мати швидкі сторінки. Зараз плеєр ютуба негативно впливає на оцінки продуктивності.
@lemmy в мене айфон і так робить всі відео з одним плеєром (ну майже всі)
@himarstime Так, на айфонах зроблено грамотно – все працює через єдиний плеєр. Але я не впевнений що якщо вставити два відео на сторінку і програвати їх не в повноекранному режимі, то все буде гратися через один плеєр.
Тобто інстансів (елементів
<video>) все одно декілька. А зі вставками з інших сайтів все ще ускладнюється.Відео з ютуба вставляється за допомогою фрейма. Припустимо, що на сторінці 5 відео – це 5 незалежних фреймів, 5 незалежних сторінок, яки тягнуть свої ресурси, запускають свої ізольовані середовища для виконання JS. Все це сильно навантажує сторінку.
@himarstime А ще з єдиним плеєром можно робити автоплей відео (в замьюченому режимі). Практично TikTok/COUB визодить.