niuxinghua / StudyFFmpeg

FFmpeg step by step tutorial for iOS developer. (适合iOS开发者的零基础FFMpeg学习教程)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

我对 FFmpeg 充满了兴趣,因此会抽时间出来找些相关资料自己学习下,最终的目标是凭借一己之力封装出一个 跨平台播放器

Foreword

该工程是笔者 2017 年创建的,当时的打算是前几个 demo 使用 2.x 版本的 FFmepg,然后替换成 3.x 版本以此来熟悉 FFmpeg 的 API 。

但是 3 年过去了,我的目标还没实现😅😅😅说来惭愧,毕竟现在是 2020 年了,研究 2.x 版本没有实际意义了,所以 demo 将改为 3.x -> 4.x 版本。

2020 年工程将不再使用 xcconfig 配置 FFmpeg 路径,我将 FFmpeg 相关的库都做成了 pod 库,直接使用 CocoaPod 来集成,这样做更加方便也更加现代化,减少在工程配置方面浪费不必要的时间。

制作好的 FFmpeg Pod 库放在这里 MRFFToolChainPod ,简单的说就是为编译好的静态库编写了配套的 podspec 文件,感兴趣的话可以看下。

如果您对如何编译 FFmpeg 工具库感兴趣,可移步这里 MRFFToolChainBuildShell 查看具体的编译脚本。

Matt Reach's Awesome FFmpeg Study Demo

后面没打勾是指对应的博客文档还没写好,demo是OK的。

Learning plan

Cross-platform

Fun learning

Usage

克隆该仓库之后,项目并不能运行起来,因为项目依赖的 FFmpeg 库还没有下载下来,需要执行

pod install

----------------------------------------
Target:FFmpeg001 will use FFmpeg:3.4.7
----------------
Target:FFmpeg002 will use FFmpeg:3.4.7
----------------
Target:FFmpeg003 will use FFmpeg:3.4.7
----------------
Target:FFmpeg004 will use FFmpeg:3.4.7
----------------
Target:FFmpeg005 will use FFmpeg:3.4.7
----------------
Target:FFmpeg006 will use FFmpeg:3.4.7
----------------
Target:FFmpeg006-1 will use FFmpeg:3.4.7
----------------
Target:FFmpeg007 will use FFmpeg:3.4.7
----------------
Target:FFmpeg008 will use FFmpeg:3.4.7
----------------
Target:FFmpeg009 will use FFmpeg:3.4.7
----------------------------------------
Analyzing dependencies
Downloading dependencies
Generating Pods project
Integrating client projects
Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.

成功安装后就可以打开 StudyFFmpeg.xcworkspace 运行了,支持模拟器和真机!

由于 Github 在国内不稳定,pod install 的过程需要将 FFmpeg 几十兆的库下载下来,安装过程中如有失败属于正常现象,请多次几次,或者通过配置 HOST,翻墙等办法解决。

Ends

Good Luck!Welcome give me an issue or a star or pull request!

Thank you!

About

FFmpeg step by step tutorial for iOS developer. (适合iOS开发者的零基础FFMpeg学习教程)


Languages

Language:Objective-C 97.3%Language:C 1.3%Language:C++ 0.9%Language:Objective-C++ 0.3%Language:Ruby 0.2%