使用没有命令行的libav?

时间:2012-07-16 08:24:48

标签: ffmpeg command libav

我使用下面的命令转换文件

./avconv -i inputFile -vcodec libx264 -trellis 2 -crf 23 -tune psnr -vf crop='trunc(iw/2)*2:trunc(ih/2)*2' -y outputFile

但是,我不想使用这个命令,我想做一个像

这样的函数

convert(char *inputFile, char *outputFile). (The option of my function like option in command line)

然后我将从我的主要功能中调用它 例如

int main(){ 
    convert(in01, out01); 
    convert(in02, out02); 
    convert(in03, out03); 
    return 0; 
} 

我也读过this post。但我不清楚。
谁能告诉我如何解决这个问题?我已经google了很多次但没有找到解决方案。

1 个答案:

答案 0 :(得分:0)

假设您使用的是Linux操作系统......

您的问题的解决方案更多是关于如何在C中执行流程。所以,不是与ffmpeg有关,而是与Linux C中的编程有关。

基本上你需要首先从你的C函数'fork'一个进程,然后用'avconv'交换(exec)分叉进程并将参数传递给这个进程。

http://www.yolinux.com/TUTORIALS/ForkExecProcesses.html