Меня ужасно расстраивало, как долго ютуб ворочает видео, когда загружаешь ему записи прямого эфира, сделанные Open Broadcaster Software во время вещания на Twitch. Часовую запись ковыряет минут сорок, и потом выдает только видео с минимальным качеством в 360p, а обработки 720p приходится ждать часами.
Потом я обратил внимание на сообщение, которое ютуб выдает после окончания загрузки ролика, в процессе его обработки.
Он там просит включить Fast Start (быстрый старт) для кодека H.264. Фаст старт этот делается переносом метаданных из конца файла в начало. Вчера поковырял настройки кодирования в OBS, не нашел. Покурил мануалы консольных команд x264, не нашел.
Сегодня я еще раз погуглил и нашел замечательную маленькую программулю qt_faststart (qt — это QuickTime, изначально программа предназначалась для контейнеров *.mov). Консольная, весит 23 Кб. Файл *.mp4 любой длины обрабатывает считанные секунды. И самое главное, что youtube радуется обработанным видео как ребенок! Обрабатывает влёт!
Сейчас для теста загрузил кусок стрима в полчаса длиной. Ютуб его три минуты всего обрабатывал! Три минуты и мы имеем отредеренными все доступные разрешения: от 144p до 720p. Три минуты, сука! Три минуты вместо 2-3 часов ожидания, когда для видео будет доступно высокое разрешение.
Сегодня счастливейший день в моей жизни.
Теперь записи стримов будут появляться на ютубе спустя 10-15 минут после эфира. Ну, пока я там описание напишу, пока пост в группе оформлю, то-сё…