Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Debian Squeeze/Sid
Por foxcruz
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Matheus em (última atualização em 14/07/2010)   [ 5854 hits ]

Login: matheusrosa, 24321 pontos

Homepage: matheusrosa.com.br   


Descrição

Pequeno script para conversão de arquivos Matroska (*.mkv) para Audio Video Interleave (*.avi). É necessário que se tenha o mencoder instalado.

[ Download: MKVparaAVI.py ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

#!/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()

Scripts recomendados
   Script Linux recomendado Criando um rootfs para sistemas embarcados a partir de cópia de um sistema já operando
   Script Linux recomendado tar7z
   Script Linux recomendado Dividir um grupo de arquivos em vários CDs Ou DVDs
   Script Linux recomendado Agenda de Contatos
   Script Linux recomendado Agenda Python

Comentários
[1] Comentário enviado por evaldoavelar em 14/07/2010 - 12:15h:

Boa idéia!



[2] Comentário enviado por mayroncachina em 30/01/2011 - 15:51h:

Muito bom cara, formatei meu hd como ntfs e não ta pegando mais no dvd :S
agora tenho que converter os videos com qualidade blu-ray .. hhehe

[3] Comentário enviado por ziober em 22/04/2011 - 23:21h:

Boa noite
Qual é o procedimento para executar este script?

[4] Comentário enviado por khyron em 09/04/2012 - 09:24h:

bom dia, nao sou dono do script...mas consegui converter utilizando o comando

$python MKVparaAVI.py video.mkv ( video.mkv, seria o nome do seu video que vc quer converter )

agora so preciso testar se vai rodar no dvd de casa..

Obs:
(Se vc tiver varios filmes mkv, vc pode testar o mesmo comando e, e em vez de colocar o nome do filme vc coloca (*.mkv ))
ficando assim: python MKVparaAVI.py *.mkv

Abraço


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.