PotPlayer 实时字幕在线翻译插件 基于百度开放翻译平台

浏览: 2,572 次浏览 作者: 去年夏天 分类: 佳软推荐,技术文章 发布时间: 2023-03-04 01:02

就是一个 PotPlayer 用的翻译扩展,实现 PotPlayer 在使用外挂字幕时,可以实时翻译字幕为你想要的语言。
解决看美剧、英剧、日剧、韩剧时,字幕只有英语、日语、韩语等语言的情况。


前言

有时候看剧视频完全没有中文字幕,但是有其他语言的外挂字幕, potplayer 内置的那个几个翻译扩展,用倒是都能用,但是问题是:要么不好用!比如那个谷歌翻译,英译中还算凑合,韩语和日语翻译成中文,翻译的是个什么鬼东西啊!要么API的价格是我不能接受的。于是本着,不要自己造轮子的想法,去github上看看有没有什么现成轮子。果然发现了一个项目PotPlayer_Subtitle_Translate_Baidu

现在最前边

  1. 翻译效果:毕竟是机器翻译,哪怕是目前最好的 deepl ,翻译的结果也不要抱太高的期望!
  2. 只支持外挂字幕翻译,也就是一个视频文件(.MP4 .avi .webm) + 一个字幕文件(.srt,.ass,.VTT)的才行,那种自己直接内嵌在视频里的字幕翻译不了。
  3. 为什么我选了百度翻译,因为目前韩日英这三种我常看的字幕语言中常见的在线翻译API,百度属于不要钱,翻译的质量还凑合的那个。
    • deepl 肯定是目前最优,但是API贵就算了,国内还没法直接买,虚拟信用卡还容易ban,没有普适性。
    • OpenAI 稍次,但是国内还是没法直接买,虚拟信用卡还容易被ban,没有普适性。
    • 有道智云 腾讯翻译君,这两个也不错,但是免费额度很低。
    • 百度 翻译出的文本基本还算是人话, 主要是它不要钱啊! 即使不认证每个月也有5W字符额度,认证后每月有100W字符额度,这个量已经能用很久了。
    • 谷歌 谷歌翻译对日语简直是一坨 :hankey: ,完全看不下去。
    • yandex 凑合吧,但作为毛子的服务现在不太稳嘛。

使用方法

注册百度翻译开放平台

  1. 首先你要有百度账号,没有就注册一个
  2. 点击前往百度翻译开放平台
  3. 登录你自己的百度账号
  4. 第2步的网址打开后,点击左侧的【通用翻译API】拉到最底下有个【立即使用】按钮,点击一下。
  5. 选择个人开发者,接下来填写个人信息,如实填写即可。
  6. 开通通用翻译API,点击跳转开通服务页面。选中通用翻译API,然后点击下一步。
  7. 点击开通标准版 或者高级版,(高级版,需要身份证实名认证,这个认证是额外的,即使你百度账号实名过,这里也需要再实名认证一次,看你自己需求了)
  8. 填写应用名称,写一个自己好记的名字就行,其他的都可以不用填。然后勾选我已知晓翻译API计费规则,点击确认开通。
  9. 进入到如下网址:开发者信息,可以看到有两个项目,一个叫【APP ID】,一个叫【密钥】,记住这两个东西,下边要用到。

Potplayer翻译扩展安装

  1. 点击这里下载扩展:下载地址1(密码:acgmoe)
  2. 打开PotPlayer播放器,点鼠标右键,点击选项(或者你按快捷键F5)在左侧找到,扩展功能→实时字幕翻译
  3. 把刚才下载的压缩包中的SubtitleTranslate - baidu.asSubtitleTranslate - baidu.ico文件放到打开的文件夹中。
  4. 重启 potplayer 。

Potplayer配置翻译扩展

  1. 再次打开 PotPlayer 播放器,点鼠标右键,点击选项(或者你按快捷键F5)在左侧找到,扩展功能→实时字幕翻译
  2. 选中【Bai Du translate】 点击【账户设置】
  3. 输入之前记录的【APP ID】与【密钥】,点确定保存。如果弹出窗口显示 【可正常处理】,说明扩展配置无误。

使用Potplayer翻译扩展

  1. 可以参照我上边的图片中的设置
    • 翻译引擎:Bai Du translate
    • 使用条件:仅用于所选语言
    • 翻译位置:上边显示翻译(就是翻译显示在原有字幕上边一行,根据你的喜好选择就好)
    • 原始语言:自动检查
    • 目标语言:你需要翻译到哪种语言就在下拉框里选哪个。
    • 自定义语言:en eng encc english ja jpn japanese ko kor korean
      这些字符指的是,外挂字幕文件在文件名中声明的语言类型,当 potplayer 发现字幕文件声明自己的语言类型是“自定义语言”里设置的语言时,就会自动开始在线翻译了(因为我选的使用条件:仅用于所选语言)。

      比如这张图中,第一个字幕文件声明自己是eng,也就是英语字幕,第二个字幕文件文件声明自己是jpn,也就是日语字幕。
  2. 随便打开一个带英语日语韩语外挂字幕的视频,测试一下。

  3. 如果发现没有出现翻译,可以尝试,在 potplayer 播放视频时依次,右键点击视频->字幕->在线字幕翻译->总是使用。强制调用翻译看一下是不是正常。如果这个时候正常,说明要么字幕文件的文件名中没声明自己的语言,要么声明的语言种类不在刚才设置的自定义语言范围内。

最后的一点废话

  1. 自定义语言的格式可以参考这里:【 语言代码语言子代码区域代码

  2. 如果翻译结果出现:error: 数字,error_msg:英语,那么根据数字,在表格中查找原因:

错误码 含义 解决方法
52000 成功 你都成功了还要啥解决办法
52001 请求超时 重试
52002 系统错误 重试
52003 未授权用户 检查您的appld是否正确,或者服务是否开通
54000 必填参数为空 检查是否少传参数
54001 签名错误 请检查您的签名生成方法
54003 访问频率受限 个人版每秒只能翻译1次,请用高级版
54004 账户余额不足 请前往管理控制台为账户充值
54005 长query请求频整 请降低长query的发送频率,3s后再试
58000 客户端IP非法 管理控制平台修改 IP限制,把IP留空
58001 译文语言方向不支持 检查译文语言是否在语言列表里
58002 服务当前已关闭 请前往管理控制台开启服务
90107 认证未通过或未生效 请前往我的认证查看认证进度
一条评论
  • 卧烟伊豆湖

    2023-04-22 06:29

    DeepL的拓展可以分享一下吗?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据