wppconnect-team / wa-js

WPPConnect/WA-JS is an open-source project with the aim of exporting functions from WhatsApp Web
https://wppconnect.io/wa-js/
Apache License 2.0
392 stars 126 forks source link

Não envia video mp4 no CEF4 TChromium, mas não retornou nenhum erro #384

Closed marcelo386 closed 2 years ago

marcelo386 commented 2 years ago

Chromium1.Browser.MainFrame.ExecuteJavaScript(comandoJavaScript);

Utilizando a Mesma função envia normal qualquer tipo de imagem, audio e pdf

SendFileMessage.txt

Anexei o trecho do código WPP.chat.sendFileMessage();

Criei está função Abaixo para tentar pegar o erro no console, mas não retorna nenhum erro, mas também não envia o vídeo

window.WAPI.sendFileMessage2 = async function(chatid, content, options) { const result = await WPP.chat.sendFileMessage(chatid, content, options);

if (result) {
try {
SetConsoleMessage("sendFileMessage", JSON.stringify(result));

} catch (err) { 
    console.log(err); 
  };      

}else { console.log(err);

    }  

};

edgardmessias commented 2 years ago

Olá, infelizmente apenas o Chromium não é capaz de enviar vídeos MP4 por não ter o codec para extrair a thumbnail do vídeo.

Vou verificar para fazer disparar erro pelo menos.

Em versões futuras, minha ideia é pelo menos fazer que envie o vídeo com uma thumbnail em branco para evitar mais erros

daviladanielc commented 2 years ago

Nesse site mostra uma solução para habilitar o codec. https://localcoder.org/mp4-codec-support-in-chromium

marcelo386 commented 2 years ago

será que da certo, onde devo alterar no fonte este codec edgardmessias

edgardmessias commented 2 years ago

@marcelo386 , eu nunca fiz isso, talvez o @daviladanielc possa te ajudar

daviladanielc commented 2 years ago

@marcelo386 Pelo o que eu vi, é feito por variáveis de ambiente do chromium, aí teria que ver como passa valor para essa variável quando o chromium é iniciado. Pelo que pesquisei, é na compilação do Chromium https://www.chromium.org/developers/gyp-environment-variables/

Eu vi, que você tem um repositório que usa o TInject que seria em Delphi. Aqui tem um tópico que o criador do componente Chromium em Delphi comenta sobre isso: https://www.briskbard.com/forum/viewtopic.php?f=8&t=1873&p=7736&hilit=mp4#p7736

marcelo386 commented 2 years ago

@marcelo386 Pelo o que eu vi, é feito por variáveis de ambiente do chromium, aí teria que ver como passa valor para essa variável quando o chromium é iniciado. Pelo que pesquisei, é na compilação do Chromium https://www.chromium.org/developers/gyp-environment-variables/

Eu vi, que você tem um repositório que usa o TInject que seria em Delphi. Aqui tem um tópico que o criador do componente Chromium em Delphi comenta sobre isso: https://www.briskbard.com/forum/viewtopic.php?f=8&t=1873&p=7736&hilit=mp4#p7736

Utilizo Delphi, sim estou migrando do TInject para WPPConnect, tem muito mais recursos Postei no fórum que você passou o link, realmente não entendi onde deve ser alterado, você mencionou variáveis de ambiente do chromium, estou pesquisando sobre isso, é um item importante para um projeto de MultAtendimento que eu tenho aqui, por enquanto envia como arquivo, fica ruim ninguém vê desta forma.

marcelo386 commented 2 years ago

Forum

Uma Resposta de outro Post, tem ajustar o CEF4 e recompilar será que isso Parece que o hls.js requer codecs proprietários que não são suportados pelas compilações oficiais do CEF. Você pode tentar fazer sua própria compilação CEF com codecs proprietários habilitados. Procure exemplos no fórum.

marcelo386 commented 2 years ago

