我只是在 iOS 5 上玩 ffmpeg。我从一些简单的东西开始,比如打开 .mov 文件。
代码片段:
AVFormatContext *pFormatCtx = NULL;
av_register_all();
NSString* fileName = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mov"];
NSLog(@"File exists? %i", [[NSFileManager defaultManager] fileExistsAtPath:fileName]);
NSLog(@"FIle name: %@", fileName);
char errbuf[256];
int ret = avformat_open_input(&pFormatCtx, [fileName UTF8String], NULL, NULL);
if(ret != 0) {
av_strerror(ret,errbuf,sizeof(errbuf));
NSLog(@"Cannot open! %s", errbuf);
} else {
NSLog(@"Opened!");
}
test.mov 存在于我的包中,并且 avformat_open_input 正在尝试打开它 - 但 avformat_open_input 总是返回(当将错误代码解码为字符串时):
Invalid data found when processing input.
(文件丢失时的错误码是另一个文本,我试过了)。
我想也许 ffmpg 没有使用 .mov 支持编译,但我无法打开任何电影文件。我试图查看 ./configure 选项,但没有找到任何提示。