AiSrt: переводите, извлекайте и расшифровывайте субтитры с помощью искусственного интеллекта
Бесплатный инструмент, который делает видео доступными на 29 языках для глухих, слабослышащих и всех любителей многоязычного контента
У вас есть видео с субтитрами на английском, и вы хотели бы получить их на французском, испанском, арабском или японском? Или фильм без единого субтитра, из которого вы хотели бы извлечь .srt ? Именно для этого я и написал AiSrt.
AiSrt это инструмент командной строки, который использует ИИ, чтобы переводить ваши файлы субтитров .srt, извлекать дорожки, уже встроенные в ваши видеофайлы, и расшифровывать аудио из видео прямо в субтитры. Все три функции в одном бинарном файле.
Для перевода на выбор есть пять движков. API OpenAI, Anthropic (Claude), Google (Gemini) и xAI (Grok) стоят несколько центов за фильм. Или сервер Ollama, который работает на вашем собственном компьютере: бесплатно, офлайн, без ключа, без аккаунта. Ваши субтитры не покидают ваш жёсткий диск.
А если в видео нет субтитров, AiSrt обращается к Whisper, модели распознавания речи от OpenAI, которая сама превращает аудиодорожку в .srt. Честно говоря, когда я впервые увидел, как часовая конференция превращается в видео с субтитрами без того, чтобы я набрал хоть одну строчку, меня это тронуло.
Новинка этой версии: субтитры с Blu-ray, которые являются не текстом, а изображениями, теперь тоже читаются. AiSrt декодирует их, передаёт движку распознавания символов, а затем отдаёт результат ИИ на повторную проверку. Ниже я ещё к этому вернусь, это та часть, которой я больше всего доволен.
Зачем нужен AiSrt?
- Сначала доступность. Глухие и слабослышащие люди заслуживают простого доступа к видеоконтенту. Создание и перевод субтитров должны занимать несколько минут, а не целый вечер.
- 29 языков. Арабский, немецкий, английский, китайский, корейский, датский, испанский, финский, французский, греческий, хинди, иврит, венгерский, индонезийский, итальянский, японский, малайский, нидерландский, норвежский, польский, португальский, румынский, русский, шведский, чешский, тайский, турецкий, украинский и вьетнамский.
- Перевод, который понимает контекст. В этом и есть вся разница с переводчиком слово в слово: идиомы, юмор и игра слов передаются гораздо лучше.
- Три функции в одном инструменте: перевод, извлечение, расшифровка.
- Даже субтитры, которые являются изображениями. Дорожки PGS с Blu-ray читаются с помощью распознавания символов, а затем проверяются ИИ, чтобы исправить то, что OCR распознал неправильно.
- Пять движков перевода на выбор. OpenAI, Claude, Gemini, Grok или Ollama, с вашим собственным ключом, который можно сменить одной настройкой.
- Бесплатно и офлайн, если хотите. Если Ollama установлен на вашем компьютере, перевод ничего не стоит, не требует ключа и никуда ничего не отправляет. Удобно для контента, который вы не хотите пропускать через сторонний сервис.
- Ничего не нужно устанавливать отдельно. Бинарный файл автономен, скачивать среду выполнения .NET не нужно, всё уже внутри. А ffmpeg и whisper.cpp автоматически загружаются в Windows и Linux в тот момент, когда они нужны.
- Ускорение NVIDIA в Windows. Если AiSrt обнаруживает вашу видеокарту, он переключается на CUDA-версию whisper, и расшифровка идёт заметно быстрее.
Установка
Требования
На самом деле ничего обязательного. Извлечение и расшифровка работают без ключа, без аккаунта и без отправки чего-либо куда-либо.
Для перевода вам понадобится ключ одного из четырёх платных сервисов (OpenAI, Anthropic, Google или xAI), либо Ollama, установленный на вашем компьютере, который бесплатен и работает офлайн. В двух следующих разделах объясняется и то и другое, выбирайте тот вариант, который вам подходит.
Только в одном случае понадобится дополнительный инструмент: если субтитры являются изображениями. Тогда нужен Tesseract, который вы устанавливаете самостоятельно. Одна команда, и вопрос навсегда закрыт.
Среду выполнения устанавливать не нужно: каждый архив содержит автономный исполняемый файл для вашей системы.
- Скачайте ниже архив, который соответствует вашей машине: Windows x64, Linux x64 или macOS (Apple Silicon M1 à M4, или Intel x64).
- Распакуйте его в нужную вам папку.
- Необязательно : добавьте эту папку в переменную окружения
PATH, чтобы вызывать aisrt из любого терминала.
В macOS, если система отказывается запускать бинарник, откройте Терминал в этой папке и выполните chmod +x aisrt, затем xattr -cr aisrt. Сборки macOS подписаны и нотариально заверены, так что, в принципе, вам это не понадобится.
Ключ API у выбранного вами сервиса
Ещё раз : это только для перевода.
- Зайдите на platform.openai.com и создайте аккаунт или войдите в него.
- Откройте API Keys через меню своего профиля в правом верхнем углу.
- Нажмите Create new secret key.
- Дайте ему название, например AiSrt, и подтвердите.
- Скопируйте ключ сразу, больше он никогда не отобразится.
- Вставьте его в
appsettings.json, вместо "OPENAI_KEY" :
{
"OpenAI": {
"ApiKey": "sk-votre-cle-api-ici",
"Model": "gpt-5-mini",
"Temperature": 1
}
}
Этот файл находится рядом с исполняемым файлом. После установки AiSrt он читается из %LOCALAPPDATA%\AiSrt\appsettings.json в Windows и из ~/.config/aisrt/appsettings.json в Linux и macOS.
Совет : вы также можете хранить ключ отдельно в файле .env. Добавьте "UseSecretEnvFile": true в appsettings.json, укажите путь к файлу и запишите в него строку OPENAI_KEY=sk-votre-cle-api-ici. Именно так я делаю у себя дома, это позволяет не таскать свой ключ в конфигурационном файле, которым делишься не глядя.
Стоимость : OpenAI взимает плату за использование, а один субтитр потребляет совсем немного. На целый фильм с gpt-5-mini уйдёт несколько центов.
А если вы предпочитаете Claude, Gemini или Grok
С этой версии OpenAI больше не единственный платный сервис. Ещё три делают ровно ту же работу с вашим собственным ключом: Anthropic для Claude, Google AI Studio для Gemini и xAI для Grok. Везде всё одинаково: вы создаёте аккаунт, генерируете ключ и вставляете его в appsettings.json.
У каждого сервиса есть свой раздел с уже заполненной моделью по умолчанию:
{
"Translation": { "Provider": "anthropic" },
"Anthropic": { "ApiKey": "sk-ant-votre-cle", "Model": "claude-haiku-4-5" },
"Gemini": { "ApiKey": "votre-cle", "Model": "gemini-3.6-flash" },
"Xai": { "ApiKey": "xai-votre-cle", "Model": "grok-4.5" }
}
А чтобы попробовать сервис, не трогая файл, есть опция --provider:
aisrt "film.srt" -t fr --provider anthropic
aisrt "film.srt" -t fr --provider gemini
aisrt "film.srt" -t fr --provider grok
Поддерживаются привычные названия, так что claude, google, grok и gpt работают так же хорошо, как официальные названия. Я добавил их, потому что сам путал их в одном случае из двух.
Одна деталь, которая стоила мне целого вечера: каждый сервис принимает два названия переменной окружения для своего ключа, например ANTHROPIC_API_KEY или CLAUDE_API_KEY. Я заполнил свой файл .env названием модели, а не названием компании, и AiSrt вежливо объяснял мне, что мой ключ отсутствует. Он был на месте, просто под названием, которое программа не проверяла.
И последнее, это касается всех четырёх: если ключ неправильный, если на аккаунте нет денег или если модели не существует, AiSrt сообщает об этом до начала работы, указывая строку файла конфигурации, которую нужно исправить. Больше никаких сбоев посреди наполовину переведённого фильма.
Или: переводить бесплатно у себя с Ollama
Не хотите создавать аккаунт OpenAI или не хотите, чтобы ваши файлы отправлялись третьей стороне? Установите Ollama, которая запускает языковую модель прямо на вашей машине. Это бесплатно, без ограничений, и после загрузки модели работает без подключения к интернету.
Три этапа:
# 1. Installer Ollama depuis ollama.com, puis demarrer le serveur
ollama serve
# 2. Telecharger le modele livre par defaut
ollama pull gpt-oss:20b
# 3. Traduire, en local
aisrt "film.srt" -t fr --provider ollama
Опция --provider действует для текущей команды. Если вы хотите, чтобы Ollama стал вашим движком по умолчанию, добавьте "Provider": "ollama" в раздел Translation файла appsettings.json, и больше вам не придётся об этом думать.
Какую модель выбрать? Я протестировал несколько, и ответ меня удивил. Локальная модель должна соблюдать очень строгий формат вывода, один переведённый блок на каждый отправленный блок, по порядку, без комментариев. Некоторые вообще с этим не справляются: qwen2.5 три раза из трёх вставляла мне замечания на китайском посреди субтитров, даже когда я максимально её ограничивал. Это непригодно для использования. llama3.1:8b справляется очень хорошо и работает примерно в десять раз быстрее. gpt-oss:20b я поставляю по умолчанию, потому что во время моих испытаний она ни разу не потеряла ни одного блока, но она заметно тяжелее (примерно 14 ГБ) и медленнее.
Будем честны насчёт компромисса: локальный вариант бесплатный, но медленный, а качество остаётся ниже того, что выдаёт gpt-5-mini. Для фильма, который вы будете смотреть сегодня вечером, API OpenAI за три цента удобнее. Чтобы обработать целый сезон, не глядя на счётчик, или для чувствительного контента Ollama становится интересной.
Одна вещь, из-за которой я потерял время и от которой избавлю вас: AiSrt обращается к Ollama через её родной API и задаёт ей достаточное окно контекста. Если использовать слой совместимости OpenAI в Ollama, эта настройка игнорируется, модель молча обрезает свой ответ, и в итоге в финальном файле оказываются пропущенные блоки. За вас это уже сделано, но это объясняет, почему локально партии меньше (10 блоков вместо 40).
Что происходит до запуска
При запуске выполняются две проверки, и они избавили меня от немалого раздражения.
Первая смотрит на файл, который вы ей даёте. Если вы введёте aisrt film.mkv, забыв указать опцию, AiSrt ответит вам, что это видео, и подскажет --extract или --transcribe. Раньше она читала двоичный файл как текст и отправляла его как есть ИИ, который отвечал непонятной ошибкой о размере запроса. Кстати, если вы дадите ей субтитр не в формате .srt (а в .ass, .vtt, .sub), она сама конвертирует его с помощью ffmpeg и продолжает перевод.
Вторая проверяет, отвечает ли движок перевода, прежде чем что-либо отправлять. Неверный ключ, аккаунт без средств, сервер Ollama не запущен, модель не скачана: для каждого случая есть своё сообщение и команда для исправления. Нет ничего хуже, чем запустить извлечение шести дорожек, пойти выпить кофе и по возвращении обнаружить шесть одинаковых ошибок.
Руководство пользователя
Общий синтаксис
aisrt [<fichier>] [options]
Все опции
| Опция | Описание | Значение по умолчанию |
|---|
<file> | Путь к файлу .srt для перевода или к видеофайлу с --extract и --transcribe | нет |
-t, --target <code> | Код целевого языка | fr |
-s, --source <code> | Код исходного языка | en |
--languages | Отображает 29 языков и их коды | нет |
--streams | Перечисляет дорожки субтитров видео, ничего не извлекая | нет |
--extract | Извлекает дорожки субтитров видео, с интерактивным выбором. Дорожки с изображениями считываются с помощью OCR | нет |
--transcribe | Расшифровывает аудио видеофайла в .srt с помощью whisper.cpp | нет |
-p, --provider <nom> | Движок перевода: openai, anthropic, gemini, xai или ollama | из appsettings.json |
--stream <n|all> | С --extract: дорожка для извлечения, без перехода в меню | нет |
-tt, --translate-to <code> | С --extract или --transcribe: переводит результат без каких-либо вопросов | нет |
-m, --model <nom> | С --transcribe: модель whisper, без перехода в меню | нет |
-al, --audio-language <code> | С --transcribe: язык, на котором говорят в видео | определяется whisper |
-ni, --non-interactive | Не задаёт никаких вопросов, применяет значения по умолчанию | нет |
--version | Отображает версию | нет |
-h, --help | Отображает справку | нет |
Смотри не перепутай --streams во множественном числе, который всего лишь перечисляет дорожки, и --stream в единственном числе, который выбирает одну для извлечения. Одна буква разницы, а эффекты совершенно разные. Я сомневался, не переименовать ли их, но нет: оба названия приходят в голову сами собой.
1. Перевести субтитры
Основная функция, и та, которой я пользуюсь чаще всего:
# Traduire de l'anglais vers le français (comportement par défaut)
aisrt "film.srt"
# Traduire de l'anglais vers l'espagnol
aisrt "film.srt" -s en -t es
# Traduire du français vers le japonais
aisrt "film.fr.srt" -s fr -t ja
Переведённый файл получает код целевого языка в своём имени: film.fr.srt, film.es.srt и так далее. Предыдущий выходной файл, если он уже существует, перед перезаписью копируется в .bak.srt.
Перевод запускается партиями по 40 блоков, и каждая партия записывается на диск сразу после завершения. Вот как это выглядит у меня на полнометражном фильме:

