Executando verificação de segurança...
1

[ Media Encoder | Duration Infinity | Chrome ] APOSTO QUE VOCÊ JÁ PASSOU POR ISSO !

O Media Encoder VEM TIRANDO MEU SONO a algumas semanas!

Tenho uma aplicação de chat com whatsapp onde preciso enviar áudios no formato audio/ogg;codecs=opus que INFELIZMENTE é um formato que o chrome não suporta. Existe algumas soluções de libs para resolver isso, tais quais:

. opus-media-recorder
. Opus Recorder

No entanto, por ser libs em JS tenho diversos problemas de compatibilidade pelo fato do environment da minha aplicação ser: Typescript, VueJS 3 + Vite...

Um dos principais problemas que tive foi referente ao duration INFINITY, que acontece apenas no chrome, que se dá ao fato do áudio está sendo gravado e enviado em WEBM formato esse que quebra o meu component de exibição de áudio(que precisa ser igual ao do whatsap).

Fato é que preciso gravar um áudio no formato audio/ogg;codecs=opus, e gostaria de saber se alguém já fez algo semelhante usando o new Media Recorder no chrome?

Carregando publicação patrocinada...
1
1

É foda Ricardo, estou nessa task a 2 semanas gerência matando e não encontro solução.
Estou começando a cogitar criar eu mesmo a lib. Você já tentou algo parecido ?

1

Pensei nessa possibilidade porem apos ver as libs atuais e ver que usam web assembly desistir tendo em vista o grau de dificuldade e baixo nivel para lidar com esses formatos

1
1
1

Salve, se tiver um back-end intermediario, você pode converter de qualquer tipo multimidia para qualquer outro tipo com ffmpeg.

nesse video tem uma implementação do 0 com c# que transforma audio webm em wav
https://programador.tv/Watch?key=ea45b47f-0699-457a-54e7-08db8ca964e1

e o repo https://github.com/programador-tv/dotnet-fala-para-texto/blob/main/Apps/FalaParaTexto.Core/AudioProcessManager.cs

deve ser mais fácil em node ;D


Com isso você pode ter varias versões do mesmo audio, uma pra voltar pra um usuario do chrome, outra pra transitar, outra pra outros navegadores, etc.. talvez até uma com qualidade baixa pra carregar rapidamente.

Espero que faça sentido pro seu contexto!

1

Verdade não tinha pensado nessa possibilidade, sabe se tem uma solução parecida para usar direto no frontend seria mais simples para nosso caso uso, além disso tenho um pouco de receio quando a performace dessa operação? :/

0