1. 含有字幕文件的视频的翻译方法PotPlayer 。
1.1 安装PotPlayer的翻译插件
- 下载 PotPlayer的翻译插件
- 将SubtitleTranslate - baidu.ico SubtitleTranslate - baidu.as 这两个文件复制到PotPlayer播放器的安装路径Extention->Subtitle->Translate文件夹
1.2. 获取百度appId 与 密钥
1.3 配置翻译插件
- 右键点击视频->字幕->在线字幕翻译->实时字幕翻译设置->选中百度翻译-> 点右边的 “账户设置”,会弹出一个对话框将百度“APP ID” 和 “密钥”分别填写进去,然后点确定。
1.4.测试使用插件
- 使用PotPlayer打开一个带英文字幕的视频。
- 右键点击视频->字幕->在线字幕翻译->Bai Du translate
- 右键点击视频->字幕->在线字幕翻译->总是使用
- 右键点击视频->字幕->在线字幕翻译->下面显示翻译
- 右键点击视频->字幕->在线字幕翻译->目标语言->之后在语言列表选择你要的。
2.不含字幕文件的视频翻译方法1
1.1将视频转换为音频,然后使用pyTranscriber
3.不含字幕文件的视频翻译方法2
3.1. 使用SubtitleEdit生成字幕 或Adobe Premiere Pro 2022以上版本中内置的Speech to Text生成字幕。
-
打开转换功能
2.添加模型,
3.选择模型,选择文件
4.开始生成
4. 若有百度网盘vip 也可以将视频上传,使用内置播放器生成字幕进行翻译播放。但暂时没找到保存字幕的办法。
5字幕翻译开源软件
https://github.com/mepeichun/SubtitleTranslate
https://github.com/1c7/Tern-Subtitle-File-Translator
6 Premiere Pro 2022 离线语音转文本教
- 在下方右键选择【新建项目】点击【序列...】,
- 点击上方【字幕和图形】
- 右键导入您要的音频和文件或者视频
- 下拉语言选择您想要的语言
- 设置好后,点击【转录】
- 转入完成,可以点击【创建说明性字幕】这样就可以给视频配上字幕啦!
7 buzz 离线语音转文字
https://github.com/chidiwilliams/buzz/releases/tag/v0.7.1
离线语音转文本
8 团子翻译器Ver3.6.2版本
https://github.com/PantsuDango/Dango-Translator/releases/tag/Ver3.6.2
9 pdf文件翻译 OCRmyPDF+tesseract
https://github.com/ocrmypdf/OCRmyPDF
https://github.com/tesseract-ocr/tesseract
https://www.ghostscript.com/releases/gsdnld.html
https://ocrmypdf.readthedocs.io/en/latest/installation.html#native-windows
https://readthedocs.org/projects/ocrmypdf/downloads/pdf/stable/#chapter.1
ocrmypdf.ocr('input.pdf', 'output.pdf', deskew=True)
python -m ocrmypdf -l chi_sim sourcefile defile
ocrmypdf -l chi_sim --pdf-renderer tesseract --output-type pdf source.pdf ocr.pdf
-l language的意思,chi_sim对应 C:\Program Files\Tesseract-OCR\tessdata\ 路径下的 chi_sim.traineddata 文件,如果是中英文混排的情况,就把-l chi_sim改成
-l chi_sim+eng
import os
import ocrmypdf
# 获取指定路径下所有指定后缀的文件
# dir 指定路径
# ext 指定后缀,链表&不需要带点 或者不指定。例子:['xml', 'java']
def GetFileFromThisRootDir(dir,ext = None):
allfiles = []
needExtFilter = (ext != None)
for root,dirs,files in os.walk(dir):
for filespath in files:
filepath = os.path.join(root, filespath)
extension = os.path.splitext(filepath)[1][1:]
if needExtFilter and extension in ext:
allfiles.append(filepath)
elif not needExtFilter:
allfiles.append(filepath)
return allfiles
allfiles=[]
allfiles=GetFileFromThisRootDir("F:\study\", 'pdf')
#os.makedirs('d:\ww',)
for file in allfiles :
name1=file.split("\\")[-1]
print (file)
dename= "d:\\ww\\"+ name1
# ocrmypdf -l chi_sim+eng --pdf-renderer tesseract file dename
# if __name__ == '__main__':
ocrmypdf.ocr( file , dename, language=["chi_sim","eng" ] )
#ocrmypdf -l chi_sim+eng file dename
print (dename)