Я делаю Voicepad, и по опыту сложность с видео обычно не в распознавании, а в том, как довезти ролик до сервиса: файл слишком тяжёлый, ссылку некуда вставить, а субтитры нужны отдельным файлом. Ниже по шагам: как сделать транскрибацию видео из файла и по ссылке, как забрать текст с таймкодами и SRT и что делать, если видео не помещается в лимит.
Что нужно на входе: файл или ссылка
Распознавание речи работает со звуковой дорожкой, картинка ему не нужна. Поэтому на входе подойдёт один из двух вариантов.
- Файл: ролик с телефона, запись созвона, скачанная лекция. Его загружают на сайт или отправляют боту в Telegram.
- Ссылка: ролик уже опубликован. Бот принимает ссылки на YouTube, VK Видео, RuTube и TikTok. На сайте ссылку можно вставить после входа через Telegram, там подходят ещё Vimeo, Дзен, OK и Twitch, если у ролика известна длительность. Скачивать видео не нужно.
| Что у вас есть | Куда отправить | Ограничения |
|---|---|---|
| Короткий файл, хочется просто попробовать | Сайт без входа | 3 расшифровки в день, файл до 50 МБ, по одной за раз; у записи длиннее 3 минут расшифруются первые 3 минуты |
| Файл до 200 МБ на компьютере или телефоне | Сайт после входа через Telegram | Запись до 3 часов, минуты с того же баланса, что в боте |
| Видео, кружочек или аудио уже в Telegram | Бот @Voicepad_bot | Файл до 20 МБ, запись до 3 часов |
| Ролик на YouTube, VK Видео, RuTube или в TikTok | Ссылка боту или на сайт после входа | Запись до 3 часов |
| Файл больше 200 МБ | Сначала извлечь звук, потом на сайт | Как это сделать, ниже в разделе про большие видео |
После входа через Telegram баланс у сайта и бота общий: 15 бесплатных минут каждый месяц, дальше пакеты 60 минут за 199 ₽, 300 минут за 690 ₽ и 1000 минут за 1990 ₽. Оплата картой через Tribute, купленные минуты не сгорают, списывается только реальная длительность записи. Речь распознаёт ElevenLabs Scribe v2, язык записи определяется автоматически, выбирать его не нужно. Что именно бесплатно, подробно разобрано в инструкции транскрибация аудио в текст онлайн.
Видео с компьютера или телефона
- Откройте транскрибацию видео прямо в браузере. Для первой пробы регистрация не нужна.
- Загрузите файл. На том же экране можно записать голос с микрофона, а после входа через Telegram и вставить ссылку на видео.
- Дождитесь текста и заберите его: скопируйте или скачайте в TXT, SRT или DOCX.
Без входа сайт работает как проба: три расшифровки в день, файл до 50 МБ, по одной за раз, а у записи длиннее 3 минут расшифруются первые 3 минуты. Этого хватает, чтобы проверить, как распознаётся именно ваш звук: лектор у доски, созвон с плохим микрофоном, интервью на улице. Для полной записи войдите через Telegram: лимит файла вырастает до 200 МБ, длина записи до 3 часов, становятся доступны ссылки, а минуты списываются с того же баланса, что и в боте.
Из Telegram то же самое делается через бота @Voicepad_bot: перешлите ему видео, кружочек или аудиофайл. Здесь ограничение жёстче, 20 МБ на файл. Это лимит не наш, а Telegram: в документации Bot API сказано, что бот может скачать файл размером не больше 20 МБ. Поэтому длинную запись удобнее загружать на сайт, а боту отправлять короткие ролики и ссылки.
Какой файл у вас на руках
Сайт и бот принимают аудио и видеофайлы, но перед загрузкой полезно понимать, что именно вы отправляете.
- Видео с iPhone. Apple рекомендует снимать в форматах HEIF и HEVC, это режим «Высокоэффективный». В настройках «Камера», «Форматы» можно выбрать «Наиболее совместимый», и новые видео будут в H.264. По словам Apple, HEVC сжимает лучше H.264, поэтому такие файлы занимают меньше места при том же качестве картинки. Если файл всё равно не проходит по размеру, вытащите из него звук, как описано ниже.
- Записи Zoom. При локальной записи Zoom сохраняет видео MP4 и отдельный аудиофайл M4A (так описано в справке Иллинойсского университета). Для расшифровки берите M4A: речь в нём та же, а картинки нет, поэтому он легче видео.
- Всё остальное. Если файл в редком формате не принимается или весит слишком много, проще всего вытащить из него звук. Как это сделать бесплатно, разобрано ниже.
Видео по ссылке: YouTube, VK, RuTube
Если ролик уже опубликован, скачивать его не нужно. Лимит 20 МБ касается файлов, которые идут через Telegram, а для ссылки важна длительность записи: до 3 часов. Есть два способа.
- В боте. Откройте @Voicepad_bot в Telegram и пришлите ссылку обычным сообщением. Подходят ролики с YouTube, VK Видео, RuTube и TikTok.
- На сайте. Вставить ссылку можно только после входа через Telegram: кроме этих четырёх площадок там подходят Vimeo, Дзен, OK и Twitch, если у ролика известна длительность. Без входа на сайте доступны запись голоса и загрузка файла.
Честно про YouTube: если у ролика есть субтитры, текст можно бесплатно посмотреть прямо там. В описании видео есть кнопка «Показать текст видео», расшифровка прокручивается вместе с роликом, а нажатие на строку переносит к нужному моменту. Автоматические субтитры YouTube поддерживают и русский язык, но сам YouTube предупреждает, что из-за произношения, акцента, диалекта или посторонних шумов в них бывают ошибки, и советует авторам такие субтитры проверять.
Voicepad пригодится, когда субтитров у ролика нет, когда важно, кто что сказал (реплики размечены по спикерам), когда нужен файл SRT или DOCX, а не текст в окне плеера, или когда из записи надо сделать краткое содержание, список задач или пост. Подробнее про каждую площадку: видео с YouTube в текст и конспект с главами и видео из VK Видео и RuTube в текст.
Текст с таймкодами и субтитры SRT
Бот присылает текст с таймкодами и метками спикеров. Под каждой расшифровкой в боте доступны краткое содержание, список задач, статья, пост, вопросы к записи и экспорт в DOCX, TXT и SRT. На сайте результат можно скопировать или скачать. Какой формат для чего:
| Формат | Где есть | Для чего |
|---|---|---|
| TXT | Сайт и бот | Простой текст: вставить в заметки, письмо или документ |
| DOCX | Сайт и бот | Документ для Word или Google Docs: отредактировать и отправить коллегам |
| SRT | Сайт и бот | Субтитры: загрузить к ролику на YouTube или поправить вручную |
SRT устроен просто, поэтому его легко проверить глазами. Каждая реплика состоит из порядкового номера, строки с временем начала и конца в формате часы:минуты:секунды,миллисекунды (например, 00:00:04,160) и самого текста, а между репликами стоит пустая строка. YouTube принимает SRT с оговорками: только базовый вариант без оформления и только в кодировке UTF-8. Открыть и исправить такой файл можно в любом текстовом редакторе.
Перед публикацией проверьте имена, названия и термины: исправить слово в SRT проще, чем перезаливать видео с вшитыми субтитрами. Подробнее о формате и загрузке в инструкции субтитры SRT из видео и аудио.
Когда видео слишком большое
Лимиты такие: 20 МБ на файл в боте, 50 МБ на сайте без входа и 200 МБ после входа через Telegram. Если ваш файл больше, есть несколько выходов, от самого простого к самому трудоёмкому.
Отправить ссылку вместо файла
Если видео уже лежит на YouTube, VK Видео, RuTube или в TikTok, размер файла не важен, важна только длительность (до 3 часов): отправьте ссылку боту или вставьте её на сайте после входа.
Вытащить звук через FFmpeg
FFmpeg бесплатный (лицензия LGPL, отдельные необязательные модули под GPL) и работает из командной строки. Первая команда отбрасывает видео и копирует звуковую дорожку без перекодирования, поэтому выполняется быстро и без потери качества:
ffmpeg -i lekciya.mp4 -vn -c:a copy lekciya.m4a
Ключ -vn отключает видео, -c:a copy копирует звук как есть. Документация FFmpeg предупреждает, что такое копирование срабатывает не всегда. Если команда ответит ошибкой, перекодируйте звук:
ffmpeg -i lekciya.mp4 -vn -c:a aac -ac 1 -b:a 64k lekciya.m4a
Здесь -c:a aac выбирает встроенный AAC-кодер FFmpeg, -ac 1 сводит звук в моно, а -b:a 64k задаёт битрейт 64 кбит/с. Размер легко посчитать: 64 кбит/с равны 8 КБ в секунду, то есть около 0,5 МБ в минуту. Час записи займёт примерно 29 МБ, три часа около 86 МБ, так что даже самая длинная запись помещается в лимит сайта после входа, 200 МБ. В 20 МБ для бота при таком битрейте влезает около 40 минут, при 32 кбит/с около 80 минут. Я бы начинал с 64k и снижал битрейт, только если файл не помещается. Таймкоды считаются от начала записи, а длина дорожки при извлечении остаётся прежней, поэтому SRT, сделанный по звуку, обычно ложится на исходное видео без сдвига. Перед публикацией всё же сверьте пару реплик в начале и в конце.
Без командной строки: VLC
Бесплатный плеер VLC с открытым исходным кодом умеет то же самое через меню. По инструкции kod.ru в русской версии это выглядит так (в разных версиях VLC названия пунктов могут немного отличаться): откройте «Медиа», затем «Конвертировать/сохранить», нажмите «Добавить», выберите видео и снова нажмите «Конвертировать/сохранить». В поле «Профиль» выберите аудиопрофиль MP3 (его название начинается со слова Audio), укажите папку и имя файла с окончанием .mp3 и запустите конвертацию. Готовый файл загружайте на сайт или отправляйте боту.
Если нужен именно видеофайл: HandBrake
Когда хочется сохранить картинку, например чтобы потом наложить субтитры, видео можно пережать в бесплатном HandBrake, он работает на Windows, macOS и Linux. Нажмите «Open Source» и выберите ролик, в группе пресетов General возьмите вариант Very Fast с низким разрешением, например Very Fast 480p30, и нажмите «Start». В документации HandBrake у этого пресета указаны очень быстрое кодирование, небольшой размер файла и среднее качество картинки, для расшифровки этого достаточно. Таймкоды в SRT записаны во времени, а не в кадрах, поэтому смена частоты кадров их обычно не сдвигает, но пару реплик всё равно стоит сверить.
Частые вопросы
Можно ли сделать транскрибацию видео бесплатно?
Да, с ограничениями. На сайте без входа доступны 3 расшифровки в день, но у записи длиннее 3 минут распознаются только первые 3 минуты. В боте и на сайте после входа через Telegram каждый месяц начисляется 15 бесплатных минут. Если у ролика на YouTube уже есть субтитры, текст можно бесплатно открыть в самом YouTube кнопкой «Показать текст видео».
Какой максимальный размер видеофайла?
Боту в Telegram можно отправить файл до 20 МБ, это ограничение самого Telegram. На сайте без входа принимаются файлы до 50 МБ, после входа через Telegram до 200 МБ. Длина записи до 3 часов. Если файл больше, извлеките из него звук: час речи в моно с битрейтом 64 кбит/с весит около 29 МБ.
Нужно ли скачивать видео с YouTube, чтобы получить текст?
Нет. Отправьте ссылку боту @Voicepad_bot: он принимает ролики с YouTube, VK Видео, RuTube и TikTok длиной до 3 часов. На сайте ссылку можно вставить после входа через Telegram, там подходят ещё Vimeo, Дзен, OK и Twitch.
Как получить субтитры SRT из видео?
После распознавания скачайте файл SRT: на сайте он лежит рядом с TXT и DOCX, в боте экспорт доступен под каждой расшифровкой. YouTube принимает SRT в базовом варианте в кодировке UTF-8, поэтому файл можно загрузить к ролику, предварительно проверив имена и термины.
Хранит ли Voicepad запись после расшифровки?
Нет, видео и аудио удаляются сразу после распознавания. Готовые расшифровки в боте хранятся 30 дней, команда /delete удаляет их сразу.
Другие инструкции
- Видео с YouTube в текст и конспект: ссылка на вход, текст с таймкодами и главы на выход.
- Видео из VK Видео и RuTube в текст: ссылки VK, RuTube и TikTok принимаются так же, как YouTube.
- Субтитры SRT из видео: файл или ссылка на вход, файл субтитров с таймкодами на выход.
- Транскрибация аудио в текст онлайн: что на самом деле значит «бесплатно» и где заканчиваются 15 минут.
Источники
- Telegram Bot API: getFile
- Apple: медиафайлы HEIF и HEVC
- University of Illinois: локальная запись Zoom (англ.)
- YouTube: как посмотреть расшифровку видео
- YouTube: автоматические субтитры
- YouTube: поддерживаемые форматы субтитров (англ.)
- FFmpeg: документация ffmpeg (англ.)
- FFmpeg: кодеки (англ.)
- FFmpeg: лицензия (англ.)
- VideoLAN: VLC
- kod.ru: как извлечь звук из видео
- HandBrake
- HandBrake: Quick start (англ.)
- HandBrake: Official presets (англ.)