ubuntu18.04手动编译安装ffmpeg(代码片段)

yhjoker yhjoker     2022-12-09     353

关键词:

   ffmpeg 是一个由提供对视频、音频和其他多媒体流文件进行处理功能的库和程序构成的自由软件项目,其常被用于适用于不同格式的音频和视频的录影、转换和流处理等场合。这里记录在 Ubuntu 18.04 平台下安装 ffmpeg 的过程。( 注:ffmpeg 目前已经可以通过 apt 直接进行安装,见最后 )

 

安装过程

  a.在 ffmpeg 官网上下载对应的安装压缩包,笔者使用的是 ffmpeg-4.1.tar.bz2 ,将其解压至用户主目录下。

    tar -xvjf ffmpeg-4.1.tar.bz2    -C ~    //将文件解压缩至用户主目录

  b.简单的安装过程在解压获得的 ffmpeg-4.1 目录中的 INSTALL.md 文件中有一定的描述,首先对编译安装环境进行配置。

    ./configure            //检测当前的编译安装环境

  此时可能会产生报错 "nasm/yasm not found or too old" ,这是由于 ffmpeg 中部分优化代码使用汇编编写,对应的编译过程需要使用汇编编译器,这里有两种选择,一种是在 ./configure 时使用 --disable-yasm 选项,最终获得是一个裁剪版本的 ffmpeg 工具集;另外一种是安装对应的汇编编译器,可使用下列命令进行安装。

    sudo apt install yasm        //安装 yasm 编译器

  安装完成后,需要重新执行上述 ./configure 操作,再进行下一步操作。

  c.正确的进行环境配置后,ffmpeg 会列出目前已经检测到的环境的情况,包括检测到的外部依赖库和将要生成的应用程序等,完整的应用程序套件包括 ffmpeg( 用于视频的转码 ),ffplay( 用于简单的视频播放和测试 )和 ffprobe( 用于查看文件格式 ),在配置的 programs 字段会有输出。此时可能会出现 ffmpeg 准备生成的应用程序中没有 ffplay 的情况,如下图所示。

  技术图片

  这时可以查看一下对应的 External libraries 字段,看其中是否存在 SDL。

  技术图片

  SDL是编译 ffplayer 所必须的外部库,而 Ubuntu 环境并不会对其默认安装,故而需要用户手动安装。这里注意,网上的一些大概五六年前的博客记录的是要安装 libsdl1.2-dev 的库,而实际上目前(2018) ffmpeg 已经支持 SDL2,用户可通过如下命令查看可以安装的 sdl 版本。

    apt-cache search libsdl | grep libsdl        //查看目前可安装的 sdl 库版本

  这里选择安装的是 libsdl2-dev,使用 apt-install 安装。

    sudo apt install libsdl2-dev        //安装所需的 sdl 库

  安装完成后,可以查看下 /usr/include 目录下是否含有对应的 SDL2 的库,确认安装过程成功,若上述目录不存在,在后续的编译过程可能会产生报错 "fatal error: SDL.h: No such file or directory" 。完成上述配置后,再进行 ./configure ,就可以在 External libraries 字段中发现对应的 sdl2 字段,对应的 Programs 字段下也会有 ffplay 了。

  d.通过 make 执行编译过程,编译完成后,在解压目录下就应该已经存在 ffmpeg 、ffplay 和 ffprobe 的可执行程序了。此时执行 sudo make install 命令完成安装过程。

    make              //编译产生对应的库文件和应用程序
    sudo make install      //安装上述编译结果,某些操作需要 root 权限,故而使用 sudo

    注意:上述安装过程仅编译了最基本的 ffmpeg 功能,并没有包括所有 ffmpeg 支持的编码格式等内容,用户在编译时需要根据自己的需要对编译时的参数进行调整。

 

