Conversor MKV para AVI
Publicado por Matheus (última atualização em 14/07/2010)
[ Hits: 14.244 ]
Homepage: matheusrosa.com.br
Pequeno script para conversão de arquivos Matroska (*.mkv) para Audio Video Interleave (*.avi). É necessário que se tenha o mencoder instalado.
#!/usr/bin/python # -*- coding: utf-8 -*- # Autor: Matheus Rosa <matheus.sys@gmail.com> # Data: 11/07/2010 # Descrição: Este script faz a conversão de arquivos MKV para AVI # utilizando a ferramenta MEncoder import sys import os def mostraInfo(info): '''Mostra as informações básicas do arquivo ''' print '=' * 100 print 'Arquivo MKV: ' + info['nomeArquivo'] print 'Tamanho: ' + info['tamanho'] print '=' * 100 def motraAjuda(): '''Mostra o uso do script ''' print 'Conversor de MKV para AVI por Matheus Rosa' print 'Uso: ' + sys.argv[0] + ' arquivo mkv' def tamanhoLegivel(tamanho): '''Retorna o tamanho legível para humanos formatado ''' sufixos = {1024: ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']} if tamanho < 0: return 'não foi possível obter o tamanho' for sufixo in sufixos[1024]: tamanho /= 1024 if tamanho < 1024: return '{0:.1f} {1}'.format(tamanho, sufixo) def main(): if len(sys.argv) < 2: mostraAjuda() arquivo = sys.argv[1] if os.path.exists(arquivo): extensao = arquivo[-3:] tamanho = os.path.getsize(arquivo) if extensao == 'mkv': info = {'nomeArquivo':arquivo,'tamanho':tamanhoLegivel(tamanho)} mostraInfo(info) print 'Iniciando conversão...' os.system('mencoder ' + arquivo + ' -oac copy -ovc copy -o '+ arquivo[:-4] + '.avi') print 'Conversão concluída!' else: print 'Arquivo inválido. É necessário um arquvo MKV para continuar.' else: print 'Arquivo não existe' if __name__ == '__main__': main()
Organizando suas músicas com Python
Agenda de cadastros com tratamento de erros
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Desktop Linux ganha novos apps enquanto IA invade o noticiário
Blender 5.0 Beta, Firefox 144 e avanço da IA dominam o dia no mundo Linux
Desktop Linux ganha fôlego enquanto distros refinam experiência e segurança
Wayland em alta, IA em debate e novos ventos para distros e devices
Como mudar o nome de dispositivos Bluetooth via linha de comando
Adicionando o repositório backports no Debian 13 Trixie
Erro ao fazer remaster usando Penguin eggs (4)
Linux x Plataformas de Trading - um problema (in-)solúvel? (3)