Olá, infelizmente apenas o Chromium não é capaz de enviar vídeos MP4 por não ter o codec para extrair a thumbnail do vídeo.

Vou verificar para fazer disparar erro pelo menos.

Em versões futuras, minha ideia é pelo menos fazer que envie o vídeo com uma thumbnail em branco para evitar mais erros

Você tem previsão de ajustar desta forma, como foi citado de thumbnail em branco , acho que desta forma será mais fácil, ter que ajustar o CEF4 Chromium, este componente recebe muitas alterações, fica complicado

marcelo386 commented 2 years ago

DLL_ComSuporteMP4 https://magpcss.org/ceforum/viewtopic.php?f=6&t=13515&start=40#p35221

Achei mais estes sites falando sobre isso, precisa gerar o arquivos binarios do CEF já com está modificação

https://www.magpcss.org/ceforum/viewtopic.php?f=6&t=13515

daviladanielc vc consegue gerar estes binarios e dll do CEF, pelo que entendi é realmente isso

marcelo386 commented 2 years ago

https://www.briskbard.com/forum/viewtopic.php?f=10&t=1097 Tem que seguir o passos deste forúm vou tentar

daviladanielc commented 2 years ago

https://www.briskbard.com/forum/viewtopic.php?f=10&t=1097 Tem que seguir o passos deste forúm vou tentar

Deu certo?

marcelo386 commented 2 years ago

https://www.briskbard.com/forum/viewtopic.php?f=10&t=1097 Tem que seguir o passos deste forúm vou tentar

Deu certo?

O processo leva 8 horas para concluir, deixei rodando pra ver, se realmente irá funcionar

edgardmessias commented 2 years ago

Vou criar uma primeira opção para gerar Thumbnails em branco caso o Chromium não tiver suporte e no segundo momento ter uma opção de passar a thumbnail a parte, assim ajudando para esses casos.

marcelo386 commented 2 years ago

https://www.briskbard.com/forum/viewtopic.php?f=10&t=1097 Tem que seguir o passos deste forúm vou tentar

Deu certo?

Realizei o procedimento deu certo sim, mas demorou muito mais tempo quase 16 horas, tem que ser o visual studio 2019 a versão 2022 deu bug

ThiagoPedro commented 2 years ago

@marcelo386 tenho a informação que o CEF 1.4.8 funcionava vídeos. Posteriormente passou a não suportar nativamente devido as questões de direitos.

edgardmessias commented 2 years ago

@ThiagoPedro @marcelo386 @daviladanielc

Se vocês quiserem, posso criar um projeto dentro do WPPConnect e dar acesso para vocês mexerem, aí fica tudo em um lugar só

ThiagoPedro commented 2 years ago

@ThiagoPedro @marcelo386 @daviladanielc

Se vocês quiserem, posso criar um projeto dentro do WPPConnect e dar acesso para vocês mexerem, aí fica tudo em um lugar só

Pode criar sim.

edgardmessias commented 2 years ago

Projeto criado, agora é com vocês:

https://github.com/wppconnect-team/WPP4Delphi

edgardmessias commented 2 years ago

@daviladanielc , você tem interesse em participar do WPP4Delphi?

Você está no nosso discord? Me chame lá para para

edgardmessias commented 2 years ago

Grupo de WhatsApp para o WPP4Delphi: https://chat.whatsapp.com/HzLflMQVjOPK9bpjzlxcMO

Nosso Discord: https://discord.gg/JU5JGGKGNG

daviladanielc commented 2 years ago

@daviladanielc , você tem interesse em participar do WPP4Delphi?

Você está no nosso discord? Me chame lá para para

Tenho interesse sim, vou te chamar lá depois.

daviladanielc commented 2 years ago

Grupo de WhatsApp para o WPP4Delphi: https://chat.whatsapp.com/HzLflMQVjOPK9bpjzlxcMO

Nosso Discord: https://discord.gg/JU5JGGKGNG

Entrei no grupo @edgardmessias