用来查看多媒体文件的信息
- ffprobe-all
包含ffprobe工具及FFmpeg组件
- ffserver
与流媒体服务相关,负责响应客户端的流媒体请求,把流媒体数据发送给客户端
- ffserver-all
包含ffserver工具及FFmpeg组件
- Utilities
libavutils提供的通用的features及工具
- Video scaling and pixel format converter
视频缩放和像素格式转换器
- Audio resampler
音频重新取样
- Encoders and decoders
编码和解码
- Bitstream filters
码流过滤器
- Muxers and demuxers
数据合成及数据分离
- Protocols
协议
- Input and output devices
输入和输出设备
- Filters
过滤器
- libavutil
包含了一些公共的工具函数
- libswscale
用于视频场景比例缩放、色彩映射转换、图像颜色控件或格式转换
- libswresample
原始音频格式转码
- libavcodec
用于各种类型声音/图像转码,该库是音视频编码核心库
- libavformat
用于各种音视频封装格式的生成和解析。
- libavdevice
硬件采集、加速、显示。
- libavfilter
音视频滤波器开发。
- libavresample
音视频封装编解码格式预设等。
- libpostproc
用于后期效果处理,如图像的去块效应
- Frequently Asked Questions
常见问题
- Support External Libraries,Formats,Codecs or Features
支持扩展库、格式、编解码或特性
- Platform Specific Information
平台具体信息
- Developer Documentation
开发者概述
- Git How-To
Git
- FFmpeg Automated Testing Enviroment
FFmpeg自动化测试环境。
2. 在Windows10、NDK r20下编译FFmpeg
================================================================================================
在Windows下编译FFmpeg需要准备工具 MSYS2
和 Yasm
MSYS2集成了 Pacman、MinGW-w64的Cygwin
升级版,下载地址在:MSYS2下载地址
Yasm是一个汇编器。在地址在:Yasm下载地址,下载对应的 .exe
文件,下载完后放入到 Windows\System32文件夹下就行了。
关于安装完MSYS2后,需要配置一些东西,重点去看这个blog:msys2在windows10下编译安装ffmpeg+x265
至于265的可以考虑先装。
在这个地方(使用WIN10编译)我踩坑无数,花了几天的休息时间终于编译出来了。
这里先列出我所有踩过的坑:
- 书上、网上的编译方法过于老旧
书上、网上所使用的的FFmpeg、ndk都是比较旧的,比如FFmpeg是3.xx,ndk是r12或者r10
而新版本的ndk是r20,ffmpeg是4.2
他们的区别是 旧版本使用gcc编译,新版本必须使用clang编译。
- 关于msys2
它是一个命令行工具,可以使用 ./
来执行文件,它的作用和linux的终端一样,功能非常强大
我们要用其来编译ffmpeg。
- 使用clang时,要去改configure文件,旧版本也要,但是新旧的改法已经完全不同了。
这里就不多探究为什么要怎么怎么改。具体的可以参考这篇文章(完全ok):编译 FFmpeg 之 clang
先说下目的:ffmpeg4之后使用clang编译器进行编译,但是它并没有专门为clang声明一套方案,这导致如果我们不在其配置文件下加入clang的一些声明,会导致后期我们编译ffmpeg不成功。
首先在ffmpeg的文件下找到configure,用文本打开。
找到 --cross-prefix=PREFIX use PREFIX for compilation tools [$cross_prefix]
在其下面加一行:
–corss-prefix-clang=PREFIX use PREFIX for compilation clang tools [$cross_prefix]
接着找到 CMDLINE_SET="..... corss_prefix
在其下面添加一行:
cross_prefix_clang
接着找到
set_default target_os
if test “$target_os” = android; then
cc_default=“clang”
fi
ar_default=“ c r o s s p r e f i x {cross_prefix} crossprefix{ar_default}”
cc_default=“ c r o s s p r e f i x {cross_prefix} crossprefix{cc_default}”
cxx_default=“ c r o s s p r e f i x {cross_prefix} crossprefix{cxx_default}”
nm_default=“ c r o s s p r e f i x {cross_prefix} crossprefix{nm_default}”
pkg_config_default=“ c r o s s p r e f i x {cross_prefix} crossprefix{pkg_config_default}”
替换成:
set_default target_os
if test “$target_os” = android; then
cc_default=“clang”
cxx_default=“clang++”
fi
ar_default=“ c r o s s p r e f i x {cross_prefix} crossprefix{ar_default}”
cc_default=“ c r o s s p r e f i x c l a n g {cross_prefix_clang} crossprefixclang{cc_default}”
cxx_default=“ c r o s s p r e f i x c l a n g {cross_prefix_clang} crossprefixclang{cxx_default}”
nm_default=“ c r o s s p r e f i x {cross_prefix} crossprefix{nm_default}”
pkg_config_default=“ c r o s s p r e f i x {cross_prefix} crossprefix{pkg_config_default}”
保存文件,使用msys2进入到ffmpeg根目录下执行 ./configure
来跑一边配置文件
在根目录下新建一个名为 temp
的文件夹作为 编译过程中的临时文件。
在ffmpeg根目录下编写一个脚本名为build_android.sh
,用来编译ffmpeg。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
最后
希望本文对你有所启发,有任何面试上的建议也欢迎留言分享给大家。
好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划,来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及职业规划。
好了~如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。
为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!希望读到这的您能点个小赞和关注下我,以后还会更新技术干货,谢谢您的支持!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
3XrH-1712740948509)]
好了~如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。
[外链图片转存中…(img-CWFXX2CB-1712740948510)]
为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!希望读到这的您能点个小赞和关注下我,以后还会更新技术干货,谢谢您的支持!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!