O VLC pode Chromecast, mas o Chromecast não oferece suporte a Bluetooth e gostaria de enviar áudio para alto-falantes Bluetooth. Como eu poderia fazer isso? Eu tentei desenhar isso:
Wifi +----------+
+---------->+Chromecast|
|Video +----------+
|
++----+
| VLC |
++----+
|
|
|Bluetooth +--------+
+---------->+Speakers|
Audio +--------+
Achei que https://superuser.com/a/1029986/41259 seria útil, mas não parece ser possível definir um renderizador separado para o segundo arquivo. Posso extrair o arquivo de áudio de antemão com facilidade, se isso ajudar. ( ffmpeg -i foo.mkv -vn -acodec copy out.eac3
)
Estou no Windows 10, estou familiarizado com a linha de comando e tenho o WSL instalado e funcionando, caso algum Linux que exija servidor seja a solução.
Esta não é minha ideia, mas a resposta de Hastur . No entanto, caí em algumas armadilhas, então pensei em compartilhar meus problemas e as soluções que consegui encontrar. Outros podem ter ideias melhores, mas isso funciona.
O VLC parece salvar as configurações
vlc-qt-interface.ini
emAppData\Roaming\vlc
. Se você alternar o renderizador, ele alternará as duas instâncias. Assim, você precisa de dois usuários do Windows, adicionei umchromecast
usuário."C:\Program Files\VideoLAN\VLC\vlc.exe" movie.mkv --sout-all --sout="#rtp{dst=239.255.100.100,port=5004,mux=ts}"
. O endereço IP não é o seu wi-fi ou algo assim, é um endereço multicast. Ele precisa estar no intervalo de 224.0.0.0 a 239.255.255.255 ou você não poderá conectar mais de um cliente a ele. Parece que você é livre para escolher o endereço que quiser."C:\Program Files\VideoLAN\VLC\vlc.exe" rtp://239.255.100.100:5004 --no-video
. Isso reproduzirá o áudio localmente.runas /user:chromecast "C:\Program Files\VideoLAN\VLC\vlc.exe rtp://239.255.100.100:5004 --sout "#chromecast" --sout-chromecast-ip=192.168.1.152 --demux-filter=demux_chromecast"
. Acredito que tudo isso seja necessário, mesmo que você tenha apenas um Chromecast. Não tenho ideia de como obter o IP do Chromecast ou do Chrome - encontrei-o no meu roteador. A adição--no-audio
não tem efeito, pois parece que todo o áudio-vídeo é entregue no atacado ao Chromecast. Silencie sua TV.Para criar um
.bat
fora dele, esta resposta tem a solução: prefixar cada comando comstart /b
.Um problema conhecido é que, após uma pausa, o Chromecasting VLC sempre avisa "este vídeo requer conversão". Esta é uma grande desvantagem.
Rápido e Sujo (Idéia)
Você afirma que
vlc
(ou outro) você consegue enviar o sinal para sua televisão via Chromecastvlc
você é possível usar os alto-falantes Bluetootho problema é que dificilmente estarão sincronizados.
Portanto, a solução mais rápida é usar (como feito para sincronizar diferentes legendas/idiomas )
vlc
como streamer local .Você pode primeiro conectar dois clientes (eventualmente outras duas instâncias de
vlc
) a este servidor (ao seu IP e PORTA de streaming) e depois pode começar a reproduzir ou pausar o streaming.Esta é a solução seguida pelo OP , depois de resolver alguns problemas peculiares ao seu SO, software, hardware...
Caminho para uma solução que requer menos recursos (Ideias)
Apenas as ideias que tentam ser úteis para um público mais amplo e abrangem diferentes conjuntos de hardware.
Qualquer programa de streamer terá muitas opções.
Vlc
tem duas listas de opções.Você pode perguntar ao enorme com
-H
(-h
não é suficiente, o tamanho importa quando diferencia maiúsculas de minúsculas:-)
).Existem muitas opções interessantes neste caso, entre elas para o servidor --no-sout-display (habilitado por padrão), --sout-display padrão desabilitado, --sout-video ... --no-sout-video para vídeo, --sout-audio --no-sout-audio (habilitado por padrão)...
É uma boa prática especificar sempre as opções importantes , para evitar eventuais interferências indesejadas das opções salvas por uma execução anterior do programa. Você entende como pode ser "vicioso" : uma vez acontece, uma vez não ... >>> BTW
vlc
foi (e ainda é) usado para lembrar as últimas preferências modificadas na última execução da GUI e salvas na saída. <<<Se você especificar uma opção, forçará a execução com essa opção.
Aqui alguns caminhos para tentar economizar recursos:
Novamente assumindo que você conseguiu usar os alto-falantes com vlc, talvez você consiga salvar a instância do Cliente 2 desativando no streamer ( Servidor 1 ) o redirecionamento de áudio para o fluxo e usando os alto-falantes de lá (comece tentando com --no -sout-audio ).
Não tinha entendido bem a parte que traz o sinal para sua TV, mas tenho a impressão que você pode tentar salvar a instância do Cliente 1 também. É dependente de hardware.
Observação sobre o IP (IPv4) reservado para multicast:
O endereço IP reservado pela IANA para multicast local está neste intervalo
O problema é transmitir o vídeo para a TV pelo Chromecast, mas reproduzir o áudio separadamente nos alto-falantes Bluetooth.
Solução 1: Dois aplicativos sincronizados
É possível reproduzir o mesmo vídeo usando dois aplicativos, um para o vídeo e outro para o áudio, mas isso é bem complicado. Embora os dois possam ser facilmente sincronizados no início, eles ficarão fora de sincronia toda vez que você pausar os dois, pois você só pode clicar em um de cada vez.
O VLC é útil aqui, pois permite pular para uma posição no vídeo, o que será essencial ao sincronizar os dois aplicativos.
Esta configuração é bastante direta. Para obter detalhes, consulte o artigo
Reproduzir vídeo pelo Chromecast e rotear o áudio pelo seu PC ou Mac .
Solução 2: Use um divisor HDMI
Você pode usar um extrator de áudio HDMI, que normalmente custa apenas algumas dezenas de dólares. O dispositivo funciona como um divisor, quebrando o HDMI em vídeo e áudio separados para alimentar dois conjuntos diferentes de equipamentos.
A configuração é a seguinte:
Isso pode não funcionar com todas as configurações e com todos os tipos de TVs e equipamentos de áudio, especialmente certos sistemas legados. Portanto, verifique suas especificações cuidadosamente antes de escolher um desses dispositivos.
Não sabendo mais sobre seus materiais e nunca tendo usado um extrator de áudio HDMI, não posso recomendar nenhum dispositivo específico. Você pode fazer uma consulta na amazon.com e refiná-la conforme necessário.