可能问题

  (1)手动编译获得的 ffmpeg 在使用时可能出现以下错误

  Unrecognized option ‘crf‘.
  Error splitting the argument list: Option not found

  以及

  Unrecognized option ‘preset‘.
  Error splitting the argument list: Option not found

  这常见于在使用 ffmpeg 时使用到了 libx264,但在实际的编译过程中并有指定编译 libx264 参数,默认不会编译这一部分组件,从而产生报错。解决方案可以是直接通过命令行安装最新版本的 ffmpeg 或者通过指定对应参数的方式重新编译 ffmpeg.重新编译的参数具体可以参考 Compile FFmpeg for Ubuntu, Debian, or Mint

  若想要使用 apt 安装 ffmpeg ,可以进入 ffmpeg 源码目录,通过 make uninstall 卸载之前安装的手动编译版本的 ffmpeg.之后通过 apt 命令安装 ffmpeg。  

    sudo apt install ffmpeg    //通过 apt 安装 ffmpeg

  参考:ffmpeg: Unrecognized option ‘crf‘. Error splitting the argument list: Option not found

  

  (2)在通过 apt 安装 ffmpeg 后,在使用时可能会出现报错。这是由于手动编译安装的 ffmpeg 安装在 /usr/local/bin/ 目录下,而通过 apt 安装的 ffmpeg 位于 /usr/bin 目录下。在卸载手动安装的 ffmpeg 后上述应用程序信息并没有直接更新,故而产生了以下报错。

  bash: /usr/local/bin/ffmpeg: No such file or directory

  解决方式:对于终端或图像界面,均可通过重新启动的方式刷新上述可能的更新信息,从而可以正常使用。在命令行环境下,也可以直接通过命令 hash -r 刷新信息。

  参考:why ffmpeg command producing error in Ubuntu terminal?

ffmpeg基础linux环境下ffmpeg的配置(ubuntu18.04)(代码片段)

...程,有需要的可以直接去官网查看:CompilationGuide/Ubuntu–FFmpegsudoapt-getupdatesudoapt-get-yinstallautoconfautomakebuild-essential\\libass-devlibfreetype6-devlibsdl2-devlibtheora-dev\\libtoollibva-devlibvdpau-devlibvorbis-devlibxcb1-dev\\libxcb-shm0-devlibxcb-xfixes0-devp... 查看详情

ubuntu18.04手动安装make3.82+gcc8.3.0+cmake3.20.5(代码片段)

最近在打一个比赛,要求满足以下运行环境:操作系统:Linuxversion4.19.91-23.al7.x86_64编译器:gcc-8.3.0(clang的编译结果可能与gcc稍有不同)cmake:3.20.52make:GNUMake3.82记录一下我的配置过程,帮助大家少走坑!... 查看详情

ubuntu安装ffmpeg

...f0c;还要安装一堆额外的东西。但看官网,已经提供了Ubuntu的FFmpeg包,可以直接使用apt进行安装。安装过程:1、更新apt:sudoaptupdate2、安装FFmpeg:sudoaptinstallffmpeg提示需要其他依赖,按照提示进行操作即可&#x... 查看详情

ubuntu安装ffmpeg

...f0c;还要安装一堆额外的东西。但看官网,已经提供了Ubuntu的FFmpeg包,可以直接使用apt进行安装。安装过程:1、更新apt:sudoaptupdate2、安装FFmpeg:sudoaptinstallffmpeg提示需要其他依赖,按照提示进行操作即可&#x... 查看详情

ubuntu18.04编译使用caffecpu使用工具示例训练示例(代码片段)

测试使用dockerubuntu18.04docker使用参考远程工具为MobaXterm_20.0汉化版本,工具链接ubuntu18.04镜像获取基本软件安装基本设置QT安装推荐远程链接软件1.安装caffecpu1.1安装依赖apt-getinstalllibprotobuf-devlibleveldb-devlibsnappy-devlibopencv-devlibhdf5... 查看详情

ubuntu18.04编译使用caffecpu使用工具示例训练示例(代码片段)

测试使用dockerubuntu18.04docker使用参考远程工具为MobaXterm_20.0汉化版本,工具链接ubuntu18.04镜像获取基本软件安装基本设置QT安装推荐远程链接软件1.安装caffecpu1.1安装依赖apt-getinstalllibprotobuf-devlibleveldb-devlibsnappy-devlibopencv-devlibhdf5... 查看详情

ns2基于ubuntu18.04(代码片段)

...、编写terminal环境下的变量参数步骤四、运行样例Ref环境Ubuntu18.04(VMware)安装流程步骤一、安装gcc编译器sudoapt-getinstallg++-4.8(注安装最新版g++会出现一些代码错误。Bing到参考[1],使用4.8版本不会有任何报错)步骤二、解压并编译文... 查看详情

ubuntu18.04编译安装指定版本bison(gnu词法分析器)(代码片段)

