1

我从 python 脚本调用 mencoder 以从各种 .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 给了我一个 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 Team
    成功:格式: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:16fourcc:0x474E504D 尺寸: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 放入包含源图像的文件夹并从那里运行命令。

或者,您可以在运行 mencoder 之前修改您的 python 脚本并添加一行将当前路径更改为源图像路径。类似于: os.chdir(sourcefolder) # 其中 sourcefolder 是源图像的位置

干杯! -凯文

于 2013-01-24T01:41:41.397 回答