我使用下面的命令来转换文件
./avconv -i inputFile -vcodec libx264 -trellis 2 -crf 23 -tune psnr -vf Crop='trunc(iw/2)*2:trunc(ih/2)*2' -y 输出文件
但是,我不想使用这个命令,我想创建一个像
这样的函数convert(char *inputFile, char *outputFile)。 (我的函数的选项就像命令行中的选项)
然后我将从我的主函数中调用它 例如
int main(){
convert(in01, out01);
convert(in02, out02);
convert(in03, out03);
return 0;
}
我还读过this post 。但我不清楚。
谁能告诉我如何解决这个问题?我用谷歌搜索了很多次但没有找到解决方案。
最佳答案
假设您使用的是 Linux 操作系统...
您的问题的解决方案更多的是关于如何在 C 中执行进程。因此,与 ffmpeg 无关,而是与 Linux C 中的编程有关。
基本上,您需要首先从 C 函数“ fork ”一个进程,然后用“avconv”交换(执行) fork 进程,并将参数传递到该进程中。
关于ffmpeg - 无需命令行即可使用 libav?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11500544/