gravando_um_video_tutorial
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
| Ambos lados da revisão anteriorRevisão anteriorPróxima revisão | Revisão anterior | ||
| gravando_um_video_tutorial [2016/03/10 22:51] – /* No Linux */ cartola | gravando_um_video_tutorial [2016/12/05 10:31] (atual) – /* Legendas direto na tela */ cartola | ||
|---|---|---|---|
| Linha 1: | Linha 1: | ||
| + | |||
| + | ====== No Windows ====== | ||
| + | |||
| + | |||
| + | Existem muitas opções de softwares para gravação de vídeos da tela e que servem para a criação de um tutorial. | ||
| + | |||
| + | O [[http:// | ||
| + | |||
| ====== No Linux ====== | ====== No Linux ====== | ||
| Linha 4: | Linha 12: | ||
| Usando ffmpeg para gravar a tela | Usando ffmpeg para gravar a tela | ||
| + | |||
| + | < | ||
| + | </ | ||
| + | Você pode mudar algumas coisas aí. A resolução (1920x1080) a qualidade do vídeo (2 a 31, sendo 2 a melhor) ou o formato do vídeo, bastando alterar a extensão. Aqui não funcionou bem com mp4, que eu preferiria. Há também inúmeras outras opções do ffmpeg que podem ser usadas. Esse comando não grava o áudio, pra isso em geral eu uso o Audacity separadamente, | ||
| Usando audacity ou o próprio ffmpeg para o áudio | Usando audacity ou o próprio ffmpeg para o áudio | ||
| - | Usando um script | + | Outros softwares |
| + | * Kazam - pacotes já disponíveis para Linux ([[https:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[https:// | ||
| + | |||
| + | |||
| + | ===== Legendas direto na tela ===== | ||
| + | |||
| + | |||
| + | Usando esses scripts é possível | ||
| + | |||
| + | É necessário configurar um atalho de teclado que ainda não esteja sendo usado pelo seu gerenciador de janelas (Window Manager). No meu caso, por exemplo, usei o XFCE e configurei o atalho Ctrl+Shift+U para chamar o primeiro script. Ele vai passar a informação ao segundo script para que seja mostrada a próxima legenda. | ||
| + | |||
| + | É necessário instalar a ferramenta " | ||
| - | < | + | Primeiro script (a ser associado ao atalho de teclado do WM): |
| + | | ||
| + | |||
| + | # Script que atua junto com o " | ||
| + | # Deve ser mapeado junto a um atalho de teclado do gerenciador de janelas. | ||
| + | # Por exemplo, no XFCE va na configuracao de teclado e associe um atalho | ||
| + | # a este comando. Toda vez que o atalho for acionado a proxima legenda aparece. | ||
| + | |||
| + | echo > / | ||
| - | # Script pra apresentar legendas na tela durante gravacao de video | + | Segundo script, a ser executado chamando o arquivo txt com as legendas em até 2 idiomas: |
| + | # | ||
| + | |||
| + | | ||
| + | # | ||
| + | # PT_BR: | ||
| + | # gerar arquivos com legendas. | ||
| + | |||
| + | # EN: Takes a text file, optionally with 2 languages, and shows each in one | ||
| + | # | ||
| + | # PT_BR: Pega um arquivo texto, opcionalmente com 2 idiomas, e mostra cada um | ||
| + | # num canto da tela ou gera os arquivos de legendas. | ||
| + | |||
| + | # A Fazer: | ||
| + | # - opcao de legenda titulo pra inicio e fim no meio da tela | ||
| + | # - testar mais idiomas: pt, en, fr, es | ||
| + | # - tratar tamanho para passar pra proxima linha | ||
| + | # - publicar (github, sf, ...) | ||
| + | # - melhorar o inicio/fim de gravacao (expect?) | ||
| + | # - tirar dependencias externas: video_tela.sh | ||
| + | # - entender e tratar os n idiomas de entrada. Hoje ta hardcoded pra 2. Pode vir na primeira linha do arquivo, inclusive os nomes dos arq de saida | ||
| + | # Feito: | ||
| + | # - mapear atalho de teclado pra passar pra proxima | ||
| + | # - sair apos tocar ultima legenda | ||
| + | # - aguardar primeiro comando pra tocar primeira legenda | ||
| + | # - tratar interrupcao bruta | ||
| + | |||
| + | # | ||
| + | # Requisitos | Requisites | ||
| + | # | ||
| + | # - ffmpeg | ||
| + | # - osd_cat | ||
| + | # - Para gerar legendas direto no video. Se for gerar apenas arquivos srt nao eh preciso. | ||
| + | # - To generate onscreen subtitles to be directly recorded. To generate srt files it's not necessary. | ||
| + | # - proxima_legenda.sh | ||
| + | # - ter o programa | ||
| + | # - configurar atalho de teclado no Window Manager (ex: xfce, Kde, Gnome, ...) para rodar proxima_legenda.sh | ||
| + | |||
| + | # | ||
| + | # Configuracoes | Configurations | ||
| + | # | ||
| + | |||
| + | # Valores padrao | Default values | ||
| + | # separador de idiomas | language separator | ||
| + | s=" | ||
| + | # tempo que as legendas ficam na tela (em segundos) | subtitles time on screen | ||
| + | d=5 | ||
| + | # tamanho da fonte a ser usada (achei 80 bom para Full HD) | font size (I found 80 good with Full HD) | ||
| + | t=80 | ||
| + | # tamanho da borda da legenda | subtitle border size | ||
| + | b=2 | ||
| + | # cor da legenda (em ingles, teste ao mudar) | font color | ||
| + | c=" | ||
| + | # cor da borda da legenda (em ingles, teste ao mudar) | font border color | ||
| + | r=" | ||
| + | # saida da legenda para tela (screen) ou arquivo (file) | defines output to " | ||
| + | o=" | ||
| + | |||
| + | # Obtendo valores personalizados | Getting customized settings | ||
| + | while getopts " | ||
| + | case $opt in | ||
| + | d) # altera o tempo da legenda na tela | change subtitle screen time | ||
| + | d=" | ||
| + | b) # espessura da borda da legenda | sibtitle border thickness | ||
| + | b=" | ||
| + | f) # nome do arquivo de legendas | subtitles file name | ||
| + | f=" | ||
| + | t) # tamanho da borda | border size | ||
| + | t=" | ||
| + | c) # cor da fonte | font color | ||
| + | c=" | ||
| + | r) # cor da borda | border color | ||
| + | r=" | ||
| + | s) # separador | separador | ||
| + | s=" | ||
| + | o) # define saida na tela " | ||
| + | o=" | ||
| + | esac | ||
| + | done | ||
| + | |||
| + | trap "rm -f / | ||
| + | |||
| + | # | ||
| + | # Programa principal | Main program | ||
| + | # | ||
| + | |||
| + | if [ " | ||
| + | echo | ||
| + | echo "Uso: $0 [-b < | ||
| + | echo | ||
| + | echo " | ||
| + | echo "Uma legenda (varios idiomas) por linha" | ||
| + | echo | ||
| + | exit | ||
| + | fi | ||
| + | |||
| + | readarray arq < $f | ||
| + | tam=$(wc -l $f | cut -d\ -f 1) | ||
| + | |||
| + | # calculando posicao da linha de baixo | calculating bottom subtitle position | ||
| + | offset=$(expr 5 \* $t) | ||
| + | |||
| + | i=0 | ||
| + | rm -f / | ||
| + | mkfifo / | ||
| + | |||
| + | # Aguarda o primeiro comando de disparo de legendas | ||
| + | # Wait first subtitle command shot | ||
| + | cat / | ||
| + | |||
| + | # inicia a gravacao | starts recording | ||
| + | teste=" | ||
| + | if [ " | ||
| + | num=01 | ||
| + | else | ||
| + | num=`expr $teste + 1 | awk ' | ||
| + | fi | ||
| + | ffmpeg -f x11grab -s 1920x1080 -r 12000/1001 -i :0.0 -q:v 2 meuVideo-$num.avi > /dev/null 2>&1 & | ||
| + | pid=" | ||
| + | |||
| + | if [ " | ||
| + | # guardando momento inicial para calcular tempos | saving initial moment to calculate times | ||
| + | inicio=" | ||
| + | fi | ||
| + | |||
| + | while [ $i -lt $tam ]; do | ||
| + | # pega texto(s) | ||
| + | t1=" | ||
| + | t2=" | ||
| + | # coloca na tela ou no arquivo | draws onscreen or write to file | ||
| + | if [ " | ||
| + | (echo " | ||
| + | echo " | ||
| + | elif [ " | ||
| + | agora=" | ||
| + | echo $(date +%H: | ||
| + | (echo; echo $i; echo " | ||
| + | echo " | ||
| + | echo " | ||
| + | sleep $d; echo OK PARA PROXIMA | ||
| + | fi | ||
| + | (( i++ )) | ||
| + | # o " | ||
| + | if [ $i -lt $tam ]; then | ||
| + | cat / | ||
| + | fi | ||
| + | done | ||
| + | |||
| + | kill -2 $pid 2> /dev/null | ||
| + | |||
| + | rm -f / | ||
| - | # Pega um arquivo texto, opcionalmente | + | Instruções completas tomando como exemplo |
| - | # num canto da tela. | + | |
| - | # todo: | + | * Instale o aplicativo xosd-bin |
| - | # - testar mais idiomas: pt, en, fr, es | + | * Pode ser pela linha de comandos |
| - | # - tratar tamanho para passar pra proxima linha | + | * Ou via instalador gráfico |
| - | # - mapear atalho | + | * Salve o primeiro script num arquivo texto |
| + | * Use seu editor preferido | ||
| + | * Torne o arquivo executável | ||
| + | * Abra as configurações de teclado do XFCE | ||
| + | * Associe o script à sua sequência de teclas | ||
| + | * Nota: use uma sequência ainda não utilizada | ||
| + | * Salve o segundo script em outro arquivo | ||
| + | * Note que várias coisas podem ser configuradas | ||
| + | * Torne o arquivo executável | ||
| + | * Pronto, está tudo certo | ||
| + | * É só criar um arquivo com legendas | ||
| + | * Separe com " | ||
| + | * Aqui fiz uma em PT_BR outra em EN | ||
| + | * Se quiser apenas uma, não use separador | ||
| + | | ||
| + | | ||
| + | * É isso aí, bons tutoriais! | ||
| - | # Configuracoes | + | Veja o tutorial |
| - | # separador | + | |
| - | s=" | + | |
| - | if [ " | + | https:// |
| - | echo | + | |
| - | echo "Uso: $0 < | + | |
| - | echo | + | |
| - | echo " | + | |
| - | echo "Uma legenda (varios idiomas) por linha" | + | |
| - | echo | + | |
| - | exit | + | |
| - | fi | + | |
| - | readarray arq < $1 | + | E aqui um tutorial feito com ele. Neste eu coloquei outro atalho de teclado para colocar um fundo preto na tela com o gthumb, fazendo títulos de entrada e saída do vídeo. |
| - | tam=$(wc -l $1 | cut -d\ -f 1) | + | |
| - | i=0 | + | https:// |
| - | while [ $i -lt $tam ]; do | + | |
| - | # pega texto(s) | + | |
| - | t1=" | + | |
| - | t2=" | + | |
| - | # coloca na tela | + | |
| - | (echo " | + | |
| - | echo " | + | |
| - | read lixo | + | |
| - | (( i++ )) | + | |
| - | done</code> | + | |
gravando_um_video_tutorial.1457650273.txt.gz · Última modificação: por cartola
