【发布时间】:2013-02-03 23:29:13
【问题描述】:
我是C的新手。我是PHP背景的,但是碰巧我用PHP编写的代码需要转换为C。最初是Java,但现在要求是C .
在学习了一些教程后,我掌握了 C 的基础知识并编写了以下代码以在 c 程序中运行 ffmpeg.exe
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *app = "D:\\ffmpeg\\bin\\ffmpeg.exe -i";
char *input = " D:\\video.mpg";
char *output = " D:\\frames\\image%d.jpg";
char *param = " -r 10";
char str[300];
snprintf(str, sizeof str, "%s%s%s%s", app, input, param, output);
// str contains "D:\ffmpeg\bin\ffmpeg.exe -i D:\video.mpg -r 10 D:\frames"\image%d.jpg
system(str); // <-- working fine, frames are being extracted
/*
do something here to store each extracted frame in an array
so that the array contains image1.jpg, image2.jpg, image3.jpg...and so on
*/
getch();
return 0;
}
在编译和运行程序时,我按预期在输出文件夹中获取帧。问题是我想在提取每个帧名称时将其存储在数组中。到目前为止,我还没有遇到类似的问题,所以我决定为它创建一个新线程。我希望这是可能的,并且希望能朝着正确的方向轻推。
【问题讨论】:
-
命令 D:\ffmpeg\bin\ffmpeg.exe -i D:\video.mpg -r 10 D:\frames"\image%d.jpg 是否在标准输出上输出文件名? ??
-
我不知道
stdout....它的用途或如何使用它 -
在屏幕/终端上,可能您希望将所有文件名创建为 D:\frames\image%d.jpg 在一个数组中????
-
程序一运行,就会打开一个dos窗口,ffmpeg开始运行......似乎每秒都会显示很多信息......但我不认为文件名正在dos窗口中打印出来
-
是的,文件名或整个路径进入一个数组
标签: c arrays image-processing ffmpeg