
Eu executo o Lubuntu 14.04.3 LTS e baixei e instaleilançar agorapara transmitir vídeos do meu PC para o meu Chromecast.
A única alternativa que conheço é fazer isso via Videostream usando o Chromium. Mas isso usa tantos recursos a mais que meu pobre laptop mal aguenta...
Acho que o castnow funciona muito bem. Mas é uma ferramenta de linha de comando e para iniciá-la tenho que ir até uma janela de terminal e executar:
castnow --address [ip address chromecast] --myip [localip] [path to video]
Isso funciona, mas seria muito mais fácil se pudesse navegar até o vídeo usando meu gerenciador de arquivos ( pcmanfm
) e abrir o vídeo.
Tentei criar um arquivo de script que execute o comando acima usando o arquivo selecionado como parâmetro de entrada (%f), mas falhei miseravelmente...
E meu querido amigo Google não conseguiu me ajudar até agora. Alguém pode me ajudar a fazer isso?
Atualização 16 de outubro:
Eu quase consegui!
O que mais demorou foi encontrar o bug no pcmanfm de que ele não executa shell scripts. O artigo a seguir descreve isso bem e fornece uma solução alternativa:https://bugs.launchpad.net/ubuntu/+source/lubuntu-default-settings/+bug/975152
Criei um arquivo .desktop que executa um script e passa o arquivo como parâmetro. Isso aparece como uma opção no menu e dessa forma você também pode selecioná-lo no pcmanfm.
O script usa o nome do arquivo como parâmetro e executa o castnow com todos os parâmetros. Infelizmente não funciona.
O script que criei é assim:
filename=$1
filename=${filename:7:$((${#filename}-7))}
filename=${filename//%20/\\ }
echo castnow --address 192.168.0.21 --myip 192.168.0.47 $filename
castnow --address 192.168.0.21 --myip 192.168.0.47 $filename
O resultado é:
castnow --address 192.168.0.21 --myip 192.168.0.47 /home/joost/Videos/American\ Horror\ Story\ Season\ 1\ Complete\ 480p\ BZINGAZ/american.horror.story.s01e11.720p.hdtv.x264-compulsion.mkv
Error: Load failed
E quando copio o comando para outra janela do terminal ele funciona. Como isso pode ser? E como isso pode ser resolvido.
Outra atualização:
O problema parece estar relacionado aos espaços no caminho. O arquivo da área de trabalho envia o caminho para o script bash com o parâmetro %u. E como a pasta contém alguns espaços, eles são convertidos para% 20. No script eu os converto de volta para "\". Se eu testar meu material com um arquivo sem espaços, ele funciona (!!!).
Mas os espaços fazem parte da vida. Como contornar isso?
E outra atualização:
Eu fiz isso! Com um pouco de truque, mas funciona. Adicionei algumas linhas no script para substituir todos os espaços por sublinhados no sistema de arquivos:
#!/bin/bash
# replace all spaces by underscores in the Videos-folders and -files:
find /home/joost/Videos/ -name "* *" -type d | rename 's/ /_/g' # do the directories first
find /home/joost/Videos/ -name "* *" -type f | rename 's/ /_/g'
filename=$1
# remove file:// from the file-variable:
filename=${filename:7:$((${#filename}-7))}
# new films may contain spaces in the path. They have been replace by underscores. This also needs to happen in the parameter:
filename=${filename//%20/_}
# now we are ready to go:
castnow --address 192.168.0.21 --myip 192.168.0.47 $filename
read
Funciona e estou feliz com isso. Mas se alguém souber contornar os espaços ficarei feliz em saber.
Atualização 18 de outubro:
Eu descobri como contornar os espaços (e outros caracteres especiais). Primeiro de tudo, descobri como decodificar o parâmetro por url. Mas o truque para contornar os espaços (e outros caracteres especiais) é adicionar 'eval' à instrução. Portanto, a declaração final no meu script é agora: eval castnow --address 192.168.0.21 --myip 192.168.0.47 $filename
Então é isso. O único problema restante é que o castnow não parece ser capaz de reproduzir arquivos AVI. Eu criei um problema para isso no github.
Responder1
Você pode definir o aplicativo padrão a ser usado para o tipo de arquivo relevante: Clique com o botão direito em um arquivo de vídeo, selecione "Propriedades", altere a seleção "Abrir com" e pressione OK.