1

さまざまな .png ファイルからムービーを生成するために、python スクリプトから mencoder を呼び出しています。

import sys, os
command =   ''.join([
            'mplayer\mencoder.exe ',
            'mf://frames/out_*.png ',
            '-mf type=png:w=800:h=600:fps=10 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o out.avi '
            ])
print "executing", command
os.system(command)

mencoder は 4KB の out.avi と次の出力を提供します。

    C:\Windows\system32\cmd.exe /c python make_video.py
    mplayer\mencoder.exe 実行 mf://frames/out_*.png -mf type=png:w=800:h=600:fps=10 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o out.avi
    MEncoder Sherpya-SVN-r34118-4.2.5 (C) 2000-2011 MPlayer チーム
    成功: フォーマット: 16 データ: 0x0 - 0x0
    MF ファイル形式が検出されました。
    [mf] 検索式: frames/out_*.png
    [mf] ファイル数: 129 (516)
    ビデオ: [MPNG] 800x600 24bpp 10.000 fps 0.0 kbps ( 0.0 kbyte/s)
    [V] filefmt:16 fourcc:0x474E504D size:800x600 fps:10.000 ftime:=0.1000
    ビデオ フィルタを開く: [expand osd=1]
    拡張: -1 x -1, -1 ; -1、OSD: 1、アスペクト: 0.000000、ラウンド: 1
    ================================================== ========================
    ビデオ デコーダを開く: [ffmpeg] FFmpeg の libavcodec コーデック ファミリ
    選択したビデオ コーデック: [ffpng] vfm: ffmpeg (FFmpeg PNG)
    ================================================== ========================

    ビデオ フレームのフラッシュ。
    フィルタが設定されていません! 空のファイルですか?
    索引を書き込んでいます...
    ヘッダーを書き込んでいます...
    ODML: アスペクト情報が (まだ?) 利用できないか未指定で、vprp ヘッダーを書き込んでいません。

    ビデオ ストリーム: nan kbit/s (-2147483648 B/s) サイズ: 0 バイト 0.000 秒 0 フレーム

助けてください。

4

1 に答える 1

4

これは古いスレッドだと思いますが、同じ問題を抱えていたので、他の誰かがこの同じページに遭遇した場合に備えて、解決策を共有すると思いました.

基本的に、ソース フォルダーの場所以外から mencoder を実行しようとすると、エラーが発生します。これを機能させるには、ソース イメージを含むフォルダーに CD を移動し、そこからコマンドを実行します。

または、python スクリプトを変更して、現在のパスをソース イメージ パスに変更する行を追加して、mencoder を実行する直前に実行することもできます。次のようなもの: os.chdir(sourcefolder) # ここで、sourcefolder はソース イメージの場所です

乾杯!-ケビン

于 2013-01-24T01:41:41.397 に答える