2012-07-16 28 views
3

我用下面這個命令將文件使用沒有命令行的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。但是我不清楚。
誰能告訴我如何解決這個問題?我搜索了很多次,但沒有找到解決方案。

回答

0

假設你使用的是Linux操作系統...

你的問題的解決方案更多的是關於如何在C.所以執行過程中,不要與ffmpeg的做,但在linux下

與編程做

基本上你需要首先從你的C函數'fork'一個進程,然後用'avconv'交換(exec)分叉進程並將參數傳遞給這個進程。

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