python+tkinter实现本地离线视频多语言翻译字幕生成代码

代码语言:python

所属分类:其他

代码描述:python+tkinter实现本地离线视频多语言翻译字幕生成代码,可以视频中的声音提取字幕并翻译成其他指定的语言生成srt字幕文件,默认翻译成英文,中文的话可以连接本地的ollama的接口进行翻译,也可以叫给第三方的兼容openai协议的ai大模型来翻译。

代码标签: python tkinter 本地 离线 视频 多语言 翻译 字幕 生成 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

#!/usr/local/python3/bin/python3
# -*- coding: utf-8 -*
import tkinter as tk
from tkinter import filedialog, ttk, messagebox, Toplevel, Entry, Label
import threading
from moviepy.editor import VideoFileClip
from faster_whisper import WhisperModel
from openai import OpenAI
import os

class VideoTranslatorApp:
    def __init__(self, root):
        self.root = root
        self.root.title("视频字幕生成与翻译工具 v4.0 (OpenAI)")
        self.root.geometry("580x480")

        # --- OpenAI API Settings ---
        self.api_key = ""
        self.base_url = ""
        self.openai_model = "gpt-3.5-turbo" # Default model

        # --- Data Definitions ---
        self.file_path = ""
        self.languages_map = {
            "中文": "zh-CN", "英语": "en", "西班牙语": "es",
            "法语": "fr", "德语": "de", "日语": "ja",
            "韩语": "ko", "俄语": "ru", "意大利语": "it"
        }
        self.source_languages_map = { "自动检测": None, **{k: v for k, v in self.languages_map.items() if k != "中文"} }
        self.models_info = {
            "tiny": {"size": "约 39 MB", "info": "速度最快,精度较低"},
            "base": {"size": "约 74 MB", "info": "比 tiny 稍好"},
            "small": {"size": "约 244 MB", "info": "速度与精度的良好平衡"},
            "medium": {"size": "约 769 MB", "info": "精度更高,速度稍慢"},
            "large-v3": {"size": "约 1.55 GB", "info": "精度最高,速度最慢"}
        }
        self.models_display_map = { f"{name} ({info['size']}) - {info['info']}": .........完整代码请登录后点击上方下载按钮下载查看

网友评论0