Faça uma captura de tela no mplayer2 e carregue-a em um site de compartilhamento de imagem em um único pressionamento de tecla

0

Eu tenho um script que carrega capturas de tela para imgur. Eu quero que o mplayer tire uma captura de tela e, em seguida, carregue-a com o script bash e tudo isso em um único pressionamento de tecla. Existe uma maneira de fazer fila, tirar uma captura de tela e, em seguida, executar um script?

    
por jojman 17.04.2014 / 15:29

2 respostas

0

Eu mesmo encontrei a solução. Basicamente, é um script bash que emula um pressionamento de tecla na janela mplayer e, em seguida, passa a enviar a captura de tela para imgur. Todo o script é feito fora de mplayer , então você pode simplesmente usar seus DE / WM / xbindkeys para vinculá-lo a qualquer chave. Aqui está:

#!/bin/bash
# press s to take a screenshot; vf=screenshot must be added to ~/.mplayer/confing
xdotool search --class mplayer2 key s 

# So there's enough time for a screenshot to be written to a file.
sleep 0.3

cd /proc/'pidof mplayer'/cwd
imgur shot*.png
rm shot*.png

Estou usando este script como o comando imgur . mplayer já deve estar em execução para que isso funcione.

    
por 17.04.2014 / 17:49
3

Até onde eu sei, isso não é possível exatamente do jeito que você está pensando. Você pode fazer uma captura de tela no mplayer / mplayer2 com o atalho s , mas fazer com que o jogador sinalize um script bash para fazer o upload da imagem capturada será muito difícil. Embora, parece que o mpv , um fork do mplayer e do MPlayer2, pode tornar isso muito mais simples, permitindo que um usuário ligar vários comandos (incluindo os externos).

Existem algumas maneiras de contornar isso:

  1. Execute um script bash em segundo plano que monitore um diretório específico (será necessário que o player coloque as capturas de tela nesse diretório - o padrão é $PWD da instância do player), que detectará os recém-adicionados fotos e ligue para o script de upload sobre eles.

  2. Não tente fazer com que seu player lide com esse tipo de tarefa; em vez disso, vincule uma chave ao Gerenciador de Janelas ou ao Ambiente de Área de Trabalho. A chave que você liga chama uma ferramenta externa (por exemplo, scrot ) e, em seguida, chama o script de upload na imagem resultante.

  3. Mude para o mpv e redefina o comando s em input.conf para fazer uma captura de tela e, em seguida, chame o script de upload nele.

1 tem alguns problemas óbvios. Primeiro, vai desperdiçar uma tonelada de recursos para ter um script bash como este constantemente assistindo a uma pasta. E, segundo, será um pouco difícil (embora não impossível) obter o script bash para reconhecer as imagens que ele já enviou e não repetir a tarefa.

2 tem várias vantagens. Primeiro, você não está tentando fazer scripts dentro do seu media player (geralmente uma ideia estranha). Em segundo lugar, é muito mais generalizável - você pode usar a mesma função em qualquer lugar do ambiente, não apenas no player.

A vantagem do

3 é que ele permanece simples e realmente realiza exatamente o que você quer. O negativo é que você precisaria mudar de tocadores de mídia.

Sem saber o que você usa WM / DE, dar-lhe um processo específico a seguir não é possível, mas eu recomendo strongmente a seguinte opção 2 a menos que você se sinta bem em experimentar o mpv. Se você estiver disposto a dar uma olhada em uma ferramenta diferente, o mpv é um garfo maravilhoso.

    
por 17.04.2014 / 16:10

Tags