Jump to content

Conversor de .OGM+.SSA para .MKV


Recommended Posts

Posted
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! 😛

<3 life

Posted

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,

Posted

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. 😛

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.

<3 life

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.