Coder Social home page Coder Social logo

jianchang512 / pyvideotrans Goto Github PK

View Code? Open in Web Editor NEW
5.6K 37.0 622.0 337.85 MB

Translate the video from one language to another and add dubbing. 将视频从一种语言翻译为另一种语言,并添加配音

Home Page: https://pyvideotrans.com

License: GNU General Public License v3.0

Python 100.00% Batchfile 0.01%
text-to-speech video-transition speech-to-text

pyvideotrans's Introduction

English Readme / 👑捐助该项目 / Q群 905857759 / 微信公众号:搜一搜“ pyvideotrans ”

视频翻译配音工具

这是一个视频翻译配音工具,可将一种语言的视频翻译为指定语言的视频,自动生成和添加该语言的字幕和配音。

语音识别支持 faster-whisper模型 openai-whisper模型 和 GoogleSpeech .

文字翻译支持 微软翻译|Google翻译|百度翻译|腾讯翻译|ChatGPT|AzureAI|Gemini|DeepL|DeepLX|离线翻译OTT,并内置免费ChatGPT API翻译接口(apiskey.top赞助)

文字合成语音支持 Microsoft Edge tts Google tts Azure AI TTS Openai TTS Elevenlabs TTS 自定义TTS服务器api GPT-SoVITS clone-voice

允许保留背景伴奏音乐等(基于uvr5)

支持的语言:中文简繁、英语、韩语、日语、俄语、法语、德语、意大利语、西班牙语、葡萄牙语、越南语、泰国语、阿拉伯语、土耳其语、匈牙利语、印度语、乌克兰语、哈萨克语、印尼语、马来语

主要用途和使用方式

【翻译视频并配音】将视频中的声音翻译为另一种语言的配音,并嵌入该语言字幕

【音频或视频转为字幕】将音频、视频文件中的人类说话声,识别为文字并导出为srt字幕文件

【批量字幕创建配音】根据本地已有的srt字幕文件创建配音,支持单个或批量字幕

【批量字幕翻译】将一个或多个srt字幕文件翻译为其他语言的字幕文件

【音频、视频、字幕合并】音频文件、视频文件、字幕文件合并为一个视频文件

【从视频中分离出音频】从视频中分离为音频文件和无声视频

【音频、视频格式转换】各种格式之间的相互转换

【下载油管视频】可从youtube上下载视频


994.mp4

下载预打包版本(仅win10/win11可用,MacOS/Linux系统使用源码部署)

