Skip to content

Instantly share code, notes, and snippets.

@thiagofa
Created September 25, 2012 01:36
Show Gist options
  • Save thiagofa/3779483 to your computer and use it in GitHub Desktop.
Save thiagofa/3779483 to your computer and use it in GitHub Desktop.
Script em Python para converter screencasts (MOV para MP4) dos cursos online e incluir logo da AlgaWorks
import os
from os.path import *
import fnmatch
import sys
import commands
def is_success(result):
return result[0] == 0
def get_message(result):
return result[1]
def mov_to_mp4(origin_file, dest_file):
print 'Converting to MP4...'
command_line = 'ffmpeg -y -i ' + origin_file + ' -vcodec libx264 -acodec aac ' + \
'-strict experimental -ar 44100 -ab 64k -ac 1 -threads 4 -f mp4 -vf "movie=logo_aw.png [logo]; ' + \
'[in][logo] overlay=W-w-10:H-h-10 [out]" ' + dest_file
result = commands.getstatusoutput(command_line)
if is_success(result):
print 'Converted to MP4!'
else:
print 'Error converting to MP4:\n' + get_message(result)
return is_success(result)
def move_moov_atom_to_beginning(origin_file, dest_file):
print 'Moving MOOB atom to beginning...'
command_line = 'qtfaststart ' + origin_file + ' ' + dest_file
result = commands.getstatusoutput(command_line)
if is_success(result):
print 'MOOB atom moved!'
else:
print 'Error moving MOOV atom:\n' + get_message(result)
return is_success(result)
dir_list = os.listdir(os.getcwd() + '/original')
for fname in dir_list:
if fnmatch.fnmatch(fname, '*.mov'):
origin_file = abspath(os.getcwd() + '/original/' + fname)
work_file = os.getcwd() + '/work/' + splitext(fname)[0] + '.mp4'
final_file = os.getcwd() + '/final/' + splitext(fname)[0] + '.mp4'
print '##################################################'
print 'Processing file ' + basename(fname) + '...'
print '##################################################'
result = mov_to_mp4(origin_file, work_file)
if result:
result = move_moov_atom_to_beginning(work_file, final_file)
if not result:
print '**************** ERROR ****************'
print '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-='
@thiagofa
Copy link
Author

Instruções de uso

Crie os seguintes diretórios no mesmo lugar que colocar este script em Python: "final", "original" e "work".
No diretório "original", coloque todos os arquivos MOV. Execute o script e eles serão convertidos para MP4 e colocados na pasta "final". O diretório "work" é temporário.

É necessário instalar o FFmpeg e qtfaststart.

O script converte todos os arquivos MOV da pasta "original" para MP4 e coloca na pasta "final". Além de converter os vídeos, inclui uma logomarca da AlgaWorks no canto inferior direito e move o MOOB atom para o início do arquivo (necessário para streaming).

Uso do ScreenFlow

Se estiver gravando vídeo aulas para a AlgaWorks usando o ScreenFlow, ao exportar a gravação, defina a dimensão do vídeo em 100% e altere o Frame Rate para 15 fps. Não precisa alterar mais nenhuma configuração para exportação dos vídeos.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment