FFMPEG编译问题记录
一、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编译问题记录的更多相关文章
- 【FFmpeg】Windows下FFmpeg编译
由于FFmpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译,需要在Windows下配置一个类 ...
- iOS: FFMpeg编译和使用问题总结
iOS: FFmpeg编译和使用问题总结 折磨了我近一周多时间的FFmpeg库编译问题终于解决了,必须得把这一段时间来遇到过的坑全写出来.如果急着解决问题,编译最新版本的FFmpeg库请直接看第二部分 ...
- iOS: FFmpeg编译和使用 学习
ffmpeg是一个多平台多媒体处理工具,处理视频和音频的功能非常强大.目前在网上搜到的iOS上使用FFMPEG的资料都比较陈旧,而FFMPEG更新迭代比较快: 且网上的讲解不够详细,对于初次接触FFM ...
- FFMpeg编译之路
为了编译这个东西,快折腾了一个星期了.期间经历了很多痛苦的过程,今天我把整个过程,以及在这个过程的感悟写下来,以备日后查看,也希望能帮到一些像我一样的兄弟姐妹. 在这一个星期里前前后后加起来总共使用了 ...
- 2010_3_1最新 完整 FFMPEG 编译详解
在网上看了很多编译详解,都很零散.经过自己的编译,解决一些BUG,在此分享自己的一些经验... 话不多说了!直接上贴. 第一步:准备编译平台. 需要 一个 MinGW 和 一个 MSYS 安装包 以及 ...
- mysql5.7.10 源码编译安装记录 (centos6.4)【转】
一.准备工作 1.1 卸载系统自带mysql 查看系统是否自带MySQL, 如果有就卸载了, 卸载方式有两种yum, rpm, 这里通过yum卸载 rpm -qa | grep mysql //查看系 ...
- # centos7下FFmpeg环境部署记录
# centos7下FFmpeg环境部署记录 随着视频在网站上的应用越来越多,越来越多的网站服务器需要支持视频转码,视频压缩,FFmpeg是目前最好用的网站服务器后台转码程序,应用最多.FFmpeg是 ...
- ndk开发-ffmpeg编译
进入模拟器shell: D:\Users\zhouhaitao\AppData\Local\Android\sdk\platform-tools\adb shell ndk编译链接静态库: LOCAL ...
- win10--vs2015--libjpeg--64位库的编译过程记录
win10--vs2015--libjpeg--64位库的编译过程记录 1. 下载源代码: http://libjpeg.sourceforge.net/ 或者 http://www.ij ...
随机推荐
- egg.js in action
egg.js in action fullstack https://github.com/eggjs/egg/ cli config router service midlewares HTTP C ...
- 「NGK每日快讯」2021.2.7日NGK公链第96期官方快讯!
- 币圈沸腾!SPC空投上线!不要错过!
币圈最近处于沸腾的时刻,NGK侧链代币SPC已上线钱包,3.0公链NGK生态之SPC空投又来了,NGK的上一个项目BGV投资收益率最高破一千七百倍,NGK官方此次以算力持有者为中心,将发起第二轮福利- ...
- C++算法代码——[TYVJ]单数?双数?
题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1178 题目描述 Bessie那惨无人道的二年级老师搞了一个有 N (1 < ...
- RabbitMq手动确认时的重试机制
本文转载自RabbitMq手动确认时的重试机制 消息手动确认模式的几点说明 监听的方法内部必须使用channel进行消息确认,包括消费成功或消费失败 如果不手动确认,也不抛出异常,消息不会自动重新推送 ...
- Java 线程间通信 —— 等待 / 通知机制
本文部分摘自<Java 并发编程的艺术> volatile 和 synchronize 关键字 每个处于运行状态的线程,如果仅仅是孤立地运行,那么它产生的作用很小,如果多个线程能够相互配合 ...
- java对象克隆复制
原文链接:https://blog.csdn.net/ztchun/article/details/79110096 自己先简单描述总结一下:当想要将一个对象中已有的值直接给另外一个对象的时候,其实并 ...
- 微信小程序优化:实现picker组件中input输入框禁止输入,而只能通过picker组件选择日期
原来的代码如下: <view class="right"> <picker mode="date" value="{{mat ...
- Spring Cloud基础
1.网站架构演变过程 传统架构(单点应用SSM或SSH)→分布式架构(项目拆分)→SOA架构(面向服务架构)→微服务架构 2.微服务概述 2.1SOA架构 面向服务的架构(SOA)是一个组件模型,它将 ...
- Asp.NET Core 限流控制-AspNetCoreRateLimit
起因: 近期项目中,提供了一些调用频率较高的api接口,需要保障服务器的稳定运行:需要对提供的接口进行限流控制.避免因客户端频繁的请求导致服务器的压力. 一.AspNetCoreRateLimit 介 ...