Categorias
Linux

Controle remoto do MPlayer

Há dois tipos de pessoas neste mundo: aquelas que pensam que o MPlayer é o melhor tocador de mídia na história da existência, e aqueles que estão errados. Uma das características menos conhecidas é a possibilidades de controlá-lo pelo console, um script shell ou até mesmo através da rede. O segredo para este truque está na opção -slave do MPlayer, que diz ao programa para aceitar comandos do stdin stream ao invés das teclas de teclado. Combinar isso com a opção -input e comandos serão lidos de um arquivo ou um FIFO. por exemplo, teste isto num terminal:

mkfifo ~/mplayer-control
mplayer -slave -input file=/home/user/mplayer-control
filetoplay

Então, em outro terminal ou de um script, entre:

echo "pause" >~/mplayer-control

Este comando irá interromper a execução corrente do MPlayer, e ao soltar o comando novamente irá recomeçar a gravação. Note que você tem que dar o caminho completo do arquivo de controle para o MPlayer, com /home/user e daí em diante, porque ~/mplayer-control apenas não irá funcionar. Há vários outros comandos que você pode enviar para o MPlayer - de fato, qualquer operação de teclado no programa dispara um comando que você pode usar no seu script de controle. Você pode até operar o MPlayer de outro computador através da rede usando SSH ou Netcat. Veja este exemplo:

ssh user@host "echo pause >mplayer-control"

Aqui, nós nos autenticamos numa máquina remota (servidor) com o nome de usuário e executamos um comando para enviar a interrupção para o arquivo de controle do MPlayer da máquina remota. É claro, isto pode ser feito muito mais rápido se você tem a chave de autenticação de SSH habilitada para que você não precisa entrar com a senha a cada vez.