当前位置: 首页 > news >正文

ffmpeg-编译汇总01

ffmpeg-编译汇总

ubuntu18.04下编译ffmpeg

所有安装目录 /usr/local

1.nasm编译器编译

(nasm-2.13.03解包)

./configure --prefix=/usr/local

make -j4

sudo make install

注意:能检测到可以不用设置下面的环境。

安装完成后,为了系统能自动找到nasm程序,我们需要配置下环境变量。步骤如下:

输入命令:sudo vim /etc/profile,在文件末尾加入

export NASM_HOME=/usr/local/nasm

export PATH=${NASM_HOME}/bin:$PATH

export LD_LIBRARY_PATH=${NASM_HOME}/bin:$LD_LIBRARY_PATH

2.SDL(SDL2-2.0.10解包) sudo apt-get install xorg-dev

cmake直接编译(注意勾选静态编译 取消掉动态库)

make -j4

sudo make install

3.x264    -fPIC

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

./configure --prefix=/usr/local --enable-pic --enable-strip --enable-static --disable-shared

make -j4

sudo make install

4.x265

git clone https://bitbucket.org/multicoreware/x265_git.git

cmake直接编译(注意勾选静态编译)

make -j4

sudo make install

5.ffmpeg编译

(先确定安装好apt-get install libasound2-dev libpulse-dev)

生成库

make -j4

sudo make install

FFmpeg编译后产生的FFmpeg和FFmpeg_g有什么区别

_g一般是里面带了debug信息,方便调试的(比如单步调试)

//下面是关闭asm编译的

./configure --enable-static --disable-shared --disable-yasm --disable-x86asm --enable-libx264 --enable-libx265 --enable-sdl2 --enable-gpl --prefix=/usr/local/

//下面是打开多线程支持ubuntu通用

./configure --enable-static --disable-shared --enable-libx264 --enable-libx265 --enable-sdl2 --enable-pthreads --enable-pic --enable-gpl --prefix=/usr/local/

//树莓派3b

./configure --enable-static --disable-shared --enable-libx264 --enable-libx265 --enable-sdl2 --enable-pthreads --enable-gpl --enable-mmal --enable-omx --enable-omx-rpi --enable-pic --extra-ldflags=-latomic --pkg-config-flags="pkg-config --static" --prefix=/home/pi/dev/ffmpeg-4.4.1-dev/

./configure --arch=armel --target-os=linux --enable-static --disable-shared --enable-gpl --enable-libx264 --enable-sdl  --enable-nonfree --enable-omx --enable-omx-rpi --enable-encoder=h264_omx --enable-mmal --enable-hwaccel=h264_mmal --enable-decoder=h264_mmal

//NVIDIA

1.下载并安装ffnvcodec:

git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git

cd nv-codec-headers && sudo make install

2.下载最新的FFmpeg或libav源代码

git clone https://git.ffmpeg.org/ffmpeg.git[Libav:https://github.com/libav/libav]

3.从NVIDIA网站下载并安装兼容的驱动程序并安装CUDA工具包CUDA工具包

4.ffmpeg命令

./configure --enable-cuda-sdk --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64

5.测试FFmpeg,请尝试以下示例命令行进行1:2转码

ffmpeg -y -hwaccel cuvid -c:v h264_cuvid -vsync 0 -i <input.mp4> -vf scale_npp=1920:1072

-vcodec h264_nvenc <output0.264> -vf scale_npp=1280:720 -vcodec h264_nvenc <output1.264>

//jetson-TX2(下载jetson-ffmpeg补丁)

./configure --enable-static --disable-shared --enable-nvmpi --enable-libx264 --enable-libx265 --enable-sdl2 --enable-pthreads --enable-gpl --enable-pic --prefix=/usr/local/

MSYS2下编译

MSYS2静态/动态编译

./configure --enable-static --disable-shared --disable-debug --enable-sdl2 --enable-gpl --enable-libx264 --enable-libx265 --enable-w32threads --disable-pthreads --enable-memory-poisoning --enable-version3 --disable-iconv --disable-bzlib --disable-zlib --disable-lzma --prefix=/home/AGAN/ffmpeg-4.4.1-dev

./configure --enable-shared --disable-debug --enable-sdl2 --enable-gpl --enable-libx264 --enable-libx265 --enable-w32threads --disable-pthreads --enable-memory-poisoning --enable-version3 --disable-iconv --disable-bzlib --disable-zlib --disable-lzma --prefix=/home/AGAN/ffmpeg-4.4.1-devdll

msvc 32/64静态/动态编译

./configure --toolchain=msvc --enable-static --disable-shared --disable-debug --enable-gpl --enable-sdl2 --enable-libx264 --enable-libx265 --enable-w32threads --prefix=/home/AGAN/ffmpeg-4.4.1

./configure --toolchain=msvc --enable-shared --disable-debug --enable-gpl --enable-sdl2 --enable-libx264 --enable-libx265 --enable-w32threads --prefix=/home/AGAN/ffmpeg-4.4.1

http://www.lryc.cn/news/69458.html

相关文章:

  • 素雅的登录界面,简单而优雅
  • Docker数据目录迁移方法
  • C++——动态规划
  • 【FAQ】视频编辑服务常见问题及解答
  • JavaEE(系列8) -- 多线程案例(单例模式)
  • 深度剖析,如何从底层代码层面理解Selenium和Appium的关联
  • 【Three.js】第一、二章 入门指南和基础知识
  • 力扣第 104 场双周赛 2681. 英雄的力量
  • 在linux上创建crypto_LUKS格式的块设备
  • 76.建立一个主体样式第二部分
  • SQL删除重复的记录(只保留一条)-窗口函数row_number()
  • CF1660D Maximum Product Strikes Back 题解
  • 基于CSSOM的暗链检测技术实现方案
  • MySQL db、tables_priv、columns_priv和procs_priv权限表
  • JavaWeb-JSP的学习
  • 力扣sql中等篇练习(二十三)
  • C语言算法之查找
  • 肝一肝设计模式【九】-- 享元模式
  • 自动化测试的十大雷区【刚入门必看】
  • 【Android源码篇】用grep搜索源码内容关键词
  • 腾讯云轻量应用服务器卡死怎么连接?
  • Charles安装及抓取APP接口
  • Linux开发工具:yum和vim的使用
  • Java基础重温巩固
  • Text2SQL 语义解析数据集、解决方案和学术论文资源整合
  • redis集群+哨兵配置实操宝典
  • nginx的语法
  • 华为OD机试之英文输入法(Java源码)
  • 一个团队管理者应该干什么?
  • 服务器数据库文件加载到 MySQL