【发布时间】:2015-02-18 09:55:13
【问题描述】:
我正在尝试从 bmp 图像列表制作视频,当我从命令行ffmpeg -i img%5d.bmp -r 20 -c:v libx264 -preset slow -crf 22 output.mkv 执行时一切正常,但是当我尝试从 delphi 项目执行时,它不起作用。我试过了:
parameters := '-i img%5d.bmp -r 20 -c:v libx264 -preset slow -crf 22 output.mkv';
ShellExecute(0, nil, PChar('c:\videos\ffmpeg.exe'), PChar(parameters), nil, SW_NORMAL);
我不能使用TProcess,必须使用ShellExecute
请帮我解决这个问题,提前 tnx :)
【问题讨论】:
-
当您致电
ShellExecute时,您将收获您所播种的东西。它不支持理智的错误处理。使用ShellExecuteEx并获得正确的错误代码。然后从那里拿走。但是,ShellExecuteEx仍然是错误的函数。您需要致电CreateProcess执行此操作正确。 -
我是新手,不知道怎么处理参数和特殊字符:(
-
我坚持我在评论中所说的话。
-
当我使用 ShellExecuteEx 时,我得到了太多的实际参数,并且 CreateProcess 中有一些我不理解的参数
-
@hudyboy 只有一种方法可以解释“太多实际参数”。你不理解这些的原因是你像一只无头鸡一样到处乱跑。调用函数并传递太多参数的唯一方法是不阅读文档。如果你不阅读文档,除了失败,你还能指望什么?
标签: delphi ffmpeg shellexecute