Recherche avancée
Médias (1)
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
Sur d’autres sites (2)
-
OSError : [WinError 126] Não foi possível encontrar o módulo especificado. Error loading [closed]
27 août, par FelipesInformações relevantes


**
SO : Windowns 11
Dependencias : torch —extra-index-url https://download.pytorch.org/whl/cpu ;
openai-whisper ;
ffmpeg-python
Microsoft Visual C++ Redistributable


Tudo isso dentro de um ambiente virtual
**


Então... eu to com o seguinte codigo em python :


import whisper
import os

# Carregar o modelo
model = whisper.load_model("base") # Pode usar 'small', 'medium', 'large' conforme a necessidade

# Carregar o áudio
audio_path = "audio.mp3" # Substitua pelo caminho do arquivo de áudio extraído
result = model.transcribe(audio_path)

# Obter o texto da transcrição
transcription_text = result['text']

# Salvar a transcrição em um arquivo .txt
with open("transcription.txt", "w") as file:
 file.write(transcription_text)

print("Transcrição salva em 'transcription.txt'")



Basicamente é pegar um arquivo .mp3 e salvar a transcrisão no em arquivo txt
mas ao rodar o codigo eu recebo o seguinte erro :


Traceback (most recent call last):
 File "C:\Users\Felipe Bezerra\Documents\ytDownload\transcrisao.py", line 2, in <module>
 import whisper
 File "C:\Users\Felipe Bezerra\Documents\ytDownload\venv\Lib\site-packages\whisper\__init__.py", line 8, in <module>
 import torch
 File "C:\Users\Felipe Bezerra\Documents\ytDownload\venv\Lib\site-packages\torch\__init__.py", line 148, in <module>
 raise err
OSError: [WinError 126] Não foi possível encontrar o módulo especificado. Error loading "C:\Users\Felipe Bezerra\Documents\ytDownload\venv\Lib\site-packages\torch\lib\fbgemm.dll" or one of its dependencies.
</module></module></module>


É como se as dependências não estivecem instaladas, já verifiquei a variavél de ambiente, criei outro ambiente virtual, e sempre caio nesse mesmo erro.


PS : o msm codigo rodou perfeitamente no Debian 12


Verifiquei o ambiente virtual, reistalei tudo


-
on('progress') not working - node.js ytdl-core fluent-ffmpeg
9 juillet 2018, par TheBandoleroSo i’m playing with this libraries
ytdl-core
andfluent-ffmpeg
, and basically i got to this function by modifying some examples to fit what i wanted.everything works fine except for the second
on('progress', progress => ....)
call. The first one works as expected, but the second one looks like it isn’t even reached, sinceConsole.log()
inside the secondon('progress'....)
isn’t logging anything at all.Also console doesn’t show any errors throughout the whole function, and the outcome is the expected without any problem, except for the second
on('progress')
issue.I can’t figure out what the problem is, so I hope somebody with more experience can point the problem out to me, since it’s getting quite frustrating now...
function descargarVideoHD(link) {
ytdl.getInfo(link, (err, info) => {
if (err) throw err;
$('li:contains(' + link + ') .progress').css("visibility", "visible");
var longitudEnTiempo = parseInt(info.length_seconds);
let id = ytdl.getURLVideoID(link);
var titulo = limpiarTituloDelVideo(info.title);
let stream = ytdl(id, {
quality: 'highestaudio',
//filter: 'audioonly',
});
//var audioOutput = path.resolve(__dirname, 'audio_' + titulo + '.mp4');
var mainOutput = path.resolve(__dirname, titulo + '.mp4');
var renameFileName = titulo + '.mp4';
var audioOutput = path.resolve(__dirname, titulo + '.mp3');
ffmpeg(stream)
//.audioBitrate(128)
.audioBitrate(256)
.save(`${__dirname}/${titulo}.mp3`)
.on('progress', (p) => {
//readline.cursorTo(process.stdout, 0);
//process.stdout.write(`${p.targetSize}kb downloaded`);
var hmsA = p.timemark;
var aA = hmsA.split(':');
var secondsA = parseInt((+aA[0]) * 60 * 60 + (+aA[1]) * 60 + (+aA[2]));
var porcentageA = (((secondsA / longitudEnTiempo) * 100) / 2).toFixed(2);
$('li:contains(' + link + ') .progress .determinate').css("width", porcentageA + "%");
//console.log(titulo + ' procesado al ' + porcentage + '%');
})
.on('end', () => {
ffmpeg()
.input(ytdl(link, {
filter: format => {
return format.container === 'mp4' && !format.audioEncoding;
}
}))
.videoCodec('copy')
.input(audioOutput)
.audioCodec('copy')
.save(mainOutput)
.on('error', console.error)
.on('progress', progress => {
console.log('Dentro de OnProgress...');
var hms = progress.timemark;
console.log('Timemark: ' + hms);
var a = hms.split(':');
var seconds = parseInt((+a[0]) * 60 * 60 + (+a[1]) * 60 + (+a[2]));
console.log('Segundos: ' + seconds);
var porcentage = ((((seconds / longitudEnTiempo) * 100) / 2) + 50).toFixed(2);
console.log('Procesado al ' + porcentage + '%');
$('li:contains(' + link + ') .progress .determinate').css("width", porcentage + "%");
}).on('end', () => {
fs.unlink(audioOutput, err => {
if (err) {
console.error(err);
}
else {
$('li:contains(' + link + ') .progress .determinate').css("width", "100%");
$('li:contains(' + link + ') .secondary-content.material-icons').text('done');
$('li:contains(' + link + ') .secondary-content.material-icons').addClass('text-green');
/* $('li:contains(' + link + ')').remove();
var indexItem = listaEnlacesYoutube.indexOf(link);
listaEnlacesYoutube.splice(indexItem, 1); */
}
});
});
});
});
}