mencoder генерирует пустой файл .avi - PullRequest
1 голос
/ 18 октября 2011

Я вызываю mencoder из скрипта Python для создания фильма из различных файлов .png:

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 дает мне 4 КБ out.avi, и это выводит:

    C:\Windows\system32\cmd.exe /c python make_video.py
    executing 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 Team
    success: format: 16  data: 0x0 - 0x0
    MF file format detected.
    [mf] search expr: frames/out_*.png
    [mf] number of files: 129 (516)
    VIDEO:  [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
    Opening video filter: [expand osd=1]
    Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
    ==========================================================================
    Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
    Selected video codec: [ffpng] vfm: ffmpeg (FFmpeg PNG)
    ==========================================================================

    Flushing video frames.
    Filters have not been configured! Empty file?
    Writing index...
    Writing header...
    ODML: Aspect information not (yet?) available or unspecified, not writing vprp header.

    Video stream:      nan kbit/s  (-2147483648 B/s)  size: 0 bytes  0.000 secs  0 frames

Пожалуйста, помогите.

1 Ответ

4 голосов
/ 24 января 2013

Полагаю, это старая ветка, но у меня возникла та же проблема, поэтому я поделился своим решением на случай, если кто-нибудь еще столкнется с этой же страницей.

В основном ошибка возникает при попытке запустить mencoder из-за пределов вашей папки с исходными файлами. чтобы заставить это работать, просто CD в папку с вашими исходными изображениями и выполните команду оттуда.

ИЛИ вы можете изменить свой скрипт на python и добавить строку, изменяющую текущий путь к пути исходного изображения непосредственно перед запуском mencoder. Что-то вроде: os.chdir (sourcefolder) # где sourcefolder - это местоположение ваших исходных изображений

Ура! * 1007 Кевин *

...