• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Triton

Conversor de .OGM+.SSA para .MKV

3 mensagens neste tópico

import os
from path import path

pathsw = 'E:\\MKVtoolnix\\mkvmerge.exe'
dir = 'E:\\Downloads\\Anime\\Inuyasha\\'
d = path(dir)

for f in d.files('*.ogm'):
    for f2 in d.files('*.ssa'):
        if f[:-4] == f2[:-4]:
            temp = f[:-4]
            pm = ' -o "%s.mkv"  -a 1,2 -d 0 -S "%s.ogm" --language 0:eng -s 0 -D -A "%s.ssa" --track-order 0:0,0:1,0:2,1:0' % (temp, temp, temp)
            os.system(pathsw + pm)
            print 'File sucessfully created!'
            

Ontem tinha 60 episódios de Inuyasha com legendas separadas do vídeo e não me apetecia converter à mão por isso fiz este pequeno script que junta o vídeo e as legendas num .mkv com o mesmo nome do episódio original. As legendas têm de estar com o mesmo nome do vídeo.

Além disso aprendi a executar programas externos com o Python. Espero que ajude alguém! :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Muito bom!

O path indica o caminho do ficheiro que queres abrir e o dir o caminho onde o ficheiro criado vai ser guardado não é?

Já agora, tens mesmo de utilizar as duas barras (\\) ?

Cumps,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Muito bom!

O path indica o caminho do ficheiro que queres abrir e o dir o caminho onde o ficheiro criado vai ser guardado não é?

Já agora, tens mesmo de utilizar as duas barras (\\) ?

Cumps,

pathsw é o caminho para o programa mkvmerge que vem no package MKVToolnix que pode ser obtido na página do container .mkv (Matroska) http://www.matroska.org/.

dir é o caminho para o directório com os ficheiros que queres converter.

Para correr o programa precisas do módulo Path: http://www.jorendorff.com/articles/python/path/, que consiste num pequeno wrapper para as funcionalidades do módulo os que já vem com o Python. Serve para tornar os comandos mais compreensíveis e fáceis de ler. :P

Se quiserem que explique algúma coisa ou que implemente alguma funcionalidade estou às ordens.

Podias por só uma \ mas para isso tinhas de fazer assim:

path = r'C:\etc...'

O r vem de raw string. No Python, em qualquer string que não seja raw, a \ é um caracter de escape. \t é tab, \n é nova linha... etc... \\ é uma \.

Se não perceberes diz que dou mais exemplos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora