Conteúdo:
sleep 6 ; ffmpeg -f alsa -i pulse -f x11grab -s $(xrandr | grep
'\*\+' | awk '{print $1}') -r 26 -i :0.0 -acodec ac3 -ab 64k -vcodec
mpeg4 -sameq screencast-`date +%d-%m-%Y_%H:%M:%S`.mp4
Execute
o script videodesk em uma janela de terminal, após minimize em seguida
para que a linha de comando não apareça no inicio do vídeo, pois a
gravação iniciará após 6 segundos da execução. Para finalizar a
gravação você depois alterna para a janela de terminal onde foi
iniciado o ffmpeg e tecle CTRL+C ou para não aparecer a janela de
terminal de onde foi iniciado, em uma caixa do tipo Executar, digite
o comando killall ffmpeg.
Super dica:
Você
pode parar a gravação do vídeo por teclas de atalho se você tiver
instalado o xbindkeys ou outro programa do mesmo gênero, bastando
apenas acionar as teclas configuradas para o comando killall ffmpeg
onde o encerramento da gravação não aparecerá no vídeo.
Notas:
Você
pode executar este script várias vezes seguidas sem haver
sob-regravação do arquivo anterior, pois o nome do arquivo gerando
é formato pela data e hora com segundos.
Exemplos:
screencast-16-11-2013_17:10:17.mp4
screencast-16-11-2013_17:14:11.mp4
screencast-16-11-2013_17:20:33.mp4
Este
script utilizará automaticamente a resolução de tela configurada
do seu desktop.
O
vídeo criado utiliza o codec MP4V para vídeo e AC3 para áudio, e
também embora não especificado o bitrate de vídeo, utiliza um
bitrate em torno de 5000k.
Um
screencast de 7 minutos e 9 segundos, sendo reproduzido um mp3 de 4
minutos e um vídeo por 3 minutos durante gravação gerou um arquivo
de 281 MB de tamanho, ou seja cada minuto gera 40.14 MB.
Captura
do áudio de música ou vídeo
O
script captura até o áudio de mp3 sendo reproduzido no computador,
mas pra que funcione você deverá executar o pavucontrol depois de
iniciado o ffmpeg devendo o mp3 está sendo reproduzido também,
senão não terá como mudar a opção para isto na guia Gravando
que estará totalmente escurecida ou indisponível, então esta
primeira execução será a sua gravação de teste, depois de
configurado a opção certa no pavucontrol não será mais preciso
iniciar o mesmo, já que a mesma fica salva.
No
pavucontrol
Na
aba Reproduzindo a barra de progresso
deve está se mexendo se o som estiver em reprodução.
Na
aba Gravando escolha: Monitor
of Áudio
interno estéreo
analógico
Agora
na aba Gravando o som que está sendo
capturado, a barra de progresso deve está se mexendo durante a
reprodução do mp3 e quanto maior o volume do áudio mais ela se
movimenta.
Script
em zenity para colocar um atalho no menu de programas
Conteúdo:
zenity
--info --text "A gravação iniciará em 6 segundos. Parar:
killall ffmpeg."
videodesk
Salve
com o nome zscreencast com permissão 755 do chmod em /usr/local/bin.
Ao
clicar em OK a janela do zscreencast será fechada e após 6 segundos
começará a gravação.
Diminuindo
o tamanho do arquivo screencast
As
opções utilizadas no script videodesk normalmente deixa o arquivo
gerado muito grande mesmo com poucos minutos de gravação então
vamos converter o mesmo para diminuir o tamanho, mas usando a mesma
qualidade do original no arquivo convertido, onde o mesmo ficará 6x
menor. Por exemplo um screencast de 7 minutos e 9 segundos gerou um
arquivo de 281 MB, e usando o mencoder com a linha de comando abaixo
o arquivo convertido ficará com o tamanho de 46 MB ou seja 6x menor.
$
mencoder -forceidx -mc 0 -noskip -skiplimit 0 -oac mp3lame -lameopts
cbr:br=64 -ovc lavc -lavcopts vcodec=msmpeg4v2:vhq -o meuvideo.avi
screencast-28-11-2013_21:38:28.mp4
Este
comando converte o vídeo para avi com o formato MP42 (Microsoft
MPEG-4 v2) e o codec de áudio utilizado é o mp3 ficando 6 vezes
menor o tamanho do arquivo mas com a mesma qualidade da imagem do
original e com som.
Usando
o ffmpeg pra converter
$
ffmpeg -i screencast-28-11-2013_21:38:28.mp4 -f avi -vcodec msmpeg4v2
-r 26 -b 800K -acodec libmp3lame -ac 2 -ar 44100 -ab 64k video.avi
Foi
especificado o valor 800k para o bitrate de vídeo e o arquivo
convertido ficou com 52 MB, maior que o do mencoder, apesar de a
imagem não ter a mesma qualidade do original.
A
qualidade fica bem inferior ao original na parte da imagem do vídeo
com pixeis visíveis mas o conteúdo é bem legível mesmo letras
pequenas em menus, sendo os pixeis mais notados em parte de fotos que
aparecem no vídeo.
Se
for especificando bitrate de vídeo com valor 2000k a qualidade é
muito boa, ficando próxima do original, apresenta pixeis por alguns
segundos que são notados apenas nas partes de fotos quando foi
visualizadas diversas fotos durante o screencast, onde os mesmos
pixeis que aparecem na mesma imagem somem logo a seguir, sendo
repetido o mesmo efeito nas outras fotos.
O
screencast original tem o tamanho de 281 MB e o arquivo convertido
fico com o tamanho de 107
MB ou seja um pouco a menos da metade.
Como posso capturar apenas o áudio que esta sendo reproduzido?
ResponderExcluir