刘曙尘

导航

linux下ffmpeg环境搭建

1.Linux下安装yasm
    官网下载:http://yasm.tortall.net/Download.html 
    tar -zvxf yasm-1.3.0.tar.gz
    cd yasm-1.3.0/  && ./configure && make && make install
2.Linux下安装ffmpeg
    官网下载:http://ffmpeg.org/download.html
    tar -zxvf ffmpeg-3.1.3.tar.gz
    cd ffmpeg-3.1.3/ && ./configure --enable-shared --prefix=/usr/local/ffmpeg && make && make install
    安装完后进入安装目录
    cd /usr/local/ffmpeg
    bin是ffmpeg主程序二进制目录 include是C/C++头文件目录 lib是编译好的库文件目录 share是文档目录
    检查版本 ./bin/ffmpeg -version
    报错:error while loading shared libraries: libavdevice.so.57: cannot open shared object file: No such file or directory
    原因:lib目录未加载到链接到系统库中
    系统ld目录列表在/etc/ld.so.conf中里面引用了/etc/ld.so.conf.d/下面所有的.conf文件
    创建一个文件并写入lib路径即可,执行命令: vim /etc/ld.so.conf.d/ffmpeg.conf
    然后添加一行内容: /usr/local/ffmpeg/lib  之后保存并退出,然后执行 ldconfig 使配置生效
3.ffmpeg相关的库主要是以下7个
    libavutil:用于多媒体编程,主要包含安全合适的字符串操作函数、数学运算函数、随机数字生产器、数据结构、多媒体处理的相关函数(如对像素和采样格式的计数)等,但它不是libavcodec和libavformat所需的库代码    libavcodec、libavformat:有些视频文件格式(如AVI)没有指出应该使用哪种编码(如h.264)来解析音频和视频数据,它们只是按视频格式封装音视频数据,所以经常碰到打开视频文件只能听到声音而没有画面,则用libavformat来解析视频文件并将编码流分离出来,libavcodec对流进行解码;
    libavdevice:为一些常见的多媒体输入或输出设备提供了抓取和渲染的通用架构,并且很多输入和输出设备,如Video4Linux2, VfW, DShow, and ALSA;
    libavfilter:提供了一个通用规定音视频过滤架构,包括一些过滤器、源、汇(什么是源、汇,我也没搞清楚,待研究)
    libswscale:执行高度优化的图像缩放、色彩、像素格式转换操作
    libswresample:执行高度优化的音频重采样、重换算、样本格式转换操作

 

posted on 2019-08-07 10:31  刘曙尘  阅读(818)  评论(0编辑  收藏  举报