Como salvar a saída do mplayer ao assistir no modo ASCII (com aalib)

7

Eu estava ajudando um amigo que estava trabalhando em uma apresentação em que ele queria mostrar alguns vídeos que fez, mas que foram convertidos para arte ASCII. Eu posso fazer isso facilmente com o mplayer em uma caixa do Linux usando aalib (-vo aa). Mas isso só reproduz o filme, transcodificando-o ao vivo. O que eu gostaria de fazer é converter esses vídeos em arte ASCII e salvá-los em arquivos para que eles possam ser reproduzidos em um loop em alguns players de vídeo comuns (seja vlc, wmediaplayer, o que for).

Eu brinquei com o mplayer / mencoder tentando despejar streams, vídeos, passando para fifos, saída padrão e assim por diante, mas eu simplesmente não consigo encontrar nenhuma maneira de fazer isso.

Algum de vocês já fez isso antes e se sim, como?

Muito obrigado!

    
por danakim 16.10.2011 / 14:21

2 respostas

2

Aalib é incrível. Eu acho que o problema é que a saída do mplayer está em uma janela diferente, dificultando a tubulação direta. Aqui estão algumas rotas que você pode seguir:

  • Uma opção é gravar toda a área de trabalho. Este link SE demonstra uma maneira de registrar todo o tela usando o ffmpeg.

Gravar toda a tela do terminal

ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg

Em seguida, inicie o vídeo, maximize a janela, aguarde até que pare e pare a gravação. Recorte as dimensões da tela e o tempo do vídeo de captura de tela manualmente ou com um script. A desvantagem aqui é que o fluxo de trabalho é maior que o tempo real da reprodução de vídeo.

  • Gravar um xterm é outro caminho, mas meu display xterm nunca tem a beleza estética de minhas outras configurações .

  • Se você tiver um tripé, câmera e paciência, poderá gravar a reprodução com um fluxo de trabalho analógico. A estética passa pelo telhado, mas isso parece meio bobo.

  • Você tem a maioria das opções de reprodução ao vivo no mplayer, então eu sugiro que você configure um Linux para seu amigo como a melhor opção para reprodução. Além disso, você pode fazer o loop do vídeo usando o comutador de loop:% -loop 0

Eu também luto com o registro de aalib. Eu adoraria saber uma maneira melhor de fazer isso. Se você descobrir, por favor, compartilhe comigo.

    
por 06.10.2013 / 20:07
0

Basta iniciar o seu player de vídeo no xterm ou qualquer outro terminal e capturar isso para o mpgeg / avi / qualquer arquivo de vídeo usando alguma ferramenta de gravação de tela. Dois exemplos estão neste post: Como posso capturar quadros de X11 em um arquivo?

    
por 22.11.2011 / 08:52