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

浏览: 3,027 次浏览 作者: 去年夏天 分类: 佳软推荐,技术文章 发布时间: 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 来减少垃圾评论。了解你的评论数据如何被处理