ドコモ携帯で撮ったムービー(mpeg)をOgg形式に変換するPythonスクリプト

Linuxで OggConvert というGUIのコンバータが使用できるのですが、 コマンドラインから変換できないものかと思いちょこっと調べてみました。

OggConvertはPython(Gladeを使用したスクリプト)で作成されているため、 モジュールインポートすればコマンドラインから使用できます。

以下は変換スクリプト。かなりやっつけ。

import sys
import time
sys.path.append("/usr/share/oggconvert/")
from OggConvert import ocv_transcoder

infile = "file:///tmp/test.3GP"
outfile = "file:///tmp/output.ogv"
format = "THEORA"   # or "SCHRO"
videoquality = 10
audioquality = 10
tc = ocv_transcoder.Transcoder(infile, outfile, format, videoquality,
                               audioquality, "OGG")
tc.pause()
if not tc.sync():
    print "setting invalid"
    sys.exit()
while True:
    duration = tc.get_duration()
    position = tc.get_position()
    tc.play()
    if duration < position:
        break
    print position, "/", duration
    time.sleep(1)
$ file /tmp/test.3GP
/tmp/tesp.3GP: ISO Media, MPEG v4 system, 3GPP Mobile
$ python 3gp2ogv.py
$ file /tmp/output.ogv
/tmp/output.ogv: Ogg data, Theora video

こんなの作らなくても既にコマンドラインツールが存在してそうだけど。。