Ontem participei de uma palestra online sobre tradução. Como a palestra tinha duas horas e eu perco a concentração com muita facilidade, decidi gravar a palestra para assistir de novo depois. A palestra tinha áudio e vídeo, então precisava de um programa que gravasse o desktop. Conheço dois: o Istanbul e o RecordMyDesktop. Testei os dois. O Istambul é um programa gráfico bem fácil de usar. O RecordMyDesktop é um programa de linha de comando, mas tem uma interface gráfica (gtk-recordmydesktop) tão simples quanto a do Istanbul. No fim das contas, o RecordMyDesktop leva vantagem por poder ser usado em scripts.
Embora ambos sejam ótimos, esbarrei num problema: nenhum dos dois grava som pelo PulseAudio. E eu aqui, todo modernão com meu Fedora 9. O que fazer?
Googlando por aí encontrei este site. Nele temos um script mágico que usa o recordmydesktop para gravar a tela e uma combinação de sox e ferramentas ogg para gravar o áudio. Basicamente, o script dispara os dois programas ao mesmo tempo e depois junta o fluxo de áudio ao de vídeo. Barba, cabelo e bigode.
No Fedora, instale os pacotes recordmydesktop, liboggz e sox. Baixe o script parmd.sh no site que eu mencionei. Aí é só tornar o script executável com um chmod +x parmd.sh e executar o script. Isso, no entanto, vai gravar a tela toda. Para gravar uma janela só, primeiro é preciso descobrir a ID da janela, com um mero xwininfo no terminal. Aí clique na janela que quer gravar e a saída do comando vai exibir, dentre outras coisas, algo como Windows Id: 0×4400020.
Vamos colocar isso no script? Abra o parmd.sh no seu editor de textos favorito e na linha que começa com VIDEO_CMD deixe assim:
VIDEO_CMD=”recordmydesktop -windowid 0×4400020 -v_quality 30 –no-sound -o $VIDEO_FILE”
Obviamente, coloque o número de ID da janela que deseja gravar, e não o 0×4400020 que usei no exemplo acima. Eu daria algumas aulinhas sobre como converter o vídeo ogv resultante para um formato mais popular e de tamanho menor, mas sou uma negação no assunto, por isso vou apenas postar o comando do mencoder que usei para converter o vídeo para um formato mais popular que deixou o danado com quase metade do tamanho:
mencoder meuvideo.ogv -o meuvideo.avi -oac mp3lame -lameopts br=16 -ovc x264 -x264encopts bitrate=100 -ss 06:30:00
Sem grandes explicações porque não manjo muito disso, mas pode ser que ajude a alguém. Só uma dica: o -ss 06:30:00 manda o mencoder cortar os primeiros seis minutos, pois botei o comando para funcionar com antecedência. Também pode-se cortar o fim do vídeo com a opção -endpos. Até a próxima!