Автор выложил весь процесс своих роликов: забрать оттуда можно по одному скрипту
20 сентября 2026 года автор, который публикует по два-три ролика в день, открыл под MIT весь свой производственный процесс - скрипты, правила и замеренные цифры. Что из этого работает у любого монтажёра, почему ни один скрипт не запускается из папки репозитория и как получить субтитры, если озвучиваете своим голосом.
20 сентября 2026 года автор канала с расследованиями выложил под лицензией MIT весь процесс, по которому делает свои ролики: от поиска фактов до текстов под восемь площадок. По его словам, канал выходит по два-три раза в день, а один ролик собрал 700 тысяч просмотров.
Ролики там чужие вам по формату - горизонтальные десятиминутки, синтезированный голос, лица в кадре нет. Ценность в другом: каждый кусок процесса лежит отдельным скриптом или отдельным правилом, и вы берёте один, не трогая остальные. Денег это не стоит: лицензия MIT, скачивается напрямую.
Музыку под голос приглушает скрипт
mix-bgm.sh - двадцать строк, которые кладут музыку под озвучку. Обычно громкость музыки под каждую фразу вы рисуете руками, и на десятиминутном ролике таких точек выходят сотни; здесь их ставит скрипт.
Музыка идёт на 22% громкости, проседает через 20 миллисекунд после начала фразы и возвращается через 350 после её конца; въезд длится 1,5 секунды, выезд - 3,5.
Картинка при этом копируется как есть: перекодируется только звук, поэтому минутный ролик собирается за секунды и качество кадра не меняется.
Готовый файл до выгрузки смотрит машина
qa.py открывает готовый ролик и отвечает списком: размер кадра, частота кадров, длительность, вес файла, ошибки декодирования, чёрные кадры от 0,3 секунды, паузы в звуке длиннее полутора секунд, число субтитров и не вылезает ли последний за конец ролика. Отдельно скрипт нарезает по кадру из каждой сцены на один лист - глазами вы смотрите уже этот лист.
Ориентир по звуку там же: средняя громкость около -16 LUFS, пиковая около -2 dBTP. Дальше автор советует подгонять под нормы той площадки, куда выкладываете.
Замеренные цифры действительно замеренные
Автор пишет, что числа в документации получены опытом. Я прогнал его же выложенный ролик через ту самую проверку и через замер громкости.
ffmpeg -i sample-preview.mp4 -vf blackdetect=d=0.3:pix_th=0.06 \ -af silencedetect=n=-45dB:d=1.5 -f null - ffmpeg -i sample-preview.mp4 -af ebur128=peak=true -f null -
Результат: ни одного чёрного кадра, ни одной паузы длиннее полутора секунд, средняя громкость -16,2 LUFS при обещанных -16, пик -1,8 при обещанных -2. Своё же правило он держит с точностью до десятых.
Сколько секунд надпись обязана висеть
Эта часть процесса переносится в любой монтаж и не требует ни одного скрипта. Время автор считает с того момента, когда текст полностью встал и перестал двигаться: анимация появления и ухода в счёт не идёт.
Короткая надпись в углу - от 2,5 до 3 секунд.
Целая фраза - от 4 секунд и дальше по числу знаков.
Скриншот-доказательство - около 5 секунд после того, как он встал, весь кадр обычно выходит на 8-9.
Итоговое число - от 3 секунд.
И запрет: не хватает голоса под кадр - режьте текст или удлиняйте сцену. Ужимать доказательство с восьми секунд до трёх нельзя.
Скрипты работают только из папки вашего ролика. Субтитры на своём голосе собираются другой командой.
Каждый ролик там - отдельная папка проекта, и скрипты ищут файлы рядом с собой. Запустите
qa.pyилиmix-bgm.shиз репозитория - получите «не найден renderer/...», и это задумано так. Сначала копируете скрипт в папку своего ролика, потом запускаете оттуда.Субтитры автор получает от синтеза речи: китайский Volcengine возвращает начало и конец каждого символа в миллисекундах, и распознавание ему не нужно вовсе. На своём голосе приём остаётся, времена для него даёт разбор записи, и запасной путь под это в скрипте уже прошит: нет времён от синтеза - берёт разбор Whisper. Как это выглядит на деле - в разделе ниже.
Свой голос: времена даёт разбор записи
Приём с субтитрами переносится целиком, меняется в нём один источник времён. У автора их отдаёт синтез речи. Если ролик наговорен своим голосом, те же времена достаёт Whisper - бесплатная программа распознавания речи, работающая прямо на вашем компьютере. Её просят вернуть каждое слово отдельной строкой, с началом и концом.
whisper-cli -m ~/whisper-models/ggml-large-v3-turbo.bin \ -f audio.wav -l ru -ml 1 -sow -ojf
Работают тут три ключа: -ml 1 режет разбор на отрезки длиной в одно слово, -sow держит слово целым и не даёт разорвать его посередине, -ojf кладёт результат в файл JSON - оттуда времена и забирает скрипт монтажа.
Я прогнал так свою запись на 54 секунды: 120 слов с границами в миллисекундах, шесть секунд работы. «Опыт» - с 0,00 по 0,32 секунды, «вижу» - с 1,44 по 1,58, «проблему» - с 1,58 по 2,30; медиана длины слова вышла 375 миллисекунд. Модель ggml-large-v3-turbo весит 1,5 гигабайта и скачивается один раз, дальше считает сам компьютер, и каждый следующий разбор бесплатный.
Огрехи в разборе есть, и видно их сразу: первое слово записи потерялось - в начале файла стоит отрезок нулевой длины; «вайб-кодинг» разъехалось на два слова; «телеграм» записалось латиницей. Правится это руками в готовом файле: границы там уже проставлены, меняется одно написание.
Из программ понадобятся ffmpeg, yt-dlp, Node и Python с Pillow. Платная часть тут одна - тот самый китайский синтез речи, и он живёт в двух отдельных файлах, которые меняются на свои.
Документация целиком на китайском, английской нет. Репозиторий вышел 20 сентября 2026 года и собрал 58 звёзд - чужого опыта работы с ним пока просто нет, а правила и цифры внутри проверяются на своём ролике за один вечер.