私はC
バックグラウンドからではないということから始めましょう。私はPHP開発者です。したがって、これまでにコーディングしたことはすべて、他の例から少しずつ取り出して、要件を満たすように微調整することです。ですから、私があまりにも基本的または明白な質問をする場合は、私に耐えてください。
FFmpeg
使い始めCreateProcess()
ました
int startFFmpeg()
{
snprintf(cmd, sizeof(cmd), "D:\\ffpmeg\bin\ffmpeg.exe -i D:\\video.mpg -r 10 D:\\frames");
PROCESS_INFORMATION pi;
STARTUPINFO si={sizeof(si)};
si.cb = sizeof(STARTUPINFO);
int ff = CreateProcess(NULL, cmd, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi);
return ff;
}
私がする必要があるのはPID
、そのプロセスを取得し、しばらくしてからまだ実行されているかどうかを後で確認することです。これは基本的に私が探しているものです:
int main()
{
int ff = startFFmpeg();
if(ff)
{
// great! FFmpeg is generating frames
// then some time later
if(<check if ffmpeg is still running, probably by checking the PID in task manager>) // <-- Need this condition
{
// if running, continue
}
else
{
startFFmpeg();
}
}
return 0;
}
調べてみたところ、PID
が返されることがわかりましたPROCESS_INFORMATION
が、取得方法の例が見つかりませんでした。
一部のメタデータ
OS:Windows 7
言語:C
IDE:Dev C ++