Recherche avancée

Médias (1)

Mot : - Tags -/berlin

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 Felipes

    Informaçõ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):&#xA;  File "C:\Users\Felipe Bezerra\Documents\ytDownload\transcrisao.py", line 2, in <module>&#xA;    import whisper&#xA;  File "C:\Users\Felipe Bezerra\Documents\ytDownload\venv\Lib\site-packages\whisper\__init__.py", line 8, in <module>&#xA;    import torch&#xA;  File "C:\Users\Felipe Bezerra\Documents\ytDownload\venv\Lib\site-packages\torch\__init__.py", line 148, in <module>&#xA;    raise err&#xA;OSError: [WinError 126] N&#xE3;o foi poss&#xED;vel encontrar o m&#xF3;dulo especificado. Error loading "C:\Users\Felipe Bezerra\Documents\ytDownload\venv\Lib\site-packages\torch\lib\fbgemm.dll" or one of its dependencies.&#xA;</module></module></module>

    &#xA;

    É 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.

    &#xA;

    PS : o msm codigo rodou perfeitamente no Debian 12

    &#xA;

    Verifiquei o ambiente virtual, reistalei tudo

    &#xA;

  • on('progress') not working - node.js ytdl-core fluent-ffmpeg

    9 juillet 2018, par TheBandolero

    So i’m playing with this libraries ytdl-core and fluent-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, since Console.log() inside the second on('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' &amp;&amp; !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); */
                                   }
                               });
                           });
                   });
           });
       }