我是靠谱客的博主 畅快裙子,最近开发中收集的这篇文章主要介绍[编译]FFmpeg及其交叉编译(理论),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

以下给出个人在学习FFmpeg的完整过程,仅供参考。

引言

因为在项目预研阶段,每个人的环境有所不一样,所以在编译过程中十分注意:配置环境、依赖库、外接开源库。其实这些都是为了统一项目环境而已。避免开发阶段发现,咦你原来缺来一个库,然而之前找了两天的bug。
但跟以往自己随意编译一个开源库不一样,进一步掌握了关于环境、编译的一些知识。
过程如下:主要是按照FFmpeg-wiki上的编译部分指导操作
FFmpeg-wiki—— Generic compilation guide  一般话的编译指导,可使用于所有开源库编译
该文章非常实用:
  1. 为什么编译源码?
  2. 一般化的编译过程?三部曲
  3. 安装路径:
  4. 环境变量:env命令查看环境变量

本机编译

FFmpeg-wiki—— FFmpeg Compilation Guides 特指FFmpeg的编译方法
下面是个人配置FFmpeg的configure命令:

PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --pkg-config-flags="--static" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame  --enable-libopus --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libx265 --enable-nonfree

将configure --help打印出来,方便查找配置选项

项目中配置,转到 [配置]FFmpeg配置
不得不说的是:上面使用了hash命令, 链接

需要按照教程来创建目录(家目录下创建),安装完成后发现没有出现ffplay,原来是没有按照SDL,解析 链接
虽然FFmpeg官网并没有给出相应的配置方法,但结合上述思路:路径+运行文件
下面是个人配置SDL的configure命令:

PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
PATH="$HOME/bin:$PATH" make
make install
make distclean
由于FFmpeg更新较快,上述的安装方法对应的更新方法是:正确删除后,从新编译一次即可。

编译后,需要设置对应的环境变量,在此根据本机设置修改为:
/etc/profile添加二进制路径
export PATH="/home/h265/bin:$PATH"
/etc/manpath.config添加man文件路径
MANPATH_MAP /home/h265/bin /home/h265/ffmpeg_build/share/man

交叉编译

本节,讲述如何在ARM平台上编译运行FFmpeg,使得MPP系统与FFmpeg同时运行
hi3516a之ffmpeg x264交叉编译
链接 链接  链接 链接
链接(安卓平台,它比较清晰)

最后

以上就是畅快裙子为你收集整理的[编译]FFmpeg及其交叉编译(理论)的全部内容,希望文章能够帮你解决[编译]FFmpeg及其交叉编译(理论)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部