使用pyinstaller打包,未做免杀和签名,杀软可能报毒,请加入信任名单或使用源码部署

  1. [点击去下载预打包版,解压到无空格的英文目录后,双击 sp.exe (https://github.com/jianchang512/pyvideotrans/releases)

  2. 解压到英文路径下,并且路径中不含有空格。解压后双击 sp.exe (若遇到权限问题可右键使用管理员权限打开)

  3. 注意:必须解压后使用,不可直接压缩包内双击使用,也不可解压后移动sp.exe文件到其他位置

源码部署/MacOS Linux系统可源码部署

  1. 安装好 python 3.10 环境,安装好 git

  2. 找个不含空格和中文的文件夹,Linux和Mac下从终端打开该文件夹。Window下地址栏中输入 cmd回车。

  3. 终端中执行命令 git clone https://github.com/jianchang512/pyvideotrans

  4. 继续执行命令 cd pyvideotrans

  5. 继续执行 python -m venv venv,如果你的 python 指向的不行 python3,需要改成 python3 -m venv venv,下同

  6. Linux和Mac继续执行命令 source ./venv/bin/activate,Window执行命令 .\venv\scripts\activate

  7. Linux下如果要使用CUDA加速,执行 pip install -r requirements-linux-gpu.txt --no-deps,如果不需要CUDA加速,执行 pip install -r requirements-cpu-or-mac.txt --no-deps

  8. Mac执行 pip install -r requirements-cpu-or-mac.txt --no-deps

  9. Window下如果要使用CUDA加速,执行 pip install -r requirements-win-gpu.txt --no-deps,如果不需要CUDA加速,执行 pip install -r requirements-cpu-or-mac.txt --no-deps

  10. windows 和 linux 如果要启用cuda加速,必须有英伟达显卡,并且配置好了CUDA11.8+环境,具体安装见 CUDA加速支持

  11. Linux 如果要使用 CUDA 加速,还需要额外执行安装 pip install nvidia-cublas-cu11 nvidia-cudnn-cu11

  12. win下解压 ffmpeg.zip 到根目录下 (ffmpeg.exe文件),Linux和Mac 请自行安装 ffmpeg,具体方法可搜索 “MacOS 安装 ffmpeg” 或 “Linux 安装ffmpeg”

  13. python sp.py 打开软件界面

  14. Ubuntu 下可能还需要安装 Libxcb 库,安装命令

    sudo apt-get update
    sudo apt-get install libxcb-cursor0	
    
  15. Mac下需要执行 brew install libsndfile 安装libsndfile

Mac下详细部署方案

  1. 选择视频:点击选择mp4/avi/mov/mkv/mpeg视频,可选择多个视频;

  2. 保存到..:如果不选择,则默认生成在同目录下的 _video_out,同时在该目录下的srt文件夹中将创建原语言和目标语言的两种字幕文件

  3. 翻译渠道:可选 microsoft|google|baidu|tencent|freeChatGPT|chatGPT|Azure|Gemini|DeepL|DeepLX|OTT 翻译渠道

  4. 代理地址:如果你所在地区无法直接访问 google/chatGPT,需要在软件界面 网络代理 中设置代理,比如若使用 v2ray ,则填写 http://127.0.0.1:10809,若clash,则填写 http://127.0.0.1:7890. 如果你修改了默认端口或使用的其他代理软件,则按需填写

  5. 原始语言:选择待翻译视频里的语言种类

  6. 目标语言:选择希望翻译到的语言种类

  7. TTS和配音角色:选择翻译目标语言后,可从配音选项中,选择配音角色;

    硬字幕: 是指始终显示字幕,不可隐藏,如果希望网页中播放时也有字幕,请选择硬字幕嵌入,硬字幕时可通过videotrans/set.ini 中 fontsize设置字体大小

    硬字幕(双): 将上下两排分别显示目标语言字幕和原始语言字幕

    软字幕: 如果播放器支持字幕管理,可显示或者隐藏字幕,该方式网页中播放时不会显示字幕,某些国产播放器可能不支持,需要将生成的视频同名srt文件和视频放在一个目录下才会显示

    软字幕(双): 将嵌入2种语言的字幕,可通过播放器的字幕显示/隐藏功能来切换不同语言字幕

  8. 语音识别模型: 选择 tiny/base/small/medium/large-v2/large-v3, 识别效果越来越好,但识别速度越来越慢,所需内存越来越大,内置base模型,其他模型请单独下载后,解压放到 当前软件目录/models目录下.如果GPU显存低于4G,不要使用 large-v3

    整体识别:由模型自动对整个音频断句处理,多大的视频请勿选择整体识别,避免显存不足闪退

    预先分割:适合很大的视频,事先切成1分钟的小片段逐次识别和断句

    均等分割:按照固定秒数均等切割,每条字幕时长相等,时长由set.ini中interval_split控制

    全部模型下载地址

    特别注意

    faster模型:如果下载的是faster模型,下载后解压,将压缩包内的"models--Systran--faster-whisper-xx"文件夹复制到models目录内,解压复制后 models 目录下文件夹列表如下

    openai模型:如果下载的是openai模型,下载后直接将里面的 .pt 文件复制到 models文件夹下即可。

    GoogleSpeech:使用google提供的语音识别服务生成字幕,需要填写代理,确保可连接到google

  9. 配音语速:填写 -90到+90 之间的数字,同样一句话在不同语言语音下,所需时间是不同的,因此配音后可能声画字幕不同步,可以调整此处语速,负数代表降速,正数代表加速播放。

  10. 声音、画面、字幕对齐: “配音整体语速” “配音自动加速” “视频自动慢速” “语音前后延展”

翻译后不同语言下发音时长不同,比如中文3s,翻译为英文可能5s,导致时长和视频不一致。

4种解决方式:

  1. 设置配音整体语速,全局加速(某些TTS不支持)

  2. 强制配音加速播放,以便缩短配音时长和视频对齐

  3. 强制视频慢速播放,以便延长视频时长和配音对齐。

  4. 如果前后有静音片段,则前后延展占据静音区\n实际使用中,结合此4项效果最佳

实现原理请查看博文 https://juejin.cn/post/7343691521601290240

  1. CUDA加速:确认你的电脑显卡为 N卡,并且已配置好CUDA环境和驱动,则开启选择此项,速度能极大提升,具体配置方法见下方CUDA加速支持

  2. TTS: 可用 edgeTTS(免费) 、gtts(免费需代理)、AzureTTS、 openai TTS-1、Elevenlabs、clone-voice(免费需自建)、GPT-SoVITS(免费需自建)、自定义TTS,openai需要使用官方接口或者开通了tts-1模型的三方接口,也可选择clone-voice进行原音色配音。同时支持使用自己的tts服务,在设置菜单-自定义TTS-API中填写api地址

  3. 点击 开始按钮 底部会显示当前进度和日志,右侧文本框内显示字幕

  4. 字幕解析完成后,将暂停等待修改字幕,如果不做任何操作,15s后将自动继续下一步。也可以在右侧字幕区编辑字幕,然后手动点击继续合成

  5. 将在目标文件夹中视频同名的子目录内,分别生成两种语言的字幕srt文件、原始语音和配音后的wav文件,以方便进一步处理.

  6. 设置行角色:可对字幕中的每行设定发音角色,首先左侧选好TTS类型和角色,然后点击字幕区右下方“设置行角色”,在每个角色名后面文本中中,填写要使用该角色配音的行编号,如下图:

  7. 保留背景音:如果选择该项,则会先将视频中的人声和背景伴奏分离出来,其中背景伴奏最终再和配音音频合并,最后生成的结果视频中将保留背景伴奏。注意:该功能基于uvr5实现,如果你没有足够的N卡GPU显存,比如8G以上,建议慎重选择,可能非常慢并非常消耗资源。如果视频比较大, 建议选择单独的视频分离工具,比如 uvr5 或 vocal-separate https://juejin.cn/post/7341617163353341986

  8. 原音色克隆配音clone-voice:首先安装部署clone-voice项目, 下载配置好“文字->声音”模型,然后在本软件中TTS类型中选择“clone-voice”,配音角色选择“clone”,即可实现使用原始视频中的声音进行配音。使用此方式时,为保证效果,建议选择“保留背景音”,以剔除背景噪声。

  9. 使用GPT-SoVITS配音:首先安装部署好GPT-SoVITS项目,然后启动 GPT-SoVITS的api.py,在视频翻译配音软件-设置菜单-GPT-SoVITS API 中填写接口地址、参考音频等。

GPT-SoVITS 自带的 api.py 不支持中英混合发音,若需支持,请 点击去下载该文件 ,将该压缩包内的 api2.py 复制到 GPT-SoVITS 根目录下,启动方法与自带的api.py一样,可参考使用教程 https://juejin.cn/post/7343138052973297702

  1. videotrans/chatgpt.txt videotrans/azure.txt videotrans/gemini.txt 文件中,可分别修改 chatGPT、AzureGPT、Gemini Pro 的提示词,必须注意里面的 {lang} 代表翻译到的目标语言,不要删除不要修改。提示词需要保证告知AI将按行发给它的内容翻译后按行返回,返回的行数需要同发给它的行数一致。

  2. 添加背景音乐:该功能和“保留背景音”类似,但实现方式不同,只可在“标准功能模式”和“字幕创建配音”模式下使用。 “添加背景音乐”是预先从本地计算机中选择一个作为背景声音的音频文件,文件路径显示在右侧文本框中,在处理结束输出结果视频时,将该音频混入,最终生成的视频里会播放该背景音频文件。

如果同时也选中了“保留背景音”,那么原始视频里的背景音也会保留。

添加背景音乐后,如果又不想要了,直接在右侧文本框中删掉显示的内容即可。

  1. 使用google翻译或者chatGPT,提示出错

    国内使用google或chatGPT官方接口,都需要挂梯子

  2. 已使用了全局代理,但看起来并没有走代理

    需要在软件界面“网络代理”中设置具体的代理地址,格式为 http://127.0.0.1:端口号

  3. 提示 FFmpeg 不存在

    首先查看确定软件根目录下存在 ffmpeg.exe, ffprobe.exe 文件或是否存在ffmpeg目录,如果不存在,解压 ffmpeg.7z,将这2个文件放到软件根目录下

  4. windows上开启了 CUDA,但是提示错误

    A: 首先查看详细安装方法,确定你已正确安装了cuda相关工具,如果仍存在错误,点击下载 cuBLAS,解压后将里面的dll文件复制到 C:/Windows/System32下

    B: 若确定和A无关,那么请检查视频是否是H264编码的mp4,有些高清视频是 H265 编码的,这种不支持,可尝试在“视频工具箱”中转为H264视频

    C: GPU下对视频进行硬件解码编码对数据正确性要求严格,容错率几乎为0,任何一点错误都会导致失败,加上显卡型号、驱动版本、CUDA版本、ffmpeg版本不同版本之间的差异等,导致很容易出现兼容性错误。目前加了回退,GPU上失败后自动使用CPU软件编解码。失败时logs目录下日志里会记录出错信息。

  5. 提示模型不存在?

    全部模型下载地址

    模型分为两类:

    一类是适用于“faster模型”的。

    下载解压后,会看到文件夹,类似 “models--Systran--faster-whisper-xxx”形式的,xxx代表模型名,比如 base/small/medium/large-v3等,解压后直接将该文件夹复制到此目录下即可。

    如果所有faster模型下载后,当前models文件夹下应该能看到这几个文件夹

    models--Systran--faster-whisper-tiny models--Systran--faster-whisper-base models--Systran--faster-whisper-small models--Systran--faster-whisper-medium models--Systran--faster-whisper-large-v2 models--Systran--faster-whisper-large-v3

    另一类是适用于"openai模型的",下载解压后,直接就是 xx.pt 文件,比如 base.pt/small.pt,/medium.pt/large-v3.pt, 直接将该pt文件复制到此文件夹内即可。

    如果所有openai模型下载后,当前models文件夹下应该能直接看到 base.pt, small.pt, medium.pt, large-v1.pt, large-v3.pt

  6. 提示目录不存在或权限错误

    在sp.exe上右键使用管理员权限打开

  7. 提示错误,但没有详细出错信息

    打开logs目录,找到最新的log日志文件,拉到最底部,即可看到报错信息。

  8. large-v3模型非常慢

    如果你没有N卡GPU,或者没有配置好CUDA环境,或者显存低于8G,请不要使用这个模型,否则会非常慢和卡顿

  9. 提示缺少cublasxx.dll文件

    有时会遇到“cublasxx.dll不存在”的错误,此时需要下载 cuBLAS,然后将dll文件复制到系统目录下

    点击下载 cuBLAS ,解压后将里面的dll文件复制到 C:/Windows/System32下

    cuBLAS.and.cuDNN_win_v4

  10. 怎样使用自定义音色

设置菜单-自定义TTS-API,填写自己的tts服务器接口地址。

将以POST请求向填写的API地址发送application/www-urlencode数据:

# 发送的请求数据:

text:需要合成的文本/字符串

language:文字所属语言代码(zh-cn,zh-tw,en,ja,ko,ru,de,fr,tr,th,vi,ar,hi,hu,es,pt,it)/字符串

voice:配音角色名称/字符串

rate:加减速值,0或者 '+数字%' '-数字%',代表在正常速度基础上进行加减速的百分比/字符串

ostype:win32或mac或linux操作系统类型/字符串

extra:额外参数/字符串


# 期待从接口返回json格式数据:
{
    code:0=合成成功时,>0的数字代表失败
    msg:ok=合成成功时,其他为失败原因
    data:在合成成功时,返回mp3文件的完整url地址,用于在软件内下载。失败时为空
}   


  1. 字幕语音无法对齐

翻译后不同语言下发音时长不同,比如一句话中文3s,翻译为英文可能5s,导致时长和视频不一致。

2种解决方式:

1. 强制配音加速播放,以便缩短配音时长和视频对齐

2. 强制视频慢速播放,以便延长视频时长和配音对齐。
  1. 字幕不显示或显示乱码

采用软合成字幕:字幕作为单独文件嵌入视频,可再次提取出,如果播放器支持,可在播放器字幕管理中启用或禁用字幕;

注意很多国内播放器必须将srt字幕文件和视频放在同一目录下且名字相同,才能加载软字幕,并且可能需要将srt文件转为GBK编码,否则显示乱码,

  1. 如何切换软件界面语言/中文or英文

打开软件目录下 videotrans/set.ini 文件,然后将 lang= 后填写语言代码,zh代表中文,en代表英文,修改后重启软件


;The default interface follows the system and can also be specified manually here, zh=Chinese interface, en=English interface.
;默认界面跟随系统,也可以在此手动指定,zh=中文界面,en=英文界面
lang =


  1. 尚未执行完毕就闪退

如果启用了cuda并且电脑已安装好了cuda环境,但没有手动安装配置过cudnn,那么会出现该问题,去安装和cuda匹配的cudnn。比如你安装了cuda12.3,那么就需要下载cudnn for cuda12.x压缩包,然后解压后里面的3个文件夹复制到cuda安装目录下。具体教程参考 https://juejin.cn/post/7318704408727519270

如果cudnn按照教程安装好了仍闪退,那么极大概率是GPU显存不足,可以改为使用 medium模型,显存不足8G时,尽量避免使用largev-3模型,尤其是视频大于20M时,否则可能显存不足而崩溃

  1. 如何调节字幕字体大小

如果嵌入硬字幕,可以通过修改 videotrans/set.ini 中的 fontsize=0为一个合适的值,来调节字体大小。0代表默认尺寸,20代表字体尺寸为20个像素

  1. macos报错

OSError: ctypes.util.find_library() did not manage to locate a library called 'sndfile'

解决办法:

找到libsndfile安装位置,通过brew安装的话一般在:/opt/homebrew/Cellar/libsndfile, 然后将该路径添加到环境变量:export DYLD_LIBRARY_PATH=/opt/homebrew/Cellar/libsndfile/1.2.2/lib:$DYLD_LIBRARY_PATH

  1. GPT-SoVITS API 不支持 中英 混合发音

GPT-SoVITS 自带的 api.py 不支持中英混合发音,若需支持,请 点击下载该文件 ,用该压缩包内的 api.py,覆盖 GPT-SoVITS 自带的api.py

  1. 是否有详细教程

有文档网站 https://pyvideotrans.com ,不过这里传图不便,因此更新较慢,请查看掘金博客获取最新教程, https://juejin.cn/user/4441682704623992/columns

或关注我的微信公众号,内容基本等同掘金博客,微信搜一搜查看公众号 pyvideotrans

高级设置 videotrans/set.ini

请勿随意调整,除非你知道将会发生什么

;####################
;如果你不确定修改后将会带来什么影响,请勿随意修改,修改前请做好备份, 如果出问题请恢复
;升级前请做好备份,升级后按照原备份重新修改。请勿直接用备份文件覆盖,因为新版本可能有新增配置
;If you are not sure what effect the modification will bring, please don't modify it arbitrarily, please make a good backup before modification, and restore it if something goes wrong.
;Please make a backup before upgrading, and then modify it according to the original backup after upgrading. Please do not overwrite the backup file directly, because the new version may have new configurations.

;##############界面语言文字#############################
;Interface language text #############################
;默认界面跟随系统,也可以在此手动指定,zh=中文界面,en=英文界面
;Default interface follows the system, you can also specify it manually here, zh=Chinese interface, en=English interface.
lang =

;##################视频质量############################
;Video quality ############################
;视频处理质量,0-51的整数,0=无损处理尺寸较大速度很慢,51=质量最低尺寸最小处理速度最快
;Video processing quality, integer 0-51, 0=lossless processing with large size is very slow, 51=lowest quality with smallest size is fastest processing speed
crf=13

;#################模型名字列表#################################
;List of model names #################################
;可供选择的chatGPT模型,以英文逗号分隔
;Available chatGPT models, separated by English commas
chatgpt_model=gpt-3.5-turbo,gpt-4,gpt-4-turbo-preview,qwen,moonshot-v1-8k


;################声画字幕对齐相关#################################
;Sound and picture subtitle alignment related #################################

;音频最大加速倍数,默认1.5,即最大加速到 1.5倍速度,需设置1-100的数字,比如1.5,代表最大加速1.5倍
;Maximum audio acceleration, default 1.5, that is, the maximum acceleration to 1.5 times the speed, need to set the number of 1-100, such as 1.5, represents the maximum acceleration 1.5 times
audio_rate=1.5

; 设为大于1的数,代表最大允许慢速多少倍,0或1代表不进行视频慢放
; set to a number greater than 1, representing the maximum number of times allowed to slow down, 0 or 1 represents no video slowdown
video_rate=20

;是否移除配音末尾空白,true=移除,false=不移除
;Whether to remove voiceover end blanks, true=remove, false=don't remove
remove_silence=true

;是否移除原始字幕时长大于配音时长 的静音,比如原时长5s,配音后3s,是否移除这2s静音,true=移除,false=不移除
;If or not remove the silence when the original duration of subtitle is longer than the dubbing duration, for example, if the original duration is 5s and the dubbing duration is 3s, if or not remove the 2s of silence, true=remove, false=don't remove.
remove_srt_silence=false

;移除2条字幕间的静音长度ms,比如100ms,即如果两条字幕间的间隔大于100ms时,将移除100ms
; Remove the mute length of ms between 2 subtitles, e.g. 100ms, i.e. if the interval between two subtitles is greater than 100ms, 100ms will be removed
remove_white_ms=0


;true=强制修改字幕时间轴以便匹配声音,false=不修改,保持原始字幕时间轴,不修改可能导致字幕和声音不匹配
;true=Forces the subtitle timeline to be modified in order to match the sound, false=Does not modify it, keeps the original subtitle timeline, not modifying it may result in a mismatch between the subtitle and the sound
force_edit_srt=true

; ###############语句分割相关##################################
; statement segmentation related ##################################

;用于 预先分割 和 整体识别 时,作为切割依据的最小静音片段ms,默认200ms 以及最大句子时长3s
;The minimum silent segmentation ms, default 200ms, and the maximum sentence length 3s are used for pre-segmentation and overall recognition as the basis for segmentation.
overall_silence=200
overall_maxsecs=3

;用于均等分割时,作为切割依据的最小静音片段ms,默认200ms,即只有大于等于200ms的静音处才分割
; used for equal segmentation, as the basis for cutting the minimum silence segment ms, the default 200ms, that is, only greater than or equal to 200ms silence at the split
voice_silence=200
;用于均等分割时的每个切片时长 秒,默认 6s,即每个字幕时长大约都是6s
;seconds per slice for equalization, default 6s, i.e. each subtitle is about 6s.
interval_split=6


;################翻译配音速度#############################
;Translation dubbing speed #############################

;同时翻译的数量,1-20,不要太大,否则可能触发翻译api频率限制
;Translation dubbing speed #############################
trans_thread=15

;翻译出错重试次数
;Number of retries for translation errors
retries=2

;同时配音的数量,1-10,建议不要大于5,否则容易失败
; The number of simultaneous voiceovers, 1-10, it is recommended not to be greater than 5, otherwise it will be easy to fail
dubbing_thread=5


;字幕识别完成等待翻译前的暂停秒数,和翻译完等待配音的暂停秒数
; seconds of pause before subtitle recognition is completed and waiting for translation, and seconds of pause after translation and waiting for dubbing.
countdown_sec=15


;#####################背景声音########################################
;Background sound ########################################

;背景声音音量降低或升高幅度,大于1升高,小于1降低
; Background sound volume is lowered or raised, greater than 1 raised, less than 1 lowered
backaudio_volume=0.5

;背景音分离时切分片段,太长的音频会耗尽显存,因此切分后分离,单位s,默认 600s
;Background sound is separated by a slice, if the audio is too long, it will exhaust the memory, so it is separated by a slice, the unit is s, default is 600s.
separate_sec=600

; 如果背景音频时长短于视频,是否重复播放背景音,默认否
;Background sound is separated by a slice, if the audio is too long, it will exhaust the memory, so it is separated by a slice, the unit is s, default is 600s.
loop_backaudio=false


;####################GPU FFmpeg #####################################

;硬件编码设备,cuvid或cuda
; Hardware encoding device, cuvid or cuda
hwaccel=cuvid

;硬件输出格式,nv12或cuda
; Hardware encoding device, cuvid or cuda
hwaccel_output_format=nv12

;是否禁用硬件解码,true=禁用,兼容性好;false=启用,可能某些硬件上有兼容错误
;Whether to disable hardware decoding, true=disable, good compatibility; false=enable, there may be compatibility errors on some hardware.
no_decode=true



; ##################字幕识别-GPU提高降低性能相关############################################
;Subtitle Recognition - GPU Improvement Reduced Performance Related
;从视频中识别字幕时的cuda数据类型,int8=消耗资源少,速度快,精度低,float32=消耗资源多,速度慢,精度高,int8_float16=设备自选
; cuda data type when recognizing subtitles from video, int8=consumes fewer resources, faster, lower precision, float32=consumes more resources, slower, higher precision, int8_float16=device of choice
cuda_com_type=float32

;中文语言的视频时,用于识别的提示词,可解决简体识别为繁体问题。但注意,有可能直接会将提示词作为识别结果返回
;The prompt words used to recognize videos in Chinese language can solve the problem of recognizing simplified Chinese as traditional Chinese. But note that there is a possibility that the prompt word will be returned directly as the result of the recognition.
initial_prompt_zh=

;字幕识别时,cpu进程
;cpu process during subtitle recognition
whisper_threads=4

;字幕识别时,同时工作进程
; Simultaneous work processes during subtitle recognition
whisper_worker=1

;字幕识别时精度调整,1-5,1=消耗资源最低,5=消耗最多,如果显存充足,可以设为5,可能会取得更精确的识别结果
;Subtitle recognition accuracy adjustment, 1-5, 1 = consume the lowest resources, 5 = consume the most, if the video memory is sufficient, you can set it to 5, you may get more accurate recognition results.
beam_size=5
best_of=5

;faster-whisper字幕整体识别模式时启用自定义静音分割片段,true=启用,显存不足时,可以设为false禁用
;Enable custom mute segmentation when subtitles are in overall recognition mode, true=enable, can be set to false to disable when video memory is insufficient.
vad=true

;0=占用更少GPU资源但效果略差,1=占用更多GPU资源同时效果更好
;0 = less GPU resources but slightly worse results, 1 = more GPU resources and better results at the same time
temperature=1

;同 temperature, true=占用更多GPU效果更好,false=占用更少GPU效果略差
; same as temperature, true=better with more GPUs, false=slightly worse with fewer GPUs
condition_on_previous_text=false




; ###################字幕设置相关 Subtitle Settings######################################

;硬字幕时可在这里设置字幕字体大小,填写整数数字,比如12,代表字体12px大小,20代表20px大小,0等于默认大小
;Hard subtitles can be set here when the subtitle font size, fill in the integer numbers, such as 12, on behalf of the font size of 12px, 20 on behalf of the size of 20px, 0 is equal to the default size
fontsize=16

;中日韩字幕一行长度字符个数,多于这个将换行
;CJK subtitle line length character count, more than this will be line feeds.
cjk_len=30

;其他语言换行长度,多于这个字符数量将换行
;Other language line breaks, more than this number of characters will be a line break.
other_len=60

;用于兼容ffmpeg,如果出现ffmpeg报错,错误中含有 vysnc字样,可改为 vsync=vfr
; used for ffmpeg compatibility, if ffmpeg error, the error contains the word vysnc, can be changed to vsync=vfr
vsync=passthrough

;当配音长度大于视频长度时,是否延长视频,true=延长,false=不延长,将截断音频
;If or not extend the video when the dubbing length is greater than the video length, true=extend, false=don't extend, the audio will be truncated.
append_video=true

;true=批量任务时分为 识别、翻译、配音、合并 多阶段交叉执行,加快速度,false=前面全部完成后才开始下一个
;true=The batch task is divided into recognition, translation, dubbing, merging, and multi-stage cross-execution to accelerate the speed, false=The next one starts after all the previous ones are completed.
cors_run=true

CUDA 加速支持

安装CUDA工具 windows上详细安装方法

必须 cuda和cudnn都安装好,否则可能会闪退。

Linux上 pip install nvidia-cublas-cu11 nvidia-cudnn-cu11

安装完成后执行 python testcuda.py 或 双击 testcuda.exe 如果输出均是 ok ,说明可用

有时会遇到“cublasxx.dll不存在”的错误, 或者未遇到此错误,并且CUDA配置正确,但始终出现识别错误,需要下载 cuBLAS,然后将dll文件复制到系统目录下

点击下载 cuBLAS,解压后将里面的dll文件复制到 C:/Windows/System32下

视频教程(第三方)

Mac下源码部署/b站

用Gemini Api 给视频翻译设置方法/b站

如何下载和安装

软件预览截图

image

相关联项目

OTT:本地离线文字翻译工具

声音克隆工具:用任意音色合成语音

语音识别工具:本地离线的语音识别转文字工具

人声背景乐分离:人声和背景音乐分离工具

GPT-SoVITS的api.py改良版

致谢

本程序主要依赖的部分开源项目

  1. ffmpeg
  2. PySide6
  3. edge-tts
  4. faster-whisper
  5. openai-whisper
  6. pydub

关注作者微信公众号

如果觉得该项目对你有价值,并希望该项目能一直稳定持续维护,欢迎捐助

pyvideotrans's People

Contributors

alexsandropopovic avatar jianchang512 avatar wwqgtxx avatar xuenew avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pyvideotrans's Issues

一点小建议

若调用openai-whisper的翻译能力就好了,准确度应该远超google,而且是离线,或者用fast-whisper

日志输出界面会一直有输出

1.字幕编辑的时候会一直输出 “等待修改字幕”
2. 在右边修改字幕的时候,右边每输入一个字符 左边输出框就会输出“等待编辑字幕(点击继续合成)”

这条可以酌情修改
如果一开始没有选择配音角色,等待生成完字幕后,在右边编辑完字幕,再选择配音角色 然后再点”继续合成“,最终结果不会有配音,还是原始的音频

image

配音自动加速功能听起来比较奇怪?

感谢您的项目,非常棒。目前使用下来感觉有一个问题,就是汉语视频翻译为英文视频后,时长往往会增加,当我点击视频自动加速功能后,生成出来的视频有一些片段是被加速的,有一些没有被加速,被加速的部分听起来会非常奇怪,这个有没有什么未来的优化点?

我用的是百度KEY,前面还是可以,翻译中会把时间加进去,后播放翻译,每个片段里都有时间

INFO:qdarkstyle:QSS file successfully loaded.
INFO:qdarkstyle:Found version patches to be applied.
INFO:qdarkstyle:Found application patches to be applied.
WARNING:aiohttp.client:HTTPS proxies https://127.0.0.1:1159 are not supported, ignoring
INFO:VideoTrans:Will execute: ffmpeg -y -i F:/SPFY/1fanyiquan/KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3.mp4 -acodec pcm_s16le -ac 1 -f wav F:/SPFY/1fanyiquan/KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3.wav
INFO:VideoTrans:[get_large_audio_transcription] aud_path='F:/SPFY/1fanyiquan/KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3.wav'
folder_path='F:/SPFY/1fanyiquan'
audio_name='KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3'
sub_name='F:/SPFY/1fanyiquan/KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3.srt'
INFO:VideoTrans:start_time=597,end_time=11097,duration=(597, 11097, True)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c0_0_11.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '生活\n\n' to '生活'
INFO:VideoTrans:start_time=10597,end_time=21097,duration=(10597, 21097, True)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c1_10_21.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '在本教程中,我们将重现这场大火。\n\n' to '在本教程中,我们将重现这场大火。'
INFO:VideoTrans:start_time=20597,end_time=31097,duration=(20597, 31097, True)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c2_20_31.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '这个火球路线动画使用谷歌地球工作室和搅拌机。我们将利用地球工作室的工具附加程式化。\n\n' to '这个火球路线动画使用谷歌地球工作室和搅拌机。我们将利用地球工作室的工具附加程式化。'
INFO:VideoTrans:start_time=30597,end_time=41097,duration=(30597, 41097, True)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c3_30_41.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '设置路线样式,创建kml遮罩,并使用标记器工具创建位置标记。最后,我们将在后期效果中对其进行合成。。\n\n' to '设置路线样式,创建kml遮罩,并使用标记器工具创建位置标记。最后,我们将在后期效果中对其进行合成。。'
INFO:VideoTrans:start_time=40597,end_time=51097,duration=(40597, 51097, True)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c4_40_51.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '效果。事不宜迟,让我们开始吧。我们将在谷歌地球工作室创建一个新项目。我要把它命名为谷歌地球工作室。。\n\n' to '效果。事不宜迟,让我们开始吧。我们将在谷歌地球工作室创建一个新项目。我要把它命名为谷歌地球工作室。。'
INFO:VideoTrans:start_time=50597,end_time=52644,duration=(50597, 52644, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c5_50_52.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我要把这个命名为加冕礼。。\n\n' to '我要把这个命名为加冕礼。。'
INFO:VideoTrans:start_time=53275,end_time=57447,duration=(53275, 57447, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c6_53_57.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我将把这个视频的持续时间设置为245开始。。\n\n' to '我将把这个视频的持续时间设置为245开始。。'
INFO:VideoTrans:start_time=59664,end_time=62799,duration=(59664, 62799, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c7_59_62.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '对于这个项目,我们将使用kml文件开始。。\n\n' to '对于这个项目,我们将使用kml文件开始。。'
INFO:VideoTrans:start_time=63311,end_time=69366,duration=(63311, 69366, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c8_63_69.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '所以我们将切换回googleearthpro,看看我重新创建的几个kml。。\n\n' to '所以我们将切换回googleearthpro,看看我重新创建的几个kml。。'
INFO:VideoTrans:start_time=70920,end_time=73573,duration=(70920, 73573, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c9_70_73.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '这些将是模拟加冕典礼。。\n\n' to '这些将是模拟加冕典礼。。'
INFO:VideoTrans:start_time=74094,end_time=75048,duration=(74094, 75048, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c10_74_75.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '游行路线。。\n\n' to '游行路线。。'
INFO:VideoTrans:start_time=75595,end_time=76480,duration=(75595, 76480, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c11_75_76.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '为即将到来的。。\n\n' to '为即将到来的。。'
INFO:VideoTrans:start_time=76995,end_time=78301,duration=(76995, 78301, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c12_76_78.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '国王查理三世。。\n\n' to '国王查理三世。。'
INFO:VideoTrans:start_time=78809,end_time=79923,duration=(78809, 79923, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c13_78_79.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '经济衰退和加冕。。\n\n' to '经济衰退和加冕。。'
INFO:VideoTrans:start_time=80725,end_time=83574,duration=(80725, 83574, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c14_80_83.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '看这里的绿色的。这是伊丽莎白女王的加冕礼。。\n\n' to '看这里的绿色的。这是伊丽莎白女王的加冕礼。。'
INFO:VideoTrans:start_time=84722,end_time=92148,duration=(84722, 92148, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c15_84_92.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '红色与两者共享。然后蓝色是红色的加冕路线。。\n\n' to '红色与两者共享。然后蓝色是红色的加冕路线。。'
INFO:VideoTrans:start_time=92676,end_time=93642,duration=(92676, 93642, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c16_92_93.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '国王查理三世。。\n\n' to '国王查理三世。。'
INFO:VideoTrans:start_time=94745,end_time=96138,duration=(94745, 96138, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c17_94_96.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '所以我要保存这些。。\n\n' to '所以我要保存这些。。'
INFO:VideoTrans:start_time=96848,end_time=102831,duration=(96848, 102831, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c18_96_102.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content 'kml文件,你可以原谅我把abbey拼错了。我稍后会改正的。。\n\n' to 'kml文件,你可以原谅我把abbey拼错了。我稍后会改正的。。'
INFO:VideoTrans:start_time=110489,end_time=120989,duration=(110489, 120989, True)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c19_110_120.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们将切换回谷歌地球工作室,现在加载我在谷歌地球工作室保存的kml路线,或者更确切地说,在谷歌中。。\n\n' to '我们将切换回谷歌地球工作室,现在加载我在谷歌地球工作室保存的kml路线,或者更确切地说,在谷歌中。。'
INFO:VideoTrans:start_time=120489,end_time=121584,duration=(120489, 121584, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c20_120_121.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '正在收集谷歌地球专业。。\n\n' to '正在收集谷歌地球专业。。'
INFO:VideoTrans:start_time=122465,end_time=126212,duration=(122465, 126212, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c21_122_126.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '所以,我会加载第一个,然后再加载第二个。。\n\n' to '所以,我会加载第一个,然后再加载第二个。。'
INFO:VideoTrans:start_time=128482,end_time=131059,duration=(128482, 131059, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c22_128_131.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '然后双击。。。。\n\n' to '然后双击。。。。'
INFO:VideoTrans:start_time=131832,end_time=132771,duration=(131832, 132771, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c23_131_132.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content 'ml。\n\n' to 'ml。'
INFO:VideoTrans:start_time=133469,end_time=136061,duration=(133469, 136061, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c24_133_136.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '他将带我们去伦敦的那个地方。。\n\n' to '他将带我们去伦敦的那个地方。。'
INFO:VideoTrans:start_time=137529,end_time=147251,duration=(137529, 147251, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c25_137_147.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '因此,红色路线代表离开白金汉宫,前往威斯敏斯特大教堂。所以我们要在右边的起点设置一个轨迹点。。\n\n' to '因此,红色路线代表离开白金汉宫,前往威斯敏斯特大教堂。所以我们要在右边的起点设置一个轨迹点。。'
INFO:VideoTrans:start_time=148037,end_time=151859,duration=(148037, 151859, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c26_148_151.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们就称之为他妈的火腿宫。。\n\n' to '我们就称之为他妈的火腿宫。。'
INFO:VideoTrans:start_time=154758,end_time=165258,duration=(154758, 165258, True)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c27_154_165.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们确实需要在每条路线的开头都有一个跟踪点,这样我们就可以在搅拌机中匹配它们。现在我们来看看蓝色路线,并添加一个轨迹点。。\n\n' to '我们确实需要在每条路线的开头都有一个跟踪点,这样我们就可以在搅拌机中匹配它们。现在我们来看看蓝色路线,并添加一个轨迹点。。'
INFO:VideoTrans:start_time=164758,end_time=168007,duration=(164758, 168007, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c28_164_168.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '点,我们称之为这个。\n\n' to '点,我们称之为这个。'
INFO:VideoTrans:start_time=168627,end_time=170017,duration=(168627, 170017, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c29_168_170.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content 'abby启动错误。。\n\n' to 'abby启动错误。。'
INFO:VideoTrans:start_time=173075,end_time=182897,duration=(173075, 182897, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c30_173_182.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '现在我们需要为搅拌机提供一些轨迹点面包屑,以便在整个路线生成过程中保持适当的高度。。\n\n' to '现在我们需要为搅拌机提供一些轨迹点面包屑,以便在整个路线生成过程中保持适当的高度。。'
INFO:VideoTrans:start_time=183426,end_time=193926,duration=(183426, 193926, True)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c31_183_193.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '这是通过选择我们知道kml数据上可能有点的区域来实现的。所以我通常选择角或点。。\n\n' to '这是通过选择我们知道kml数据上可能有点的区域来实现的。所以我通常选择角或点。。'
INFO:VideoTrans:start_time=193426,end_time=203161,duration=(193426, 203161, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c32_193_203.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '或者知道有一些点将能够检测kml文件的高度和位置的曲线。。\n\n' to '或者知道有一些点将能够检测kml文件的高度和位置的曲线。。'
INFO:VideoTrans:start_time=203731,end_time=214231,duration=(203731, 214231, True)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c33_203_214.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '因此,我将遍历这些路线中的每一条,并添加额外的轨迹点。他们不需要被点名。同样,这些只是用来上传的面包屑。\n\n' to '因此,我将遍历这些路线中的每一条,并添加额外的轨迹点。他们不需要被点名。同样,这些只是用来上传的面包屑。'
INFO:VideoTrans:start_time=213731,end_time=215298,duration=(213731, 215298, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c34_213_215.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content 'kml数据。。\n\n' to 'kml数据。。'
INFO:VideoTrans:start_time=215893,end_time=216586,duration=(215893, 216586, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c35_215_216.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '加入搅拌机。。\n\n' to '加入搅拌机。。'
INFO:VideoTrans:start_time=218601,end_time=226058,duration=(218601, 226058, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c36_218_226.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我之前在第0帧设置了一个关键帧,正如你在那里看到的那样。这是整个路线的俯视图。。\n\n' to '我之前在第0帧设置了一个关键帧,正如你在那里看到的那样。这是整个路线的俯视图。。'
INFO:VideoTrans:start_time=226668,end_time=232070,duration=(226668, 232070, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c37_226_232.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '这将使我们能够在搅拌机中使用几帧就可以开始了。。\n\n' to '这将使我们能够在搅拌机中使用几帧就可以开始了。。'
INFO:VideoTrans:start_time=232646,end_time=235042,duration=(232646, 235042, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c38_232_235.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '在我们进行接下来的两个步骤时。所以\n\n' to '在我们进行接下来的两个步骤时。所以'
INFO:VideoTrans:start_time=235550,end_time=241722,duration=(235550, 241722, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c39_235_241.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们要做一个图像序列,第0帧到第5帧,我们只使用hd。。\n\n' to '我们要做一个图像序列,第0帧到第5帧,我们只使用hd。。'
INFO:VideoTrans:start_time=242367,end_time=246618,duration=(242367, 246618, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c40_242_246.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '分辨率或维度,以及json跟踪。。\n\n' to '分辨率或维度,以及json跟踪。。'
INFO:VideoTrans:start_time=247176,end_time=250155,duration=(247176, 250155, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c41_247_250.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '所以我们点击开始按钮,然后。。。。\n\n' to '所以我们点击开始按钮,然后。。。。'
INFO:VideoTrans:start_time=250704,end_time=252214,duration=(250704, 252214, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c42_250_252.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '将其发送以进行渲染。。\n\n' to '将其发送以进行渲染。。'
INFO:VideoTrans:start_time=253499,end_time=257661,duration=(253499, 257661, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c43_253_257.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '因此,由于只需要渲染六帧,所以速度非常快。。\n\n' to '因此,由于只需要渲染六帧,所以速度非常快。。'
INFO:VideoTrans:start_time=258190,end_time=260417,duration=(258190, 260417, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c44_258_260.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '所以我们现在就跳进搅拌机里。。\n\n' to '所以我们现在就跳进搅拌机里。。'
INFO:VideoTrans:start_time=261440,end_time=263546,duration=(261440, 263546, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c45_261_263.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们将导入。。。。\n\n' to '我们将导入。。。。'
INFO:VideoTrans:start_time=264279,end_time=265622,duration=(264279, 265622, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c46_264_265.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '谷歌地球工作室数据。。\n\n' to '谷歌地球工作室数据。。'
INFO:VideoTrans:start_time=266253,end_time=269694,duration=(266253, 269694, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c47_266_269.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '因此,再次使用rstudio工具,我们将跳转到rstudio选项卡。。\n\n' to '因此,再次使用rstudio工具,我们将跳转到rstudio选项卡。。'
INFO:VideoTrans:start_time=270393,end_time=276452,duration=(270393, 276452, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c48_270_276.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '并选择我们的镜头。因此,我们将选择文件夹,然后选择第一项。。\n\n' to '并选择我们的镜头。因此,我们将选择文件夹,然后选择第一项。。'
INFO:VideoTrans:start_time=277342,end_time=280115,duration=(277342, 280115, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c49_277_280.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '然后关联的json文件。。\n\n' to '然后关联的json文件。。'
INFO:VideoTrans:start_time=287174,end_time=290009,duration=(287174, 290009, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c50_287_290.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '然后我们将单击导入或工作室。。\n\n' to '然后我们将单击导入或工作室。。'
INFO:VideoTrans:start_time=290989,end_time=295505,duration=(290989, 295505, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c51_290_295.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '再说一遍,我们这里只得到五帧动画。。\n\n' to '再说一遍,我们这里只得到五帧动画。。'
INFO:VideoTrans:start_time=296009,end_time=304406,duration=(296009, 304406, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c52_296_304.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们将在将来覆盖它,以便获得完整的动画。但首先,我们将使用这五个帧来创建我们的掩码kml。。\n\n' to '我们将在将来覆盖它,以便获得完整的动画。但首先,我们将使用这五个帧来创建我们的掩码kml。。'
INFO:VideoTrans:start_time=306133,end_time=311076,duration=(306133, 311076, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c53_306_311.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '所以为了让事情更容易看,我只想从选项菜单中删除我们的关系线。。\n\n' to '所以为了让事情更容易看,我只想从选项菜单中删除我们的关系线。。'
INFO:VideoTrans:start_time=311910,end_time=317490,duration=(311910, 317490, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c54_311_317.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们现在需要做的是导入原始的kml文件。。\n\n' to '我们现在需要做的是导入原始的kml文件。。'
INFO:VideoTrans:start_time=318142,end_time=320928,duration=(318142, 320928, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c55_318_320.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '使用地球工作室工具。所以我们使用import。。\n\n' to '使用地球工作室工具。所以我们使用import。。'
INFO:VideoTrans:start_time=321460,end_time=322125,duration=(321460, 322125, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c56_321_322.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '频道,对吧?。\n\n' to '频道,对吧?。'
INFO:VideoTrans:start_time=322809,end_time=325583,duration=(322809, 325583, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c57_322_325.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们将选择原始kml文件。。\n\n' to '我们将选择原始kml文件。。'
INFO:VideoTrans:start_time=326505,end_time=329354,duration=(326505, 329354, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c58_326_329.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '它将使用我们所拥有的轨迹点。。\n\n' to '它将使用我们所拥有的轨迹点。。'
INFO:VideoTrans:start_time=329870,end_time=334999,duration=(329870, 334999, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c59_329_334.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '从谷歌地球工作室导入,以保持整个场景的高度。。\n\n' to '从谷歌地球工作室导入,以保持整个场景的高度。。'
INFO:VideoTrans:start_time=335980,end_time=342999,duration=(335980, 342999, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c60_335_342.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '因此,我们需要选择作为kml文件起点的捕捉。我们将选择我们的曲线作为nurbs。。\n\n' to '因此,我们需要选择作为kml文件起点的捕捉。我们将选择我们的曲线作为nurbs。。'
INFO:VideoTrans:start_time=343500,end_time=352649,duration=(343500, 352649, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c61_343_352.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们将把斜面深度设置为0.08。这应该是一个足够的大小,我们可以创建我们想要的合适的动画。。\n\n' to '我们将把斜面深度设置为0.08。这应该是一个足够的大小,我们可以创建我们想要的合适的动画。。'
INFO:VideoTrans:start_time=353831,end_time=358592,duration=(353831, 358592, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c62_353_358.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '然后,我们将选择我们的json文件,该文件与我们的googleearthstudio渲染图附在一起。。\n\n' to '然后,我们将选择我们的json文件,该文件与我们的googleearthstudio渲染图附在一起。。'
INFO:VideoTrans:start_time=359940,end_time=367484,duration=(359940, 367484, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c63_359_367.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '然后我们将把我们的积分减少设置为零,因为kml是手工制作的,所以没有任何不必要的积分。。\n\n' to '然后我们将把我们的积分减少设置为零,因为kml是手工制作的,所以没有任何不必要的积分。。'
INFO:VideoTrans:start_time=368033,end_time=369913,duration=(368033, 369913, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c64_368_369.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们的比赛距离一米远。。\n\n' to '我们的比赛距离一米远。。'
INFO:VideoTrans:start_time=370494,end_time=376373,duration=(370494, 376373, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c65_370_376.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '这就是kml路线离其中一个轨道点的距离。。\n\n' to '这就是kml路线离其中一个轨道点的距离。。'
INFO:VideoTrans:start_time=377302,end_time=379697,duration=(377302, 379697, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c66_377_379.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '所以我们将导入kml路线,您可以在那里看到它。。\n\n' to '所以我们将导入kml路线,您可以在那里看到它。。'
INFO:VideoTrans:start_time=380652,end_time=380654,duration=(380652, 380654, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c67_380_380.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '.\n\n' to '.'
INFO:VideoTrans:start_time=384915,end_time=388541,duration=(384915, 388541, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c68_384_388.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '在ges路径中,我们可以看到路由路径。。\n\n' to '在ges路径中,我们可以看到路由路径。。'
INFO:VideoTrans:start_time=389247,end_time=390976,duration=(389247, 390976, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c69_389_390.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们要给它加一种颜色。。\n\n' to '我们要给它加一种颜色。。'
INFO:VideoTrans:start_time=392004,end_time=396904,duration=(392004, 396904, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c70_392_396.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '所以我们将创建这种材料。这只是为了让它在搅拌机中对我们来说更突出一点。。\n\n' to '所以我们将创建这种材料。这只是为了让它在搅拌机中对我们来说更突出一点。。'
INFO:VideoTrans:start_time=397500,end_time=398099,duration=(397500, 398099, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c71_397_398.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '在这个阶段。。\n\n' to '在这个阶段。。'
INFO:VideoTrans:start_time=400235,end_time=408687,duration=(400235, 408687, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c72_400_408.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '因为我们可以将这个kml路线重新导入谷歌地球工作室,创建一个路线路径。。\n\n' to '因为我们可以将这个kml路线重新导入谷歌地球工作室,创建一个路线路径。。'
INFO:VideoTrans:start_time=409247,end_time=413043,duration=(409247, 413043, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c73_409_413.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们可以对实际形状进行修改。。\n\n' to '我们可以对实际形状进行修改。。'
INFO:VideoTrans:start_time=413632,end_time=416022,duration=(413632, 416022, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c74_413_416.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '以及路径本身的曲率。。\n\n' to '以及路径本身的曲率。。'
INFO:VideoTrans:start_time=416628,end_time=419187,duration=(416628, 419187, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c75_416_419.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '所以这里有了这个,我们正在选择路径。。\n\n' to '所以这里有了这个,我们正在选择路径。。'
INFO:VideoTrans:start_time=419727,end_time=430227,duration=(419727, 430227, True)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c76_419_430.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们正在提高活动样条曲线的分辨率。因此,在这种特殊情况下,我们将把订单u设置为4,并确保我们有。。。。\n\n' to '我们正在提高活动样条曲线的分辨率。因此,在这种特殊情况下,我们将把订单u设置为4,并确保我们有。。。。'
INFO:VideoTrans:start_time=429727,end_time=435950,duration=(429727, 435950, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c77_429_435.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '您选择的端点。你可以看到原来的路径本身就是一条线。。\n\n' to '您选择的端点。你可以看到原来的路径本身就是一条线。。'
INFO:VideoTrans:start_time=436486,end_time=446986,duration=(436486, 446986, True)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c78_436_446.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们可以对直线本身,即贝塞尔曲线进行调整和细分。这允许在实际路径中添加一些额外的几何体。。\n\n' to '我们可以对直线本身,即贝塞尔曲线进行调整和细分。这允许在实际路径中添加一些额外的几何体。。'
INFO:VideoTrans:start_time=446486,end_time=447433,duration=(446486, 447433, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c79_446_447.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '路径本身。。\n\n' to '路径本身。。'
INFO:VideoTrans:start_time=449555,end_time=455499,duration=(449555, 455499, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c80_449_455.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '这个特定的曲线将被导出为kml文件,并将替换我们原始的kml文件。。\n\n' to '这个特定的曲线将被导出为kml文件,并将替换我们原始的kml文件。。'
INFO:VideoTrans:start_time=456146,end_time=459627,duration=(456146, 459627, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c81_456_459.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '它将在谷歌地球工作室创建这个面具。\n\n' to '它将在谷歌地球工作室创建这个面具。'
INFO:VideoTrans:start_time=460213,end_time=468326,duration=(460213, 468326, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c82_460_468.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '但也将是我们的基础曲线,我们将在blender中使用它来动画化路线进展。。\n\n' to '但也将是我们的基础曲线,我们将在blender中使用它来动画化路线进展。。'
INFO:VideoTrans:start_time=470216,end_time=475007,duration=(470216, 475007, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c83_470_475.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '因此,我们将加载第二个kml文件并执行相同的修改。。\n\n' to '因此,我们将加载第二个kml文件并执行相同的修改。。'
INFO:VideoTrans:start_time=478619,end_time=486761,duration=(478619, 486761, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c84_478_486.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '因此,一旦我们对修改感到满意,我们现在将以一种可以加载回googleearthstudio的格式导出它。。\n\n' to '因此,一旦我们对修改感到满意,我们现在将以一种可以加载回googleearthstudio的格式导出它。。'
INFO:VideoTrans:start_time=487578,end_time=490244,duration=(487578, 490244, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c85_487_490.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '所以我们要选择导出对象为kml。。\n\n' to '所以我们要选择导出对象为kml。。'
INFO:VideoTrans:start_time=490912,end_time=493228,duration=(490912, 493228, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c86_490_493.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '给它一个填充色,我就给它这个。。\n\n' to '给它一个填充色,我就给它这个。。'
INFO:VideoTrans:start_time=493854,end_time=494355,duration=(493854, 494355, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c87_493_494.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '洋红\n\n' to '洋红'
INFO:VideoTrans:start_time=494856,end_time=498163,duration=(494856, 498163, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c88_494_498.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们不会使用线条颜色,因为我们的线条设置为零。。\n\n' to '我们不会使用线条颜色,因为我们的线条设置为零。。'
INFO:VideoTrans:start_time=498901,end_time=509401,duration=(498901, 509401, True)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c89_498_509.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们将选择我们的目标文件夹。因此,默认情况下,这将转到您保存搅拌机项目的位置。如果你还没有保存搅拌机项目,你可以选择一个文件夹。。\n\n' to '我们将选择我们的目标文件夹。因此,默认情况下,这将转到您保存搅拌机项目的位置。如果你还没有保存搅拌机项目,你可以选择一个文件夹。。'
INFO:VideoTrans:start_time=508901,end_time=509570,duration=(508901, 509570, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c90_508_509.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '选择文件夹。。\n\n' to '选择文件夹。。'
INFO:VideoTrans:start_time=510319,end_time=511869,duration=(510319, 511869, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c91_510_511.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '然后我们给它一个文件名。。\n\n' to '然后我们给它一个文件名。。'
INFO:VideoTrans:start_time=512909,end_time=518973,duration=(512909, 518973, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c92_512_518.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '这将使它在谷歌或工作室中脱颖而出。所以我们称这台搅拌机为2 abby。。\n\n' to '这将使它在谷歌或工作室中脱颖而出。所以我们称这台搅拌机为2 abby。。'
INFO:VideoTrans:start_time=519700,end_time=521388,duration=(519700, 521388, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c93_519_521.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们将以kml的形式出口。。\n\n' to '我们将以kml的形式出口。。'
INFO:VideoTrans:start_time=522333,end_time=524704,duration=(522333, 524704, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c94_522_524.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '然后选择第二个kml文件。。\n\n' to '然后选择第二个kml文件。。'
INFO:VideoTrans:start_time=525437,end_time=527650,duration=(525437, 527650, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c95_525_527.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们称之为abbey的搅拌机。。\n\n' to '我们称之为abbey的搅拌机。。'
INFO:VideoTrans:start_time=528810,end_time=530674,duration=(528810, 530674, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c96_528_530.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们将导出该kml文件。。\n\n' to '我们将导出该kml文件。。'
INFO:VideoTrans:start_time=533718,end_time=538567,duration=(533718, 538567, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c97_533_538.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '然后切换回googleearthstudio,我们现在可以加载这些kml文件。。\n\n' to '然后切换回googleearthstudio,我们现在可以加载这些kml文件。。'
INFO:VideoTrans:start_time=539149,end_time=541994,duration=(539149, 541994, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c98_539_541.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '将禁用以前的。。\n\n' to '将禁用以前的。。'
INFO:VideoTrans:start_time=542883,end_time=544268,duration=(542883, 544268, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c99_542_544.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '然后我们去文件,导入。。\n\n' to '然后我们去文件,导入。。'
INFO:VideoTrans:start_time=545063,end_time=546006,duration=(545063, 546006, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c100_545_546.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '覆盖kml。。\n\n' to '覆盖kml。。'
INFO:VideoTrans:start_time=547042,end_time=551015,duration=(547042, 551015, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c101_547_551.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们将选择我们创建的两个kml文件。。\n\n' to '我们将选择我们创建的两个kml文件。。'
INFO:VideoTrans:start_time=555768,end_time=558913,duration=(555768, 558913, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c102_555_558.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '你可以看到它是品红色的。。\n\n' to '你可以看到它是品红色的。。'
INFO:VideoTrans:start_time=559857,end_time=560724,duration=(559857, 560724, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c103_559_560.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '二\n\n' to '二'
INFO:VideoTrans:start_time=561281,end_time=563618,duration=(561281, 563618, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c104_561_563.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们将用它来掩盖我们的。。。。\n\n' to '我们将用它来掩盖我们的。。。。'
INFO:VideoTrans:start_time=564228,end_time=565870,duration=(564228, 565870, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c105_564_565.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '为我们的路线创建一个面具。。\n\n' to '为我们的路线创建一个面具。。'
INFO:VideoTrans:start_time=566654,end_time=568852,duration=(566654, 568852, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c106_566_568.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '让我们把第二个也装上去。。\n\n' to '让我们把第二个也装上去。。'
INFO:VideoTrans:start_time=570487,end_time=580987,duration=(570487, 580987, True)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c107_570_580.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '虽然你可以直接在googleearthstudio中使用这些kml文件并渲染最终项目,但我们将把它用作遮罩,这样我们就可以了。\n\n' to '虽然你可以直接在googleearthstudio中使用这些kml文件并渲染最终项目,但我们将把它用作遮罩,这样我们就可以了。'
INFO:VideoTrans:start_time=580487,end_time=589116,duration=(580487, 589116, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c108_580_589.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '因此,我们可以与3d对象交互,并在blender中创建具有视觉效果的自己的路线。。\n\n' to '因此,我们可以与3d对象交互,并在blender中创建具有视觉效果的自己的路线。。'
INFO:VideoTrans:start_time=591401,end_time=596061,duration=(591401, 596061, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c109_591_596.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '有时,被放入谷歌地球工作室的数据。。\n\n' to '有时,被放入谷歌地球工作室的数据。。'
INFO:VideoTrans:start_time=596627,end_time=607127,duration=(596627, 607127, True)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c110_596_607.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '超过了它的正常功能,您确实会出现页面崩溃。因此,我们要做的是尝试减少现有的数据量。\n\n' to '超过了它的正常功能,您确实会出现页面崩溃。因此,我们要做的是尝试减少现有的数据量。'
INFO:VideoTrans:start_time=606627,end_time=609410,duration=(606627, 609410, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c111_606_609.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '正在加载到web中的数据。。\n\n' to '正在加载到web中的数据。。'
INFO:VideoTrans:start_time=609962,end_time=620462,duration=(609962, 620462, True)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c112_609_620.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '通过减少我们的kml文件中的点数,进入谷歌地球工作室。正如你在这里看到的,我们有点崩溃,这意味着我们需要启动我们的项目。。\n\n' to '通过减少我们的kml文件中的点数,进入谷歌地球工作室。正如你在这里看到的,我们有点崩溃,这意味着我们需要启动我们的项目。。'
INFO:VideoTrans:start_time=619962,end_time=627565,duration=(619962, 627565, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c113_619_627.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '项目。所以让我们跳到blender中,修复这些kml路径或减少它们上的点数。。\n\n' to '项目。所以让我们跳到blender中,修复这些kml路径或减少它们上的点数。。'
INFO:VideoTrans:start_time=629121,end_time=633710,duration=(629121, 633710, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c114_629_633.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '所以跳回到blender,我们将选择单独的路线。。\n\n' to '所以跳回到blender,我们将选择单独的路线。。'
INFO:VideoTrans:start_time=634276,end_time=636697,duration=(634276, 636697, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c115_634_636.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '然后是bezier选项卡。。\n\n' to '然后是bezier选项卡。。'
INFO:VideoTrans:start_time=637320,end_time=640229,duration=(637320, 640229, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c116_637_640.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '呃,降低我们的决议你。。\n\n' to '呃,降低我们的决议你。。'
INFO:VideoTrans:start_time=640814,end_time=642125,duration=(640814, 642125, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c117_640_642.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '嗯。\n\n' to '嗯。'
INFO:VideoTrans:start_time=644191,end_time=647404,duration=(644191, 647404, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c118_644_647.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们将把它设置为线框模式,这样我们就可以看到。。\n\n' to '我们将把它设置为线框模式,这样我们就可以看到。。'
INFO:VideoTrans:start_time=648085,end_time=650526,duration=(648085, 650526, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c119_648_650.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '是的点数。\n\n' to '是的点数。'
INFO:VideoTrans:start_time=651049,end_time=654957,duration=(651049, 654957, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c120_651_654.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '调整u值、分辨率u值。。\n\n' to '调整u值、分辨率u值。。'
INFO:VideoTrans:start_time=655646,end_time=659388,duration=(655646, 659388, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c121_655_659.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '将调整路线本身的几何图形。。\n\n' to '将调整路线本身的几何图形。。'
INFO:VideoTrans:start_time=660036,end_time=666372,duration=(660036, 666372, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c122_660_666.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '所以我们将斜面设置为2,活动样条线分辨率设置为4,然后导出。。\n\n' to '所以我们将斜面设置为2,活动样条线分辨率设置为4,然后导出。。'
INFO:VideoTrans:start_time=666944,end_time=668294,duration=(666944, 668294, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c123_666_668.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '文件的新版本。。\n\n' to '文件的新版本。。'
INFO:VideoTrans:start_time=669907,end_time=672903,duration=(669907, 672903, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c124_669_672.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '然后我们将选择另一条样条曲线并执行相同的过程。。\n\n' to '然后我们将选择另一条样条曲线并执行相同的过程。。'
INFO:VideoTrans:start_time=675220,end_time=679113,duration=(675220, 679113, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c125_675_679.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '然后切换回googleearthstudio将重新导入新文件。。\n\n' to '然后切换回googleearthstudio将重新导入新文件。。'
INFO:VideoTrans:start_time=681818,end_time=692318,duration=(681818, 692318, True)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c126_681_692.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '虽然我们已经纠正了一些解决问题,但对于谷歌或工作室来说,这仍然是一个相当大的工作量。所以一旦我们把它们装好,我们就要开始了。\n\n' to '虽然我们已经纠正了一些解决问题,但对于谷歌或工作室来说,这仍然是一个相当大的工作量。所以一旦我们把它们装好,我们就要开始了。'
INFO:VideoTrans:start_time=691818,end_time=695172,duration=(691818, 695172, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c127_691_695.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们将在制作动画时隐藏它们。。\n\n' to '我们将在制作动画时隐藏它们。。'
INFO:VideoTrans:start_time=697418,end_time=700563,duration=(697418, 700563, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c128_697_700.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '所以我在这里使用了一个相机目标和。。。。\n\n' to '所以我在这里使用了一个相机目标和。。。。'
INFO:VideoTrans:start_time=701238,end_time=704900,duration=(701238, 704900, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c129_701_704.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '相机本身在关键帧上的定位。。\n\n' to '相机本身在关键帧上的定位。。'
INFO:VideoTrans:start_time=705598,end_time=709828,duration=(705598, 709828, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c130_705_709.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '然后我将返回并使用地图视图调整曲线。。\n\n' to '然后我将返回并使用地图视图调整曲线。。'
INFO:VideoTrans:start_time=710556,end_time=712834,duration=(710556, 712834, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c131_710_712.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '随着我们在整个跑步过程中的进步。。\n\n' to '随着我们在整个跑步过程中的进步。。'
INFO:VideoTrans:start_time=714984,end_time=720625,duration=(714984, 720625, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c132_714_720.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '完成这个过程大约需要15-20分钟,但我已经为你加快了速度。。\n\n' to '完成这个过程大约需要15-20分钟,但我已经为你加快了速度。。'
INFO:VideoTrans:start_time=723378,end_time=730508,duration=(723378, 730508, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c133_723_730.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '因此,一旦我完成了我的基本相机,我会仔细检查曲线,并进行几次回放。。\n\n' to '因此,一旦我完成了我的基本相机,我会仔细检查曲线,并进行几次回放。。'
INFO:VideoTrans:start_time=731052,end_time=732596,duration=(731052, 732596, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c134_731_732.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '确保我对动画很满意。。\n\n' to '确保我对动画很满意。。'
INFO:VideoTrans:start_time=733644,end_time=740294,duration=(733644, 740294, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c135_733_740.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '一旦我对它的工作感到满意,我就会将其设置为使用遮罩进行渲染。。\n\n' to '一旦我对它的工作感到满意,我就会将其设置为使用遮罩进行渲染。。'
INFO:VideoTrans:start_time=744267,end_time=753539,duration=(744267, 753539, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c136_744_753.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '所以一旦完成渲染,我们现在想制作一个没有遮罩的版本。所以我们将显示覆盖面板,并禁用所有kml对象。。\n\n' to '所以一旦完成渲染,我们现在想制作一个没有遮罩的版本。所以我们将显示覆盖面板,并禁用所有kml对象。。'
INFO:VideoTrans:start_time=754519,end_time=756343,duration=(754519, 756343, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c137_754_756.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '然后我们将单击渲染按钮。。\n\n' to '然后我们将单击渲染按钮。。'
INFO:VideoTrans:start_time=756900,end_time=759967,duration=(756900, 759967, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c138_756_759.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '并将创建一个没有掩码的版本。。\n\n' to '并将创建一个没有掩码的版本。。'
INFO:VideoTrans:start_time=762493,end_time=770669,duration=(762493, 770669, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c139_762_770.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '现在我们已经完成了两个主要渲染,我们可以回到blender中,用所有数据重新加载项目。。\n\n' to '现在我们已经完成了两个主要渲染,我们可以回到blender中,用所有数据重新加载项目。。'
INFO:VideoTrans:start_time=771514,end_time=774399,duration=(771514, 774399, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c140_771_774.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '所以我们将进行干净的渲染。。\n\n' to '所以我们将进行干净的渲染。。'
INFO:VideoTrans:start_time=775015,end_time=778305,duration=(775015, 778305, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c141_775_778.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们将在那里选择图像。这是一个没有戴口罩的。。\n\n' to '我们将在那里选择图像。这是一个没有戴口罩的。。'
INFO:VideoTrans:start_time=779005,end_time=784045,duration=(779005, 784045, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c142_779_784.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '然后我们将选择与该渲染相关联的json文件。。\n\n' to '然后我们将选择与该渲染相关联的json文件。。'
INFO:VideoTrans:start_time=785498,end_time=788216,duration=(785498, 788216, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c143_785_788.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '我们将引进她的工作室。。\n\n' to '我们将引进她的工作室。。'
INFO:VideoTrans:start_time=788759,end_time=798009,duration=(788759, 798009, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c144_788_798.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

INFO:srt:Legalised content '现在您可以拥有多个版本的导入。它将保留您在其中加载的先前轨迹点的版本。。\n\n' to '现在您可以拥有多个版本的导入。它将保留您在其中加载的先前轨迹点的版本。。'
INFO:VideoTrans:start_time=798783,end_time=808445,duration=(798783, 808445, False)
INFO:VideoTrans:sr.AudioFile:chunk_filename='F:/SPFY/1fanyiquan/##KingCharlesIIICoronationRoute-GoogleEarthStudio_Blender_3_tmp/c145_798_808.wav'
INFO:VideoTrans:target_language=zh,[translate ok]

取消配音自动加速会导致合成的音频部分丢失

您好作者,由于勾选配音自动加速会导致声音变调,不同段落的声音听起来很不同,所以我是打算先把原始音频转化到希望的语言,再把视频内容做一些调整,现在碰到的问题是,取消配音自动加速后,由于合成的英文语音长度比原始音频长,最后会有一段音频丢失了。有没有什么办法可以单独导出TTS之后的完整音频,而不做截断呢?谢谢

macOS 14 使用源码无法正常运行

系统版本:macOS 14.1
Python版本:3.9.6 「系统自带版本」

使用 pip3 install -r requirements.txt 安装依赖后执行 cli 命令
python3 cli.py --source_mp4 "/Users/leslie/Downloads/xxxx.mp4" --source_language ja --target_language zh-cn --proxy "http://127.0.0.1:7890" --voice_replace zh-CN-XiaoxiaoNeural
终端输入错误提示
Traceback (most recent call last): File "/Users/xxx/Documents/Code/GitHub/pyvideotrans/cli.py", line 8, in <module> from configure.tools import get_list_voices, get_large_audio_transcription, logger, runffmpeg,delete_temp File "/Users/xxx/Documents/Code/GitHub/pyvideotrans/configure/tools.py", line 19, in <module> import openai ModuleNotFoundError: No module named 'openai'

再使用 pip3安装 openai
pip3 install openai
安装完成后再次执行 cli 命令,提示这个错误
Traceback (most recent call last): File "/Users/xxx/Documents/Code/GitHub/pyvideotrans/cli.py", line 8, in <module> from configure.tools import get_list_voices, get_large_audio_transcription, logger, runffmpeg,delete_temp File "/Users/xxx/Documents/Code/GitHub/pyvideotrans/configure/tools.py", line 25, in <module> asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) AttributeError: module 'asyncio' has no attribute 'WindowsSelectorEventLoopPolicy'

求助,生成后视频无声音

求助,原视频边上也生成了字幕文件,但是翻译后的视频就是无声音(字幕正常嵌入),什么声音都没有,请大佬帮我看下,是不是少了什么模型文件,谢谢
173250

[功能请求] 增加video_autorate选项

类似于:--voice_autorate: 如果翻译后的音频时长超过原时长,是否强制加速播放翻译后的音频,以便对齐时长
有时候音频加速太快 以至于都完全无法听清,所以是否可以提供一个自动调整视频的选项,把对应时段内的视频慢放,以对齐时长

请求帮助,2个小问题

谢谢大佬辛勤的工作,弄个QQ群吧,我就2个小问题
1 小,中,大模型能否自行下载呢,下好后丢入哪个文件夹呀 用梯子下载老断,
2 我打开软件界面是英文的,在哪里修改参数变成中文呢
再次感谢作者无私的分享~
1102112309

无法启动,报找不到speech_recognition模块

python sp.py
Traceback (most recent call last):
File "D:\AITest\pyvideotrans-main\sp.py", line 9, in
from tools import get_list_voices, get_large_audio_transcription, runffmpeg
File "D:\AITest\pyvideotrans-main\tools.py", line 10, in
import speech_recognition as sr
ModuleNotFoundError: No module named 'speech_recognition'

D:\AITest\pyvideotrans-main>pip install speech_recognition
ERROR: Could not install packages due to an OSError: Missing dependencies for SOCKS support.

[notice] A new release of pip is available: 23.0 -> 23.3.1
[notice] To update, run: python.exe -m pip install --upgrade pip

会自己调用gpu吗

设备:amd的5800u自带核显。
问题:测试只能调用cpu,速度很慢。之前用过WhisperDesktop这个开源软件它可以调用gpu。速度快很多,不知道这个项目可以实现吗?

没有生成视频文件和字幕文件

image
image
您好,请问为什么这里会报这样的错误,右边的字幕好像也翻译了,但是就是没办法生成对应的视频文件和字幕文件

解压后第一次执行报错

Traceback (most recent call last):
File "sp.py", line 391, in
File "sp.py", line 89, in init
File "sp.py", line 110, in initUI
AttributeError: 'MainWindow' object has no attribute 'translate_type'

internal\tcl" not found.

2023-10-30_211546

When I run sp.exe, an error is reported as shown above(video-tranlate-v0.5.3).
This is a Windows 10 laptop using Ryzne3 5300U.

ffmpeg 执行结果:失败

如题目,我电脑是windows 10 视频路径是不带英文的,执行结果报错了:ffmpeg 执行结果:失败

视频过长的时候会卡住但不报错,不关闭不退出

翻译已完成,在合并的阶段。
这是日志里面的最后三行记录:
INFO:srt:Legalised content '大卫·哈塞尔霍夫主演的《沙卡祖鲁》电影的成员..\n\n' to '大卫·哈塞尔霍夫主演的《沙卡祖鲁》电影的成员..'
INFO:srt:Legalised content '永远不会忘记..\n\n' to '永远不会忘记..'
ERROR:VideoTrans:Get_large_audio_transcription error:list index out of range

报错

刚开始的时候我还运行起来了,还转来几个视频,后来我使用openaiTTS,配置了代理还有key,转成一次之后,在次进行翻译配音的时候就不行了
image

9.0

Traceback (most recent call last):
File "PyInstaller\loader\pyimod03_ctypes.py", line 53, in init
File "ctypes_init_.py", line 374, in init
FileNotFoundError: Could not find module 'F:\SPFYRJ\SP-videoTranslate-v0.9.0\libvlc.dll' (or one of its dependencies). Try using the full path with constructor syntax.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "sp.py", line 19, in
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "PyInstaller\loader\pyimod02_importers.py", line 391, in exec_module
File "box.py", line 14, in
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "PyInstaller\loader\pyimod02_importers.py", line 391, in exec_module
File "vlc.py", line 220, in
File "vlc.py", line 180, in find_lib
File "PyInstaller\loader\pyimod03_ctypes.py", line 55, in init
pyimod03_ctypes.install..PyInstallerImportError: Failed to load dynlib/dll '.\libvlc.dll'. Most likely this dynlib/dll was not found when the application was frozen.
启动时错误提示!!!无法打开程序!!!

使用时遇到的问题

在选择软字幕后,输出的视频换了多个播放器后,均没有嵌入的字幕。对比示例视频,工作流少了字幕嵌入的过程。
如图所示:
没有字幕嵌入的过程
案例
还有个小问题,语音识别的时间是以10秒为一部分,这一部分时间可以自定义修改吗?因为一些台词比较密的视频,会出现字幕都堆到一起情况

关于在mac上 novoice_xxx.mp4 没有生成成功的问题,以及添加百度翻译和兼容ios的pr

第一点 关于novoice的mp4没有正确生成以及mac上操作

/pyvideotrans/tmp/novoice_xxx.mp4: No such file or directory,

config.video['voice_role'] != 'No' and config.video['subtitle_type']>0
这里判断的subtitle_type 是0,只有这里生成novoice的mp4文件。 我改写了一下

   #get no voice mp4
    runffmpeg(f"-y -i {source_mp4} -c:v copy -an {config.rootdir}/tmp/novoice_{mp4name}")
    # add voice dubbing and subtitle
    if config.video['voice_role'] != 'No' and config.video['subtitle_type']>0:

在mac上我添加了能启动,

#windows
if sys.platform == 'win32':
    asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
else:
    asyncio.set_event_loop_policy(asyncio.DefaultEventLoopPolicy())

第二点 最近梯子太不稳定了,我打算加一个百度的翻译接口,在pyqt哪里加个下拉框选择翻译平台,

关于这个pr 有没有需要遵循你的格式或者特殊要求,我打算就google下面加个函数,pyqt哪里加个框,你看这样是否可以,可以的话我去提交pr 周三前应该可以提交

1 bug with cli.py

get_large_audio_transcriptioncli函数在检查srt字幕文件是否存在时,有判断逻辑错误。

[fix]
if os.path.exists(sub_name) or os.path.getsize(sub_name) == 0:
VVVV
if not os.path.exists(sub_name) or os.path.getsize(sub_name) <= 0:

0.9.1版本在window11上面不能用

文字识别和翻译出错:[Errno 2] N such file or directory:'C:/Users/阮欣怡/Desktop/video-translate-v0.9.1.21tmp/BIiAylzA5M jMxNDEyHTRfMTUwOTM1NzQ5HV8xHTzODU5KTEwTRfF8z bB6cef7fc7e49f44410a8bae92bdaffe85/##BIAylzA5M MxNDEyTRNTUw0TH1NzQ5HY8xHTMzDU5HTEwHTRfNF8z b B6cef7fc7e49f44410a8bae92bdaffe85_tmp/letected voice.ison
BIiAyIzA5M iMxIDEyITRMTUwOTH1N2Q5HV8xTIZODU5MTEwMTRN8z b Bce7c7e49f44410a8bae92bdafte85 对音频文件按静音片段分割处理
B机iAvIzA5K讯xNDEYlTRNTUMTH1N205KV8xITHZODU5HTEMTRNF8z Bce7c7e49f44410a8bae92bdaffe85 M视频中抽离音家

开始执行后,报这个错,我查了tmp文件夹是自动创建的,也是有权限的,但还是报这个错

使用vpn需开启全局模式并且不需要设置代理端口

使用vpn的时候需要全局模式,并且不需要也不可以进行代理端口设置。

我想可能是我使用的vpn工作在最底层物理层,虚拟了一个网卡强制接管了本机的所有数据。所以不需要任何代理的端口设置。如果使用vpn的智能模式,我尝试了各种设置都无效。
我想可能也有一些人和我一样使用vpn而不是机场,所以提出来,希望能够有所帮助。

两个建议——跟进反馈

非常感谢你创建了如此优秀的工具,有两个小小的建议
1.保留原始语言的字幕文件,这个就可以制作双语字幕
2.可选生成带字幕的视频,对太多数人来说,只要有翻译后的字幕文件就够了。

第三方代理的openai报错

文字识别和翻译出错:list index out of range

链接是:代理网址/v1. 平时使用其它服务都没有问题
语音模型是base或者small.

难道是高并发导致罢工了?

有用第三方代理的openai成功的大佬吗?
image

Unable to open 1.srt [AVFilterGraph @ 000001b6c79c6f40] Error initializing filters

[Parsed_subtitles_0 @ 000001b6c79c6fc0] libass API version: 0x1701000
[Parsed_subtitles_0 @ 000001b6c79c6fc0] libass source: commit: 5c15c883a4783641f7e71a6a1f440209965eb64f-dirty
[Parsed_subtitles_0 @ 000001b6c79c6fc0] Shaper: FriBidi 1.0.13 (SIMPLE) HarfBuzz-ng 8.2.1 (COMPLEX)
[Parsed_subtitles_0 @ 000001b6c79c6fc0] Unable to open 1.srt
[AVFilterGraph @ 000001b6c79c6f40] Error initializing filters
[vost#0:0/libx264 @ 000001b6c7962ac0] Error initializing a simple filtergraph

image

关于系统用户对视频目录权限

如果系统用户对视频目录没有创建目录和文件的权限,没有写入权限,软件会卡住不动,不报错不关闭退出。
日志里面有记录。软件没有提示。

翻译问题

用deepl 接口,提示str object has not attribute text 然后gbt3.5 提示可能是文本过长,这个怎么解决呀

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.