Автоматический перевод субтитров через ChatGPT API реализуется путём связи видеопроцессора с API OpenAI для экстракции текста субтитров и их перевода через промпты. Это требует настройки скрипта на Python, конфигурации ключа API и обработки файлов видео или SRT-файлов.
Причины использования этого подхода
- Массовый перевод субтитров без ручного редактирования
- Экономия времени при работе с большими объёмами видеоконтента
- Улучшенная точность перевода благодаря контексту ChatGPT
- Возможность автоматизации для регулярных задач
- Поддержка множественных языков в одном скрипте
Пошаговая инструкция настройки
- Получите API-ключ OpenAI на сайте
platform.openai.com, перейдя в разделAPI keys. - Установите Python версии 3.8 или выше на ваш компьютер.
- Откройте командную строку и выполните команду
pip install openai pysrtдля установки необходимых библиотек. - Создайте новый файл с расширением
.py(например,subtitle_translator.py). - Скопируйте следующий код в файл:
import openai
import pysrt
import os
# Настройка API-ключа
openai.api_key = "ВАШ_API_КЛЮЧ_ЗДЕСЬ"
def translate_subtitle(text, target_language="Russian"):
"""Переводит текст через ChatGPT API"""
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": f"You are a subtitle translator. Translate to {target_language}. Keep formatting."},
{"role": "user", "content": text}
],
temperature=0.3
)
return response['choices'][0]['message']['content']
def process_subtitles(input_file, output_file, language="Russian"):
"""Обрабатывает SRT-файл субтитров"""
subs = pysrt.load(input_file)
for sub in subs:
print(f"Перевод: {sub.text[:50]}...")
sub.text = translate_subtitle(sub.text, language)
subs.save(output_file)
print(f"Субтитры сохранены в {output_file}")
# Использование
if __name__ == "__main__":
input_srt = "subtitles.srt" # Исходный файл субтитров
output_srt = "subtitles_translated.srt" # Файл с переводом
process_subtitles(input_srt, output_srt, "Russian")
- Замените строку
"ВАШ_API_КЛЮЧ_ЗДЕСЬ"на реальный ключ API из OpenAI. - Поместите SRT-файл вашего видео (файл субтитров) в ту же папку, что и скрипт.
- В командной строке перейдите в папку со скриптом командой
cd путь/к/папке. - Выполните команду
python subtitle_translator.py. - Дождитесь завершения обработки — программа выведет сообщение
"Субтитры сохранены в subtitles_translated.srt". - Откройте полученный файл
subtitles_translated.srtв текстовом редакторе и проверьте качество перевода. - Загрузите переведённые субтитры в видеоредактор (Adobe Premiere, DaVinci Resolve) или видеохостинг (YouTube, Vimeo).
Часто задаваемые вопросы
Как экстрагировать субтитры из видеофайла, если их там нет? Используйте специализированные инструменты типа FFmpeg (ffmpeg -i video.mp4 -map 0:s:0 subtitles.srt) или онлайн-сервисы распознавания речи (Whisper API, Google Speech-to-Text).
Какой модель ChatGPT выбрать для экономии на API-запросах? Используйте модель gpt-3.5-turbo — она дешевле gpt-4 в 10 раз и обеспечивает хорошее качество перевода субтитров.
Как избежать превышения лимита запросов к API? Добавьте задержку между запросами через import time; time.sleep(0.5) и используйте батч-обработку, группируя несколько строк субтитров в один запрос.