一、问题描述Ubuntu18.04,腾讯源,无法直接使用apt-get安装bison。换源到官方源:Ubuntu恢复官方默认源。安装m4:sudoapt-getinstallm4安装bison:sudoapt-getinstallbison检查版本:bison-v出错,GLIBC_2.32未找到&#x 查看详情

ubuntu18.04安装opencv和opencv_contrib(代码片段)

Ubuntu18.04安装opencv和opencv_contrib目录Ubuntu18.04安装opencv和opencv_contrib1.版本2.源码编译和安装opencv和opencv_contrib(1)下载opencv和opencv_contrib源码(2) 安装OpenCV相关依赖库(3)源码编译3.一些异常处理1.undefinedreferenceto`TIFFReadD 查看详情

ubuntu18.04安装opencv(代码片段)

Ubuntu18.04安装OpenCV这里选择OpenCV3.4.3,其他版本类似文章目录Ubuntu18.04安装OpenCV1.下载OpenCV2.安装cmake及OpenCV依赖包3.解压下载的.zip文件4.编译OpenCV5.安装OpenCV6.设置opencv静态库加载路径1.下载OpenCV点此下载OpenCV,选择Sourcesÿ... 查看详情

ubuntu18.04安装opencv(代码片段)

Ubuntu18.04安装OpenCV这里选择OpenCV3.4.3,其他版本类似文章目录Ubuntu18.04安装OpenCV1.下载OpenCV2.安装cmake及OpenCV依赖包3.解压下载的.zip文件4.编译OpenCV5.安装OpenCV6.设置opencv静态库加载路径1.下载OpenCV点此下载OpenCV,选择Sourcesÿ... 查看详情

[ubuntu]ubuntu18.04上源码编译protobuf

安装依赖sudoaptupdatesudoaptinstalllibprotobuf-devprotobuf-compilercmakegit -y下载源码:wgethttps://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protobuf-all-3.19.4.tar.gz tar-zxvfproto 查看详情

ubuntu18.04编译zlmediakit支持webrtc

...s​​和​​ZlmediaKit​​项目是评价比较高的,今天主要在Ubuntu18.04上编译ZlmediaKit,并支持webrtc协议.准备源码准备下载zlmediakit源码及其依赖组件源码.gitclone--depth1https://github.com/ZLMediaKit/ZLMediaKit.git#下载依赖组件源码gitsubmoduleupdate--in... 查看详情

ubuntu18.04下openfoam2.3.1安装及配置

参考技术AOpenFOAM2.3.1是Ubuntu14.04下发布的,尝试N次在18.04下安装失败后,求助Bruno大神,随后Bruno在OpenFOAMwiki上放出了howtoinstallOpenFOAMinUbuntu18.04,完美安装。Sourceguide的编译出现问题,OpenFOAM2.3.1版本的SourceGuide在Ubuntu环境下用Doxygen... 查看详情

ubuntu18.04编译使用caffecpu使用工具示例训练示例(代码片段)

测试使用dockerubuntu18.04docker使用参考远程工具为MobaXterm_20.0汉化版本,工具链接ubuntu18.04镜像获取基本软件安装基本设置QT安装推荐远程链接软件1.安装caffecpu1.1安装依赖apt-getinstalllibprotobuf-devlibleveldb-devlibsnappy-devlibopencv-devlibhdf5... 查看详情

升级安装 Android-Studio Ubuntu 18.04 的 CMake 版本

】升级安装Android-StudioUbuntu18.04的CMake版本【英文标题】:UpgradeCMakeversioninstalledwithAndroid-StudioUbuntu18.04【发布时间】:2018-12-3011:58:59【问题描述】:我最近在Ubuntu18.04上安装了AndroidStudio,为Android做一些原生C++开发。在编译需要cmake... 查看详情

ubuntu18.04安装教程

ubuntu18.04安装教程如下:1、首先选择“English”按回车键。2、选择“InstallUbuntu”,如图,再按回车键。3、选择“done”,继续按回车键。4、选择“useanentiredisk”,继续按回车键。5、选择“continue”,按回车键继续安装。6、创建... 查看详情

ubuntu18.04下安装多版本pcl库(为成功编译loam_livox)(代码片段)

1.下载对应版本的包https://github.com/PointCloudLibrary/pcl/releases2.本电脑原pcl库为1.11,安装路径为/usr/local/include/pcl-1.11,其cmake相关文件地址为/usr/local/share/pcl-1.11现在安装pcl1.8.1,在/user/local下新建文件夹pc 查看详情