English / Fai una donazione al progetto / Discord
Scarica la versione precompilata per Windows del file exe
È uno strumento di doppiaggio per la traduzione di video che traduce un video in una lingua in un video in una lingua specificata, genera e aggiunge automaticamente sottotitoli e doppiaggio in quella lingua.
Il riconoscimento vocale si basa su
faster-whisper
un modello offlineSupporto per la traduzione di testi
google|baidu|tencent|chatGPT|Azure|Gemini|DeepL|DeepLX
,Supporto
Microsoft Edge tts
Openai TTS-1
per la sintesi vocaleElevenlabs TTS
【Traduci video e doppiaggio】 Imposta ogni opzione secondo necessità, configura liberamente la combinazione e realizza traduzione e doppiaggio, accelerazione e decelerazione automatiche, fusione, ecc
[Estrai sottotitoli senza traduzione] Seleziona un file video e seleziona la lingua di origine del video, quindi il testo verrà riconosciuto dal video e il file dei sottotitoli verrà automaticamente esportato nella cartella di destinazione
【Estrai sottotitoli e traduci】 Seleziona il file video, seleziona la lingua di origine del video e imposta la lingua di destinazione da tradurre, quindi il testo verrà riconosciuto dal video e tradotto nella lingua di destinazione, quindi il file dei sottotitoli bilingue verrà esportato nella cartella di destinazione
[Unione sottotitoli e video] Seleziona il video, quindi trascina e rilascia il file dei sottotitoli esistente nell'area dei sottotitoli a destra, imposta la lingua di origine e la lingua di destinazione sulla lingua dei sottotitoli, quindi seleziona il tipo di doppiaggio e il ruolo per avviare l'esecuzione
【Crea doppiaggio per i sottotitoli】 Trascina e rilascia il file dei sottotitoli locali nell'editor dei sottotitoli a destra, quindi seleziona la lingua di destinazione, il tipo di doppiaggio e il ruolo e trasferisci il file audio doppiato generato nella cartella di destinazione
[Riconoscimento testo audio e video] Trascina il video o l'audio nella finestra di riconoscimento e il testo verrà riconosciuto ed esportato in formato sottotitoli SRT
[Sintetizza testo in voce] Genera una voce fuori campo da un testo o da un sottotitolo utilizzando un ruolo di doppiaggio specifico
Separa audio da video Separa i file video in file audio e video silenziosi
【Unione di sottotitoli audio e video】 Unisci file audio, file video e file di sottotitoli in un unico file video
【Conversione di formati audio e video】 Conversione tra vari formati
【Traduzione dei sottotitoli】 Traduci file di testo o sottotitoli SRT in altre lingue
cn.mp4
Utilizzare win per precompilare la versione exe (altri sistemi utilizzano il codice sorgente per la distribuzione)
-
Fare clic su Download per scaricare la versione precompilata
-
Si consiglia di decomprimere i dati nel percorso inglese e il percorso non contiene spazi. Dopo la decompressione, fare doppio clic su sp.exe (se si verificano problemi di autorizzazione, è possibile fare clic con il pulsante destro del mouse per aprirlo con autorizzazioni di amministratore)
-
Se non viene eseguita alcuna uccisione, il software di uccisione domestica può avere falsi positivi, che possono essere ignorati o distribuiti utilizzando il codice sorgente
- Configurare l'ambiente Python 3.9->3.11
git clone https://github.com/jianchang512/pyvideotrans
cd pyvideotrans
python -m venv venv
- Corri sotto win
%cd%/venv/scripts/activate
, Linux e Macsource ./venv/bin/activate
pip install -r requirements.txt
Se riscontri un conflitto di versione, utilizzapip install -r requirements.txt --no-deps
(CUDA non è supportato su MacOS, sostituisci requirements.txt con requirements-mac.txt su Mac).- Estrai ffmpeg.zip nella directory principale (file .exe ffmpeg), Linux e Mac Si prega di installare ffmpeg da soli, il metodo specifico può essere "Baidu o Google"
python sp.py
Aprire l'interfaccia del software- Se è necessario supportare l'accelerazione CUDA, è necessario disporre di una scheda grafica NVIDIA sul dispositivo, vedere Supporto per l'accelerazione CUDA di seguito per precauzioni specifiche per l'installazione
-
Video originale: seleziona video MP4 / AVI / MOV / MKV / MPEG, puoi selezionare più video;
-
Directory video di output: se non si seleziona questa opzione, verrà generata nella stessa directory per impostazione predefinita
_video_out
e verranno creati due file di sottotitoli nella lingua originale e nella lingua di destinazione nella cartella SRT in questa directory -
Seleziona una traduzione: Seleziona google|baidu|tencent|chatGPT|Azzurro|Gemelli|DeepL|Canale di traduzione DeepLX
-
Indirizzo proxy web: se non riesci ad accedere direttamente a google/chatGPT nella tua regione, devi impostare un proxy nell'interfaccia del software Web Proxy, ad esempio, se utilizzi v2ray, compila
http://127.0.0.1:10809
. Sehttp://127.0.0.1:7890
hai modificato la porta predefinita o un altro software proxy che stai utilizzando, inserisci le informazioni necessarie -
Lingua originale: seleziona la lingua del video da tradurre
-
Lingua di destinazione: seleziona la lingua in cui desideri tradurre
-
Seleziona Doppiaggio: Dopo aver selezionato la lingua di destinazione per la traduzione, è possibile selezionare il ruolo di doppiaggio dalle opzioni di Doppiaggio.
Sottotitoli rigidi: si riferisce alla visualizzazione sempre dei sottotitoli, che non possono essere nascosti, se si desidera avere i sottotitoli durante la riproduzione nella pagina Web, selezionare l'incorporamento dei sottotitoli rigidi
Sottotitoli soft: se il lettore supporta la gestione dei sottotitoli, è possibile visualizzare o chiudere i sottotitoli, ma i sottotitoli non verranno visualizzati durante la riproduzione nella pagina Web, alcuni lettori nazionali potrebbero non supportarlo ed è necessario inserire il video generato con lo stesso nome file srt e video in una directory da visualizzare
-
Modello di riconoscimento vocale: selezionare base/piccolo/medio/grande-v3, l'effetto di riconoscimento sta migliorando sempre di più, ma la velocità di riconoscimento sta diventando sempre più lenta e la memoria richiesta sta diventando sempre più grande, il modello di base integrato, scaricare altri modelli separatamente, decomprimerli e inserirli nella
当前软件目录/models
directoryRiconoscimento/pre-segmentazione complessiva: il riconoscimento integrale si riferisce all'invio dell'intero file vocale direttamente al modello, che viene elaborato dal modello, e la segmentazione può essere più accurata, ma può anche creare un singolo sottotitolo con una lunghezza di 30 secondi, adatto per l'audio con silenziamento chiaro; La presegmentazione significa che l'audio viene tagliato a una lunghezza di circa 10 secondi e quindi inviato al modello per l'elaborazione.
Tutti i modelli sono disponibili per il download
Dopo il download, decomprimere e copiare la cartella models--systran--faster-whisper-xx nel pacchetto compresso nella directory models
Download di FFmepg (la versione compilata viene fornita con esso).
-
Velocità di doppiaggio: inserisci il numero compreso tra -90 e +90, la stessa frase in lingue diverse, il tempo richiesto è diverso, quindi i sottotitoli audio e immagine potrebbero non essere sincronizzati dopo il doppiaggio, puoi regolare la velocità di conversazione qui, i numeri negativi rappresentano la bassa velocità, i numeri positivi rappresentano la riproduzione accelerata.
-
Allineamento audio e video: rispettivamente "Accelerazione automatica della voce fuori campo" e "Rallentamento automatico del video"
Dopo la traduzione, lingue diverse hanno durate di pronuncia diverse, ad esempio una frase in cinese 3 secondi, tradotta in inglese può essere 5 secondi, con conseguente durata e video incoerenti.
Ci sono 2 modi per risolverlo:
1. Forzare le voci fuori campo per velocizzare la riproduzione per ridurre la durata della voce fuori campo e l'allineamento del video 2. Forza la riproduzione lenta del video in modo che la lunghezza del video sia maggiore e la voce fuori campo sia allineata.
Puoi scegliere solo uno dei due
-
Clip muto: immettere un numero compreso tra 100 e 2000, che rappresenta i millisecondi, e il valore predefinito è 500, ovvero il segmento silenziato maggiore o uguale a 500 ms viene utilizzato come intervallo per dividere la voce
-
**Accelerazione CUDA: verifica che la scheda **grafica del tuo computer sia una scheda N e che l'ambiente CUDA e il driver siano stati configurati, quindi abilita questa opzione, la velocità può essere notevolmente migliorata e il metodo di configurazione specifico è mostrato nel supporto per l'accelerazione CUDA di seguito
-
TTS: è possibile utilizzare i modelli edgeTTS e openai TTS per selezionare i caratteri che si desidera sintetizzare vocalmente e openai deve utilizzare l'interfaccia ufficiale o aprire l'interfaccia di terze parti del modello TTS-1
-
Fai clic sul pulsante Start in basso per visualizzare l'avanzamento e i registri correnti e i sottotitoli verranno visualizzati nella casella di testo a destra
-
Al termine dell'analisi dei sottotitoli, si fermerà e aspetterà che il sottotitolo venga modificato e, se non fai nulla, passerà automaticamente al passaggio successivo dopo 60 secondi. Puoi anche modificare i sottotitoli nell'area dei sottotitoli a destra, quindi fare clic manualmente per continuare la composizione
-
Nella sottodirectory del video con lo stesso nome nella cartella di destinazione, verranno generati rispettivamente il file SRT dei sottotitoli delle due lingue, la voce originale e il file WAV doppiato per facilitare l'ulteriore elaborazione
-
Imposta il ruolo della linea: è possibile impostare il ruolo di pronuncia per ogni riga nei sottotitoli, selezionare prima il tipo e il ruolo TTS a sinistra, quindi fare clic su "Imposta ruolo di linea" in basso a destra nell'area dei sottotitoli e inserire il numero di riga in cui si desidera utilizzare il doppiaggio del ruolo nel testo dietro il nome di ciascun personaggio, come mostrato nella figura seguente:
Non regolarlo a meno che tu non sappia cosa accadrà
;设置软件界面语言,en代表英文,zh代表中文
lang =
;同时配音线程数量
dubbing_thread=5
;同时翻译行数
trans_thread=10
;软件等待修改字幕倒计时
countdown_sec=60
;加速设备 cuvid 或 cuda
hwaccel=cuvid
; 加速设备输出格式,nv12 或 cuda
hwaccel_output_format=nv12
;是否使用硬件解码 -c:v h264_cuvid true代表是,false代表否
no_decode=false
;语音识别时,数据格式,int8 或 float16 或 float32
cuda_com_type=int8
; 语音识别线程数量,0代表和cpu核数一致,如果占用cpu太多,此处可设为4
whisper_threads=4
;语音识别工作进程数量
whisper_worker=1
;如果显存不足,下面2个值可以改为 1
beam_size=5
best_of=5
;预分割模式同时工作线程
split_threads=4
Installare lo strumento CUDA per i metodi di installazione dettagliati
Dopo aver installato CUDA, se si verifica un problema, eseguire pip uninstall torch torchaudio torchvision
Disinstalla, quindi passare a https://pytorch.org/get-started/locally/ in base al tipo di sistema operativo e alla versione di CUDA, selezionare pip3
il comando, passare pip
a , quindi copiare il comando da eseguire.
Al termine dell'installazione, eseguire Se l' python testcuda.py
output è True, è disponibile
A volte viene visualizzato l'errore "cublasxx .dll non esiste", oppure non si ottiene questo errore e la configurazione CUDA è corretta, ma viene sempre visualizzato l'errore di riconoscimento, è necessario scaricare cuBLAS e quindi copiare il file dll nella directory di sistema
Fare clic per scaricare cuBLAS, decomprimerlo e copiare il file dll in C:/Windows/System32
-
Utilizzando Google Translate, dice errore
Per utilizzare l'interfaccia ufficiale di Google o ChatGPT in Cina, è necessario appendere una scala
-
È stato utilizzato un proxy globale, ma non sembra che sarà un proxy
È necessario impostare un indirizzo proxy specifico nell'interfaccia software "Network Proxy", ad esempio http://127.0.0.1:7890
-
Suggerimento: FFmepg non esiste
Per prima cosa controlla che ci siano file ffmpeg.exe, ffprobe.exe nella directory principale del software, se non esistono, decomprimere ffmpeg.7z e mettere questi 2 file nella directory principale del software
-
CUDA è abilitato su Windows, ma viene visualizzato un errore
R: Prima di tutto, controlla il metodo di installazione dettagliato, assicurati di aver installato correttamente gli strumenti relativi a cuda, se ci sono ancora errori, fai clic per scaricare cuBLAS, decomprimi e copia il file dll all'interno di C:/Windows/System32
B: Se sei sicuro che non abbia nulla a che fare con A, controlla se il video è mp4 codificato H264, alcuni video HD sono codificati H265, questo non è supportato, puoi provare a convertire in video H264 nella "Casella degli strumenti video".
C: La decodifica hardware e la codifica del video sotto GPU richiedono una rigorosa correttezza dei dati e il tasso di tolleranza ai guasti è quasi 0, qualsiasi piccolo errore porterà al guasto, oltre alle differenze tra le diverse versioni del modello della scheda grafica, della versione del driver, della versione CUDA, della versione ffmpeg, ecc., Con conseguente facilità di verificarsi errori di compatibilità. Al momento, viene aggiunto il fallback e il software della CPU viene utilizzato automaticamente per codificare e decodificare dopo un errore sulla GPU. Quando si verifica un errore, viene registrato un messaggio di errore nella directory dei log.
-
Indica che il modello non esiste
Dopo la versione 0.985, i modelli devono essere reinstallati e la directory dei modelli è una cartella per ogni modello, non un file pt. Per utilizzare il modello di base, assicurarsi che la cartella models/models--Systran--faster-whisper-base esista, se non esiste, è necessario scaricarla e copiare la cartella nei modelli. Se si desidera utilizzare un modello di piccole dimensioni, è necessario assicurarsi che la cartella models/models--Systran--faster-whisper-small esista, se non esiste, è necessario scaricarla e copiare la cartella nei modelli. Per utilizzare il modello medio, assicurarsi che la cartella models/models--Systran--faster-whisper-medium esista, se non esiste, è necessario scaricarla e copiare la cartella nei modelli. Per utilizzare il modello large-v3, assicurarsi che la cartella models/models--Systran--faster-whisper-large-v3 esista, in caso contrario, è necessario scaricarla e copiare la cartella nei modelli.
-
La directory non esiste o l'autorizzazione non è corretta
Fare clic con il pulsante destro del mouse su sp..exe per aprire con privilegi di amministratore
-
Viene visualizzato un messaggio di errore, ma non sono disponibili informazioni dettagliate sull'errore
Apri la directory dei registri, trova il file di registro più recente e scorri fino in fondo per visualizzare il messaggio di errore.
-
Il modello v3 di grandi dimensioni è molto lento
Se non si dispone di una GPU N-card, o non si dispone di un ambiente CUDA configurato, o la memoria video è inferiore a 4G, si prega di non utilizzare questo modello, altrimenti sarà molto lento e balbuziente
-
Il file .dll cublasxx è mancante
A volte si verifica l'errore "cublasxx .dll non esiste", è necessario scaricare cuBLAS e copiare il file dll nella directory di sistema
Fare clic per scaricare cuBLAS, decomprimerlo e copiare il file dll in C:/Windows/System32
-
Manca la musica di sottofondo
只识别人声并保存人声,即配音后音频中不会存在原背景音乐,如果你需要保留,请使用人声背景音乐分离项目,将背景音提取出来,然后再和配音文件合并。
- Come utilizzare i suoni personalizzati
目前暂不支持该功能,如果有需要,你可以先识别出字幕,然后使用另一个声音克隆项目,输入字幕srt文件,选择自定义的音色合成为音频文件,然后再生成新视频。
- Le didascalie non possono essere allineate nel parlato
Dopo la traduzione, lingue diverse hanno durate di pronuncia diverse, ad esempio una frase in cinese 3 secondi, tradotta in inglese può essere 5 secondi, con conseguente durata e video incoerenti.
Ci sono 2 modi per risolverlo:
1. Forzare le voci fuori campo per velocizzare la riproduzione per ridurre la durata della voce fuori campo e l'allineamento del video 2. Forza la riproduzione lenta del video in modo che la lunghezza del video sia maggiore e la voce fuori campo sia allineata.
Puoi scegliere solo uno dei due
- I sottotitoli non vengono visualizzati o mostrano caratteri confusi
Sottotitoli compositi soft: i sottotitoli sono incorporati nel video come file separato, che può essere estratto di nuovo, e se il lettore lo supporta, i sottotitoli possono essere abilitati o disabilitati nella gestione dei sottotitoli del lettore;
Si noti che molti lettori nazionali devono mettere il file dei sottotitoli srt e il video nella stessa directory e con lo stesso nome per caricare i sottotitoli soft, e potrebbe essere necessario convertire il file srt nella codifica GBK, altrimenti visualizzerà caratteri confusi.
- Come cambiare la lingua dell'interfaccia software/cinese o inglese
Se il file set.ini non esiste nella directory del software, crearlo prima, quindi incollare il codice seguente al suo interno, quindi lang=
compilare il codice della linguazh
, che rappresenta il cinese, che rappresentaen
l'inglese e quindi riavviare il software
[GUI]
;GUI show language ,set en or zh eg. lang=en
lang =
cli.py è uno script di esecuzione da riga di comando ed èpython cli.py
il modo più semplice per eseguirlo
Parametri ricevuti:
-m mp4视频的绝对地址
I parametri di configurazione specifici possono essere configurati nella CLI.ini che si trova nella stessa directory di cli.py, e altri indirizzi video MP4 da elaborare possono essere configurati anche tramite parametri della riga di comando, -m mp4视频绝对地址
ad esempio python cli.py -m D:/1.mp4
.
cli.ini è il parametro completo, il primo parametro source_mp4
rappresenta il video da elaborare, se la riga di comando passa i parametri attraverso -m, quindi usa l'argomento della riga di comando, altrimenti usa questosource_mp4
-c 配置文件地址
È inoltre possibile copiare cli.ini in un'altra posizione -c cli.ini的绝对路径地址
e specificare il file di configurazione da utilizzare dalla riga di comando , ad esempio, python cli.py -c E:/conf/cli.ini
utilizzerà le informazioni di configurazione nel file e ignorerà il file di configurazione nella directory del progetto.
-cuda
Non è necessario seguire il valore, basta aggiungerlo per abilitare l'accelerazione CUDA (se disponibile) python cli.py -cuda
Esempio:python cli.py -cuda -m D:/1.mp4
;命令行参数
;待处理的视频绝对地址,正斜杠做路径分隔符,也可在命令行参数中 -m 后传递
source_mp4=
;网络代理地址,google chatGPT官方china必填
proxy=http://127.0.0.1:10809
;输出结果文件到目录
target_dir=
;视频发音语言,从这里选择 zh-cn zh-tw en fr de ja ko ru es th it pt vi ar tr
source_language=zh-cn
;语音识别语言 无需填写
detect_language=
;翻译到的语言 zh-cn zh-tw en fr de ja ko ru es th it pt vi ar tr
target_language=en
;软字幕嵌入时的语言,不填写
subtitle_language=
;true=启用CUDA
cuda=false
;角色名称,openaiTTS角色名称“alloy,echo,fable,onyx,nova,shimmer”,edgeTTS角色名称从 voice_list.json 中对应语言的角色中寻找。elevenlabsTTS 的角色名称从 elevenlabs.json 中寻找
voice_role=en-CA-ClaraNeural
; 配音加速值,必须以 + 号或 - 号开头,+代表加速,-代表减速,以%结尾
voice_rate=+0%
;可选 edgetTTS openaiTTS elevenlabsTTS
tts_type=edgeTTS
;静音片段,单位ms
voice_silence=500
;all=整体识别,split=预先分割声音片段后识别
whisper_type=all
;语音识别模型可选,base small medium large-v3
whisper_model=base
;翻译渠道,可选 google baidu chatGPT Azure Gemini tencent DeepL DeepLX
translate_type=google
;0=不嵌入字幕,1=嵌入硬字幕,2=嵌入软字幕
subtitle_type=1
;true=配音自动加速
voice_autorate=false
;true=视频自动慢速
video_autorate=false
;deepl翻译的接口地址
deepl_authkey=asdgasg
;自己配置的deeplx服务的接口地址
deeplx_address=http://127.0.0.1:1188
;腾讯翻译id
tencent_SecretId=
;腾讯翻译key
tencent_SecretKey=
;百度翻译id
baidu_appid=
;百度翻译密钥
baidu_miyue=
; elevenlabstts的key
elevenlabstts_key=
;chatGPT 接口地址,以 /v1 结尾,可填写第三方接口地址
chatgpt_api=
;chatGPT的key
chatgpt_key=
;chatGPT模型,可选 gpt-3.5-turbo gpt-4
chatgpt_model=gpt-3.5-turbo
; Azure 的api接口地址
azure_api=
;Azure的key
azure_key=
; Azure的模型名,可选 gpt-3.5-turbo gpt-4
azure_model=gpt-3.5-turbo
;google Gemini 的key
gemini_key=
Distribuisci il codice sorgente su Mac/B station
Usa l'API Gemini per impostare un metodo/stazione b per la traduzione video
Strumento di clonazione vocale: sintetizza voci con timbri arbitrari
Questo programma si basa principalmente su alcuni progetti open source
- ffmpeg
- PyQt5
- bordo-tts
- sussurro più veloce