FFmpeg 初始化

来源:互联网 发布:淘宝贷款额度突然没了 编辑:程序博客网 时间:2024/05/20 01:34

简介

在 iOS 使用学习 FFmpeg 相关的笔记

初始化

配置 Xcode环境

以下内容借鉴了雷晓华博客,但是有些不适用的内容做了修改。

下面以Xcode的IOS中的Single View Application为例,记录一下配置步骤:
(a) 拷贝文件 FFmpegPackage,包含 include 和和fat版本的FFmpeg类库(包括libavformat.a, libavcodec.a, libavutil.a, libavdevice.a, libavfilter.a, libpostproc.a, libswresample.a, libswscale.a;以及第三方fat版本类库libx264.a, libfaac.a)至项目根目录文件夹中。并将它们添加至项目根目录中。

(b) 项目属性->Build Settings中配置以下4个选项。
Linking->Other Linker Flags中添加下面内容:

-lavformat-lavcodec-lavutil-lavdevice-lavfilter-lpostproc-lswresample-lswscale-lx264-lfaac

Search Paths->Header Search Paths添加下面内容

$(PROJECT_DIR)/FFmpegPackage/include

Search Paths->Library Search Paths添加下面内容

$(PROJECT_DIR)/FFmpegPackage

Bitcode 中改为 NO

(c) 其它的一些配置。这些配置随着FFmpeg版本的不同而有略微的不同(在某些情况下也可能不需要配置)。我目前使用的2.7.1版本的FFmpeg需要配置下面的选项。
项目属性->General->Linked Frameworks and Libraries中添加两个类库:AVFoundation.framework和libz.dylib。
然后 Add Other,将上面的10个.a 库导入进来。

编写 C 语言代码

如果类库编译无误,启动IOS程序的时候会在控制台打印版本信息。

#import "ViewController.h"#include <libavcodec/avcodec.h>@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];    printf("%s",avcodec_configuration());}- (void)didReceiveMemoryWarning {    [super didReceiveMemoryWarning];}@end
0 0
原创粉丝点击