【发布时间】:2018-01-18 17:08:54
【问题描述】:
我已经编译了 ffmpeg 库,它在我的文件夹中成功创建了许多文件。
现在我需要在我的 Xcode 项目中实现相同的功能。添加到我的项目的最佳方式是什么。
我希望创建一个框架,但我需要添加哪些文件?
编译后我有很多 .c 文件和 .a 文件可用。
【问题讨论】:
-
嗨@saranjith!你能帮我解决一下stackoverflow.com/questions/57952043/… 吗?
我已经编译了 ffmpeg 库,它在我的文件夹中成功创建了许多文件。
现在我需要在我的 Xcode 项目中实现相同的功能。添加到我的项目的最佳方式是什么。
我希望创建一个框架,但我需要添加哪些文件?
编译后我有很多 .c 文件和 .a 文件可用。
【问题讨论】:
过去我已经成功使用this build script集成ffmpeg。
除非另有说明,否则以下图片说明适用于 Objective-C 和 Swift 项目。
附带说明,您应该确保 ffmpeg 是完成这项工作的正确工具。 AVFoundation 和 VideoToolBox 都是 Apple 提供的用于执行许多视频操作的非常强大的工具。
对于 2018 年末,从 kewlbear 存储库中获取文件夹,如下图所示,但是,还有一个额外的文件 build-ffmpeg-iOS-framework.sh。在终端中, cd 到该文件夹。使用当前版本,您必须运行 build-ffmpeg-iOS-framework.sh 而不是 build-ffmpeg.sh 才能遵循以下教程:
#import "libavcodec/avcodec.h"
#import "libavdevice/avdevice.h"
#import "libavfilter/avfilter.h"
#import "libavformat/avformat.h"
#import "libavutil/avutil.h"
#import "libswresample/swresample.h"
#import "libswscale/swscale.h"
Objective-C 简单示例:
#import "AppDelegate.h"
#import "libavformat/avformat.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
AVFormatContext *context = avformat_alloc_context();
return YES;
}
@end
在 Swift 中:
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let context = avformat_alloc_context()
return true
}
}
【讨论】: