一、ffmpeg下载与配置

下载地址 FFmpeg/FFmpeg (https://github.com/FFmpeg/FFmpeg)

~$ git clone https://github.com/FFmpeg/FFmpeg.git 

二、根据应用场景编译安装

配置时如果需要支持 H.264 视频编码格式,需要在编译ffmpeg时在命令行打开编译选项 --enable-gpl --enable-libx264

1. 编译安装x264

可以直接利用系统安装包

~$ apt install libx264-dev

也可以自行从源码编译,官方网站 VideoLAN, a project and a non-profit organization. (https://www.videolan.org/developers/x264.html)

~$ git clone https://code.videolan.org/videolan/x264.git

然后进入 x264 目录

~$ cd x264

~$ mkdir x264-bin

~$ ./configure --enable-shared --enable-static --prefix=./x264-bin

~$ make install

2. 配置安装 ffmpeg

x264配置完成后开始配置ffmpeg

~$ mkdir ffmpeg-bin

~$ ./configure --prefix=./ffmpeg-bin --enable-gpl --enable-libx264 --disable-ffplay --disable-ffserver --enable-nonfree --disable-shared --enable-cudacc \
--extra-cflags="-I/usr/local/cuda-11.0/targets/x86_64-linux/include/ -I../x264/x264-bin/include" \
--extra-ldflags="-L../x264/x264-bin/lib" ~$ make -j && make install

3. 编译过程遇到的问题及解决方案

查了一下,找到一个相同的问题,大概是ffmpeg与x264版本不对应引起的

error: ‘x264_bit_depth’ undeclared (first use in this function)

截图如下

改一下版本重新编译x264即可,然后再次编译 ffmpeg 就没问题了。

安装完成后即可使用

~$ ./ffmpeg -i test.mp4 -f null -

FFMPEG编译问题记录的更多相关文章

  1. 【FFmpeg】Windows下FFmpeg编译

    由于FFmpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译,需要在Windows下配置一个类 ...

  2. iOS: FFMpeg编译和使用问题总结

    iOS: FFmpeg编译和使用问题总结 折磨了我近一周多时间的FFmpeg库编译问题终于解决了,必须得把这一段时间来遇到过的坑全写出来.如果急着解决问题,编译最新版本的FFmpeg库请直接看第二部分 ...

  3. iOS: FFmpeg编译和使用 学习

    ffmpeg是一个多平台多媒体处理工具,处理视频和音频的功能非常强大.目前在网上搜到的iOS上使用FFMPEG的资料都比较陈旧,而FFMPEG更新迭代比较快: 且网上的讲解不够详细,对于初次接触FFM ...

  4. FFMpeg编译之路

    为了编译这个东西,快折腾了一个星期了.期间经历了很多痛苦的过程,今天我把整个过程,以及在这个过程的感悟写下来,以备日后查看,也希望能帮到一些像我一样的兄弟姐妹. 在这一个星期里前前后后加起来总共使用了 ...

  5. 2010_3_1最新 完整 FFMPEG 编译详解

    在网上看了很多编译详解,都很零散.经过自己的编译,解决一些BUG,在此分享自己的一些经验... 话不多说了!直接上贴. 第一步:准备编译平台. 需要 一个 MinGW 和 一个 MSYS 安装包 以及 ...

  6. mysql5.7.10 源码编译安装记录 (centos6.4)【转】

    一.准备工作 1.1 卸载系统自带mysql 查看系统是否自带MySQL, 如果有就卸载了, 卸载方式有两种yum, rpm, 这里通过yum卸载 rpm -qa | grep mysql //查看系 ...

  7. # centos7下FFmpeg环境部署记录

    # centos7下FFmpeg环境部署记录 随着视频在网站上的应用越来越多,越来越多的网站服务器需要支持视频转码,视频压缩,FFmpeg是目前最好用的网站服务器后台转码程序,应用最多.FFmpeg是 ...

  8. ndk开发-ffmpeg编译

    进入模拟器shell: D:\Users\zhouhaitao\AppData\Local\Android\sdk\platform-tools\adb shell ndk编译链接静态库: LOCAL ...

  9. win10--vs2015--libjpeg--64位库的编译过程记录

    win10--vs2015--libjpeg--64位库的编译过程记录 1. 下载源代码:   http://libjpeg.sourceforge.net/    或者  http://www.ij ...

随机推荐

  1. egg.js in action

    egg.js in action fullstack https://github.com/eggjs/egg/ cli config router service midlewares HTTP C ...

  2. 「NGK每日快讯」2021.2.7日NGK公链第96期官方快讯!

  3. 币圈沸腾!SPC空投上线!不要错过!

    币圈最近处于沸腾的时刻,NGK侧链代币SPC已上线钱包,3.0公链NGK生态之SPC空投又来了,NGK的上一个项目BGV投资收益率最高破一千七百倍,NGK官方此次以算力持有者为中心,将发起第二轮福利- ...

  4. C++算法代码——[TYVJ]单数?双数?

    题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1178 题目描述 Bessie那惨无人道的二年级老师搞了一个有  N  (1  < ...

  5. RabbitMq手动确认时的重试机制

    本文转载自RabbitMq手动确认时的重试机制 消息手动确认模式的几点说明 监听的方法内部必须使用channel进行消息确认,包括消费成功或消费失败 如果不手动确认,也不抛出异常,消息不会自动重新推送 ...

  6. Java 线程间通信 —— 等待 / 通知机制

    本文部分摘自<Java 并发编程的艺术> volatile 和 synchronize 关键字 每个处于运行状态的线程,如果仅仅是孤立地运行,那么它产生的作用很小,如果多个线程能够相互配合 ...

  7. java对象克隆复制

    原文链接:https://blog.csdn.net/ztchun/article/details/79110096 自己先简单描述总结一下:当想要将一个对象中已有的值直接给另外一个对象的时候,其实并 ...

  8. 微信小程序优化:实现picker组件中input输入框禁止输入,而只能通过picker组件选择日期

    原来的代码如下: <view class="right">     <picker mode="date" value="{{mat ...

  9. Spring Cloud基础

    1.网站架构演变过程 传统架构(单点应用SSM或SSH)→分布式架构(项目拆分)→SOA架构(面向服务架构)→微服务架构 2.微服务概述 2.1SOA架构 面向服务的架构(SOA)是一个组件模型,它将 ...

  10. Asp.NET Core 限流控制-AspNetCoreRateLimit

    起因: 近期项目中,提供了一些调用频率较高的api接口,需要保障服务器的稳定运行:需要对提供的接口进行限流控制.避免因客户端频繁的请求导致服务器的压力. 一.AspNetCoreRateLimit 介 ...