Mac编译FFmpeg和ffplay

本文链接:https://www.jianshu.com/p/71f1c3a11df0

1 编译安装ffmpeg

下载源码

FFmpeg官网 https://www.ffmpeg.org/

安装库

brew install automake fdk-aac git lame libass libtool libvorbis libvpx \
opus sdl shtool texi2html theora wget x264 x265 xvid nasm

编译安装

cd ffmpeg-3.2.5
./configure
make -j4
make install

完成。

2 编译ffplay

允许编译ffplay

./configure --enable-ffplay

安装sdl2

brew install sdl2

./configure开始,重新编译。

据说要修改#define CONFIG_FFPLAY 0,改成1,但我没修改也可以编译成功,不知道有什么用。

播放

ffplay -max_delay 500000 rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov
ffplay播放公网rtsp流.png

3 专业名词

pkg-config 是一个在源代码编译时查询已安装的库的使用接口的计算机工具软件。

FreeType是一個用C語言實現的一個字体光栅化函式庫。它可以用來將字符柵格化並映射成位图以及提供其他字體相關業務的支持。

SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。

4 附:报错

make

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ffprobe_g] Error 1

解:安装库,make clean

brew安装库

luojinrong-MacBook-Pro:bin luojinrong$ brew install freetype
Warning: freetype 2.9 is already installed, it's just not linked
You can use `brew link freetype` to link this version.
luojinrong-MacBook-Pro:bin luojinrong$ brew link freetype
Linking /usr/local/Cellar/freetype/2.9... 
Error: Could not symlink lib/pkgconfig/freetype2.pc
/usr/local/lib/pkgconfig is not writable.

解:

brew doctor 检查错误,可以不执行这个命令
sudo chown -R $(whoami) /usr/local/lib/pkgconfig

参考: package - Brew error: Could not symlink, path is not writable - Stack Overflow
https://stackoverflow.com/questions/27784545/brew-error-could-not-symlink-path-is-not-writable

参考

CompilationGuide/macOS – FFmpeg
https://trac.ffmpeg.org/wiki/CompilationGuide/macOS

Mac上编译ffmpeg(包含ffplay) -
https://www.jianshu.com/p/122b24e888c8

编译FFmpeg,并导入xcode进行断点调试 -
https://www.jianshu.com/p/cac086219a58

SDL - 维基百科,自由的百科全书
https://zh.wikipedia.org/wiki/SDL

你可能感兴趣的:(Mac编译FFmpeg和ffplay)