目录
前言
因为项目有需求,需要用到ffmepg。所以就只能硬着头皮开始新的学习之路,搭建好环境是最基本的了!
学习!分享!感谢!
x264和x265库
H.264是ITU(International Telecommunication Union,国际通信联盟)和MPEG(Motion Picture Experts Group,运动图像专家组)联合制定的视频编码标准。而x264是一个开源的H.264/MPEG-4 AVC**视频编码函数库,是最好的有损视频编码器。**——百度百科
同样的片源、码率1、编码器默认设置下,用x264编码的视频(一般是mkv或mp4格式)一定会比rmvb画质更好。x264是一种编码方式。
x265是一个用于编码,符合高效率视频编码(HEVC/H.265)标准的视频开源自由软件及函数库。
由上可知,x264和x265库主要是用来给视频编码的,而博主暂时的工作只是接收网络流,然后解码处理,所以就不添加x264和x265库的需要了!
SDL
SDL(Simple DirectMdeia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输入输出的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台的应用软件。
FFmpeg的编译选项
感觉基本像这种跨平台的项目,都会提供./configure --help
来查看编译选项。然后在网上搜索,会发现很多博主都讲解的这一部分。ffmpeg编译选项汇总。本人使用的是ffmpeg-3.4.1.tar.xz
这里我记录一下我编译时用到的编译选项:
--prefix=PREFIX // 安装程序到指定目录
--enable-shared // 构建共享库(默认关闭)
--enable-gpl // 允许使用GPL代码 由此产生的库文件和二进制文件将在GPL下
--cross-prefix=PREFIX // 为编译工具指定路径
--enable-cross-compile // 使能交叉编译
--extra-cflags=ECFLAGS // 指定额外的cflags
e.g:-I/xxx/xxx/include