FFmpeg笔记:00 - 简述
2019-01-20 本文已影响54人
sun__x
该系列的文章是对我在2018年学习 FFmpeg 的一些记录和总结,文章里面的示例代码主是使用 Swift 语言编写的,基于我对 FFmpeg C API 编写的一个封装库 - SwiftFFmpeg。
在正式开始之前,我们首先需要了解一下如何搭建我们要使用的开发环境:
第一步是安装 FFmpeg,最简单的方式是直接使用 brew 安装,如果你爱折腾的话可以下载源码进行编译,具体如何编译可以自行网上查找,这方面的资料有很多。
第二步是创建工程,目前仅支持使用 SPM,首先使用下面的命令创建一个 SPM 项目:
$ mkdir FFmpegExample
$ cd FFmpegExample
$ swift package init --type executable
创建成功后,打开 Package.swift,添加 SwiftFFmpeg 作为工程依赖:
// swift-tools-version:4.2
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "FFmpegExample",
dependencies: [
.package(url: "https://github.com/sunlubo/SwiftFFmpeg.git", .branch("master"))
],
targets: [
.target(
name: "FFmpegExample",
dependencies: ["SwiftFFmpeg"]
),
.testTarget(
name: "FFmpegExampleTests",
dependencies: ["FFmpegExample"]
),
]
)
现在你可以在你的工程里面使用 SwiftFFmpeg 了,打开 main.swift 文件添加以下代码:
import SwiftFFmpeg
for fmt in AVInputFormat.supportedFormats {
print(fmt.name)
}
执行 swift run
,程序运行成功后将打印出当前支持的所有输入格式:
Fetching https://github.com/sunlubo/SwiftFFmpeg.git
Completed resolution in 4.10s
Cloning https://github.com/sunlubo/SwiftFFmpeg.git
Resolving https://github.com/sunlubo/SwiftFFmpeg.git at master
Compile Swift Module 'SwiftFFmpeg' (31 sources)
Compile Swift Module 'FFmpegExample' (1 sources)
Linking ./.build/x86_64-apple-macosx10.10/debug/FFmpegExample
aa
aac
ac3
acm
act
adf
adp
ads
...
最后为了便于我们开发,我们需要生成 Xcode 工程,执行以下命令:
$ swift package generate-xcodeproj
至此我们已成功配置好开发环境,后续文章对应的示例都是在此基础上完成的。