598 блоков, разбитых на 15 партий, и ты видишь, как справа накапливается время: примерно минута на партию, чуть меньше пятнадцати минут на весь фильм. Если всё оборвётся на партии 13, повторный запуск той же команды продолжится с партии 13.
2. Перечислить дорожки видео
Перед извлечением можно посмотреть, что есть в файле:
aisrt --streams "film.mkv"
Ты получаешь таблицу с номером потока, языком, кодеком и типом каждой дорожки, текстовой или растровой.
3. Извлечь субтитры из видео
Во многих MKV и MP4 субтитры уже встроены. Лучше забрать их, чем делать заново:
aisrt --extract "film.mkv"
Меню позволяет выбрать дорожку или извлечь всё сразу. Текстовые форматы поддерживаются (SRT, ASS, SSA, WebVTT, mov_text). Дорожки PGS, те, что используются на Blu-ray, являются изображениями: теперь они читаются с помощью распознавания символов, и им посвящён следующий раздел. Дорожки с DVD и цифрового телевидения пока не декодируются, но AiSrt ясно сообщает тебе об этом, вместо того чтобы молча их пропускать. После завершения извлечения он предлагает сразу перевести каждую дорожку, используя язык дорожки как исходный язык.
Примечание: ffmpeg автоматически скачивается в Windows и Linux, если его ещё нет на твоём компьютере. В macOS установи его с помощью brew install ffmpeg.
4. Транскрибировать аудио в субтитры
В видео вообще нет субтитров? Сделаем их с помощью whisper.cpp:
aisrt --transcribe "film.mkv"
При первом запуске AiSrt спросит тебя, какую модель распознавания речи использовать:
- base.en, примерно 150 Mo: быстро, нормально работает с чётко произносимым английским
- small.en, примерно 500 Mo: хороший компромисс
- medium.en, примерно 1,5 Go: точнее, медленнее
- base, small, medium: те же размеры, но мультиязычные
- large-v3, примерно 3 Go: самая точная, мультиязычная и самая медленная
Ты можешь пропустить это меню с помощью --model, если уже знаешь, что тебе нужно.
Транскрибировать что-то кроме английского
Раньше AiSrt предполагал, что ты дашь ему английский. Это была очень плохая идея: речь на французском превращалась в приблизительные английские субтитры, без единого предупреждения, а если ты затем запускал перевод, то получал французский, переведённый обратно с этого английского. Испорченный телефон с твоими собственными видео.
Теперь whisper определяет язык речи, а AiSrt подхватывает его ответ на лету. Тебе ничего не нужно указывать, и созданный файл получает правильный код языка. Ты всё ещё можешь задать его принудительно, если знаешь, что делаешь, с мультиязычной моделью:
aisrt --transcribe "film.mkv" --audio-language fr --model base
Созданный файл тогда называется film.fr.srt, и если ты затем запускаешь перевод, AiSrt знает, что исходный язык французский.
На одну ловушку я потратил некоторое время: модели, название которых заканчивается на .en, обучены только на английском. Дай им французское аудио, и они не возмущаются, а выдают тебе английскую фонетику с полной уверенностью. Это как раз тот результат, который обнаруживаешь, только читая файл. Поэтому AiSrt отказывается от такой комбинации ещё до запуска чего-либо и выдаёт тебе список подходящих моделей.
В Windows и Linux AiSrt сам скачивает whisper. В Windows он вдобавок обнаруживает видеокарту NVIDIA и выбирает версию CUDA, которая намного быстрее.
В macOS нужно сделать ещё один шаг. Проект whisper.cpp не публикует для неё исполняемый файл командной строки, только фреймворк для разработчиков Apple: поэтому автоматически скачивать нечего. Решение укладывается в одну команду:
brew install whisper-cpp ffmpeg
Тогда AiSrt найдёт инструменты, установленные в твоей системе, и будет пользоваться ими как есть. У меня под рукой нет Mac, чтобы пройти этот сценарий от начала до конца, поэтому если ты на macOS и что-то не работает, напиши мне, мне интересно.
Субтитры, которые являются изображениями
Извлеки дорожку субтитров с Blu-ray, и ты получишь не текст. Ты получишь изображения, по одному на реплику, в формате под названием PGS. Диск хранит не слова, а фотографию слов. Это удобно для сохранения шрифта и точного кинематографического размещения, но становится катастрофой, как только хочется перевести: переводить нечего, есть только пиксели.
До сих пор AiSrt вежливо сообщал тебе, что не умеет этого делать. Теперь умеет.
Что происходит при запуске команды
Ничего нового вводить не нужно, это та же команда, что и раньше:
aisrt --extract "film.mkv"
Если вы выбираете графическую дорожку, AiSrt выполняет три шага подряд. Он извлекает сырую дорожку из контейнера с помощью ffmpeg. Он сам декодирует изображения, по одному на каждый субтитр, заодно получая моменты их показа в том виде, в каком их записал диск. Затем он за один раз передаёт всё в Tesseract, движок распознавания символов (программу, которая читает текст на изображении), для всей дорожки.
Языковой файл Tesseract скачивается автоматически, на языке, который заявлен у дорожки. Для французской дорожки загружается французский, для японской дорожки японский. Вам ничего выбирать не нужно.
Tesseract нужно установить самому
Это единственная зависимость, которую AiSrt не ищет за вас, и это сделано намеренно. ffmpeg и whisper публикуют автономные исполняемые файлы, которые я могу аккуратно скачать. Tesseract не такой: это системные установщики, разные на каждой платформе. Достаточно одной команды:
# Windows
winget install tesseract-ocr.tesseract
# Linux
sudo apt install tesseract-ocr
# macOS
brew install tesseract
Небольшая история, из-за которой я потерял полчаса: в Windows этот установщик не добавляет Tesseract в PATH. Поэтому AiSrt отвечал мне, что инструмент не найден, и предлагал выполнить ровно ту команду, которую я только что выполнил. Петля без выхода. Теперь AiSrt будет искать его в папках, куда установщик действительно кладёт бинарный файл.
ИИ перечитывает то, что прочитал OCR
Движок распознавания символов всегда делает одни и те же ошибки. Вертикальная черта вместо заглавной I. Сочетание r и следующей за ним n превращается в m. Проглоченный акцент. На протяжении целого фильма это в конце концов становится заметно.
Поэтому AiSrt отправляет распознанный текст обратно в ваш сервис перевода с точной инструкцией: исправь ошибки чтения, ничего не переводи, ничего не переформулируй, ничего не сокращай. Это вычитка, а не переписывание. Из 100 субтитров отрывка фильма, который я прогнал через испытания, 14 были исправлены, 86 уже были хорошими, и ни один не был перемещён или выдуман.
Защита от ошибок важнее самой функции, поэтому я остановлюсь на ней подробнее. Исправление принимается только в том случае, если оно остаётся близким к тому, что было прочитано: модель, которая решит перевести реплику, отправляется вон. А если в ответе не содержится ровно столько же текстов, сколько было отправлено, вся партия отбрасывается, а исходный текст сохраняется. Я предпочитаю субтитр с заметной опечаткой идеальному субтитру, приклеенному к неправильной реплике.
Эта вычитка включена по умолчанию и использует тот же сервис, который уже переводит. Вы можете её отключить или поручить её другому сервису в appsettings.json. А если ни один ключ не настроен, ничего страшного не произойдёт: текст OCR записывается как есть, AiSrt сообщает вам об этом, и извлечение нормально завершается.
Ошибка, которую я никогда бы не нашёл, если бы не стал её искать
Многие диски показывают и убирают субтитры с плавным появлением и исчезновением. Для этого они не отправляют новое изображение: они используют то же самое, меняя только его прозрачность. AiSrt принимал это изменение за конец субтитра.
В результате субтитр, показанный четыре секунды, получался разделённым на три части. Первая длилась одну секунду, а две другие были слишком бледными, чтобы их можно было перечитать, поэтому отбрасывались. Ни один из моих тестовых файлов не использовал плавное появление или исчезновение, поэтому я специально создал такой случай, чтобы его увидеть. Раньше было три части, после стал один субтитр правильной длительности.
Теперь AiSrt сохраняет среди последовательных рендеров тот, где текст наиболее читаем. Плавное появление или исчезновение начинается и заканчивается прозрачностью: ни первый, ни последний вариант не подходит.
Что пока ещё не работает
Графические субтитры с DVD и ЦТВ не декодируются. В отличие от PGS, где каждое изображение автономно, эти форматы читаются с использованием информации, хранящейся в другом месте файла. Это другая задача, а не расширение этой. Пока AiSrt распознаёт их и предупреждает вас, вместо того чтобы молча их игнорировать.
Полная цепочка, от исходного видео до переведённых субтитров
# Étape 1 : transcrire l'audio anglais
aisrt --transcribe "conference.mp4"
# donne conference.en.srt
# Étape 2 : traduire en français
aisrt "conference.en.srt" -s en -t fr
# donne conference.fr.srt
# Étape 3 : et en espagnol tant qu'à faire
aisrt "conference.en.srt" -s en -t es
# donne conference.es.srt
Три команды, и видео без субтитров становится доступным на трёх языках.
Небольшая деталь, которая важна, если ты всё это скриптуешь: AiSrt возвращает 0, когда всё прошло хорошо, 1 в случае сбоя, и 2, если ты сам отменил операцию. То, что уже записано на диск, остаётся там, и перевод продолжится при следующем запуске.
Автоматизировать всё, без единого вопроса
Три команды выше задают вопросы: какую дорожку извлечь, какую модель использовать, нужно ли потом переводить. Удобно, когда ты сидишь перед экраном, гораздо меньше подходит, когда хочется обработать целый сезон за ночь.
Четыре опции заменяют их, и вся цепочка тогда помещается в одну строку:
# Extraire la piste 2, la traduire en francais, sans jamais rien demander
aisrt --extract "episode.mkv" --stream 2 --translate-to fr --non-interactive
Или для целой папки, в Windows:
Get-ChildItem *.mkv | ForEach-Object {
aisrt --extract $_.FullName --stream 1 --translate-to fr --non-interactive
}
--non-interactive ничего не угадывает: для каждого вопроса берётся значение по умолчанию, и программа сообщает, какое именно, а также какая опция позволила бы выбрать другое. Зато значение, которое ты указал явно, никогда не игнорируется молча. Если ты запросишь дорожку 7 у файла, в котором их всего две, программа остановится и перечислит доступные дорожки, вместо того чтобы извлечь всё, как будто ничего не произошло. Для скрипта явная ошибка лучше неожиданного результата.
И если ты нажмёшь Ctrl+C в этом режиме, программа сразу остановится, не спрашивая подтверждения. Никого не было бы рядом, чтобы ответить, а вопрос без ответа навсегда заблокировал бы скрипт.
Поддерживаемые языки
| Код | Язык | Код | Язык | Код | Язык |
|---|
ar | Арабский | cs | Чешский | da | Датский |
de | Немецкий | el | Греческий | en | Английский |
es | Испанский | fi | Финский | fr | Французский |
he | Иврит | hi | Хинди | hu | Венгерский |
id | Индонезийский | it | Итальянский | ja | Японский |
ko | Корейский | ms | Малайский | nl | Нидерландский |
no | Норвежский | pl | Польский | pt | Португальский |
ro | Румынский | ru | Русский | sv | Шведский |
th | Тайский | tr | Турецкий | uk | Украинский |
vi | Вьетнамский | zh | Китайский | | |
Введите aisrt --languages, чтобы в любой момент снова получить этот список.
Расширенная настройка
Всё настраивается в appsettings.json:
- Модель, с ключом
Model, если вы предпочитаете другую модель OpenAI вместо gpt-5-mini. - Размер пакетов, с помощью
BatchSize : количество блоков, отправляемых за один запрос, по умолчанию 40. - Длина строк, с помощью
MaxLineLength : при длине более 50 символов AiSrt разрезает строку, чтобы её было удобно читать на экране. - Сетевой тайм-аут, с помощью
RequestTimeoutMinutes : по умолчанию 10 минут. Если вы сильно увеличиваете BatchSize, увеличьте и его. - Инструкции, данные ИИ, с помощью
SystemPrompt и UserInstructionPrompt. Вот где начинается самое интересное : вы можете адаптировать перевод к юридическому, медицинскому, религиозному или техническому контексту, переписав эти два текста. Я специально вынес их из кода именно для этого. - Температура, от 0.3 для очень буквального перевода до 1.5 для более свободного перевода. По умолчанию 1.
- Движок перевода, с помощью
Provider в разделе Translation : openai, anthropic, gemini, xai или ollama. Это настройка, действующая для всех ваших команд, тогда как --provider действует только для текущей. - Настройки Ollama, в собственном разделе : адрес сервера с помощью
BaseUrl, модель с помощью Model, размер пакетов с помощью BatchSize, и размер окна контекста с помощью NumCtx. Если вы увеличиваете первое, не забудьте увеличить и второе. - Распознавание символов, в разделе
Ocr : резервный язык с помощью DefaultLanguage, режим сегментации tesseract с помощью PageSegMode, и увеличение изображений перед чтением с помощью UpscaleFactor. Два последних параметра ограничены : нелепое значение будет отмечено и заменено, вместо того чтобы сорвать чтение изображения за изображением. - Вычитка текста OCR, в
Ocr:Proofread : Enabled, чтобы её отключить, Provider, чтобы поручить её другому сервису, а не тому, который переводит, BatchSize, чтобы задать размер пакетов. Два её промпта переписываются так же, как промпты перевода.
Для кого?
- Глухие и слабослышащие люди, которым нужны субтитры, чтобы каждый день смотреть видео.
- Создатели контента, которые хотят охватить аудиторию за пределами своего языка.
- Преподаватели и тренеры, чьи онлайн-курсы заслуживают большего, чем приблизительные автоматические субтитры.
- Профессиональные переводчики, чтобы за несколько минут подготовить первый черновой вариант.
- Киноманы и любители сериалов, конечно.
- Ассоциации и НКО, которые распространяют видео на международном уровне.
AiSrt бесплатен и готов к работе.
Скачайте его, попробуйте, и сделайте свои видео доступными для всех.
Join the conversation
You need an account to comment on this article. Creating one is free and takes under a minute.
No comments yet.