我尝试使用ffmpeg lib从我的代码中打开文件。并且avformat_open_input始终收到错误“没有这样的文件或目录”。我尝试了不同的文件和目录,但结果是一样的。
我在Win7上使用VS 2010并从http://ffmpeg.zeranoe.com/builds/
编译了lib和dll我的一些代码。
int decode_sound(const char * infile, const char * outfile)
{
AVFormatContext *pFormatCtx = 0;
if((err = avformat_open_input(&pFormatCtx, infile, NULL, 0)) != 0)
return 1;
}
int _tmain(int argc, _TCHAR* argv[])
{
avcodec_register_all();
cout << decode_sound("D:\\DELTA.MPG", "D:\\wav.wav") << endl;
char errbuf[128];
const char *errbuf_ptr = errbuf;
if (av_strerror(err, errbuf, sizeof(errbuf)) < 0)
strerror_s(errbuf, AVUNERROR(err));
cout << err << endl << errbuf_ptr << endl;
system("pause");
return 0;
}
答案 0 :(得分:0)
我意识到这是一个古老的问题,但是这个
int _tmain(int argc, _TCHAR* argv[])
是你的问题。 Windows传入一个宽字符串,你将它转换为char字符串,因此ffmpeg只能看到它的第一个字节。将其更改为
int main(int argc, char* argv[])
将修复它