Eu tenho um laptop com uma tela embutida e um monitor conectado.
Ao iniciar um Hangout de vídeo do Google e compartilhar minha área de trabalho, gostaria de compartilhar apenas a tela anexada, mas não sei como.
No momento, tenho dois monitores: LVDS1
corresponde à tela do meu laptop, que é configurada como a tela secundária e DP1
qual é a minha tela principal. Mas o problema ainda permanece se eu mudar a tela do meu laptop para a tela principal.
$ xrandr
Screen 0: minimum 320 x 200, current 3286 x 1468, maximum 8192 x 8192
LVDS1 connected 1366x768+1920+700 (normal left inverted right x axis y axis) 344mm x 194mm
1366x768 60.06*+
1024x768 60.00
800x600 60.32 56.25
640x480 59.94
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 475mm x 267mm
1920x1080 60.00*+
1280x1024 75.02 60.02
1152x864 75.00
1024x768 75.08 60.00
800x600 75.00 60.32
640x480 75.00 60.00
720x400 70.08
Sempre que começo a compartilhar minha área de trabalho no Hangout, apenas a tela interna (menor) é compartilhada. O melhor seria ser capaz de escolher qual compartilhar, mas se não, como eu poderia compartilhar apenas a tela (maior) anexada?
Aposto que o Hangout do Google está procurando um arquivo de configuração para escolher qual tela compartilhar, mas não sabe qual arquivo é.
NOTA
Usando o Fedora 20, x86_64, Linux 3.15.10-200, GNOME Shell 3.10.4-8, Firefox 31.
NOTA 2
O uso do Google Chrome faz com que o Google Hangouts compartilhe as duas telas ao mesmo tempo, em vez de apenas a tela do laptop, o que acho ainda pior. Ainda estou tentando descobrir como eu poderia escolher qual tela compartilhar.
fonte
Respostas:
Problema
Acontece que já existe um problema em aberto no rastreador Chromium sobre esse inconveniente irritante. As opções existentes oferecidas pelo Hangouts têm grandes inconvenientes:
Compartilhar tela inteira: se você tiver várias telas (eu tenho três) e compartilhar "Tela inteira", outras pessoas no hangout não poderão ver nada.
Compartilhar aplicativo: se você compartilhar apenas um aplicativo específico, então:
Solução / solução alternativa
Uma solução muito boa está no Comentário 18 desta mesma discussão, portanto, todos os créditos devem ser direcionados ao autor do comentário.
Resumirei o processo aqui, que permite compartilhar uma parte / área da tela de vários monitores no Google Hangouts em execução em uma máquina Linux .
Abra o VLC no modo "Captura de tela" e informe qual parte da tela X11 você deseja capturar, usando os parâmetros de linha de comando apropriados do Módulo de tela . Você pode fazer isso através da configuração da GUI OU usando a linha de comando:
Volte ao Google Hangouts e compartilhe a janela VLC recém-aberta, que agora atua como seu "portal" na parte interessante da tela.
Anotações importantes
Mova a janela do VLC para longe da parte da tela que está capturando para evitar efeitos iniciais .
Você NÃO redimensionar ou minimizar a janela do VLC, porque vai afetar a resolução da sua quota de tela. Se você quiser tirá-lo do caminho enquanto estiver transmitindo para hangouts, basta movê-lo para fora da tela SEM redimensioná-lo ou apenas fingir que não está lá.
O ponteiro do mouse não é capturado pelo VLC no Linux. O autor da solução alternativa sugere uma solução para isso também: ExtraMaus , um simples programa em C que cria um "clone" do mouse, mas visível pelo VLC.
[TL; DR] Explicando os valores que escolhi no exemplo
O
screen://
parâmetro indica que queremos ativar o módulo Screen Capture. Você sempre usará esse parâmetro como está.Os sinalizadores
--no-video-deco
e--no-embedded-video
ocultam o menu da janela e a barra de ferramentas de controle de vídeo, respectivamente. Você não deseja compartilhá-los através do Hangouts, então sugiro que você sempre inclua esses parâmetros.O
--screen-fps=20
não precisa ser 20. Você pode fazer 30 ou 10, pois o desempenho é afetado principalmente pela maneira como o Chrome codifica o fluxo de vídeo.A área da tela que deseja capturado segue a convenção padrão [
--screen-top
,--screen-left
,--screen-width
,--screen-height
]. Supondo que eu tivesse dois monitores, cada um 1920x1080, fornecendo uma tela "virtual" total de 3840x1080 quando colocados um ao lado do outro, eu poderia fornecer as seguintes coordenadas:[ 0, 0, 1920, 1080]
para toda a minha tela esquerda[ 0, 1920, 1920, 1080]
para toda a minha tela direita[32, 0, 1920, 1000]
para uma parte da minha tela esquerda que se estende por toda a largura, mas apara os32
pixels da parte superior (onde normalmente tenho a barra de título da janela) e os1080-1000-32 = 48
pixels da parte inferior (onde tenho a barra de tarefas do KDE).fonte
unknown option or missing mandatory argument '--screen-top=0'
Eu acho que encontrei uma solução melhor do que usar o vlc. Só precisamos criar uma webcam falsa que mostre nossa tela.
Em seguida, precisamos fazer com que apareça em cromo na lista de câmeras disponíveis. Podemos fazê-lo, por exemplo, desativando e ativando a webcam interna do laptop. Primeiro você deve descobrir o número do seu barramento USB e da porta. No meu caso: Bus é 01 e Port é 4, então eu corro:
Depois disso, posso escolher myFakeCam no Hangouts.
Eu descrevi algumas outras idéias e mais alguns detalhes no hliss repo .
Google Chrome não pode ver câmera falsa
fonte
Versão modificada do script no hliss repo para poder selecionar a área de uma janela ou desenhar a área com um retângulo.
https://gist.github.com/adrianlzt/216aabb9568b162c92317f768d889c76
fonte
Carregue o xrdp no seu laptop. Inicie uma conexão rdesktop com o host local. Use a sessão rdesktop para iniciar a sessão do google +, e somente essa janela / área de trabalho será compartilhada.
Sei que isso é mais uma solução alternativa, mas será feito o que você deseja fazer.
fonte