在visual studio c++中调用ffmpeg.exe

calling ffmpeg.exe in visual studio c++

本文关键字:调用 ffmpeg exe c++ visual studio      更新时间:2023-10-16

我只是一个c++新手。我试图在Visual Studio 2012中的c++项目中使用FFmpeg,通过调用其中的FFmpeg .exe文件。

这是我到目前为止所尝试的:

//FFMPEG CALLING
char ffmpeg2[BUFSIZ];
strcpy(ffmpeg2,"..binffmpeg.exe");
strcat(ffmpeg2,"-f s16le -ar 8K -ac -ss");
strcat(ffmpeg2,buffers);    //string hh:mm:ss
strcat(ffmpeg2,"-t");
strcat (ffmpeg2,buffer);    //string hh:mm:ss
strcat(ffmpeg2,"-i ..\rec.pcm ..DesktopnewFolderfilename");
if(system(ffmpeg2) !=0) 
{
    ft =fopen("ffmpeg_err.txt","a");
    fprintf( ft,"my command failed...n" );
    fclose(ft);
}
else
{system(ffmpeg2);}

继续在文本文件中生成my命令失败。你们有什么建议吗?

您没有在调用strcat之前或之后添加任何空格所以您的最终命令将类似于
..binffmpeg.exe-f s16le -ar 8K -ac -ss<buffers>-i ..\rec.pcm ..DesktopnewFolderfilename在ffmpeg.exe之后、-ss之后、-t之前和-i之前添加一个空格最后的命令将变成..binffmpeg.exe-f s16le -ar 8K -ac -ss <buffers> -i ..\rec.pcm ..DesktopnewFolderfilename

这应该能解决你的问题