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 |
相关文章:
ffmpeg-编译汇总01
ffmpeg-编译汇总 ubuntu18.04下编译ffmpeg 所有安装目录 /usr/local 1.nasm编译器编译 (nasm-2.13.03解包) ./configure --prefix/usr/local make -j4 sudo make install 注意:能检测到可以不用设置下面的环境。 安装完成后,为了系统能自动找到nasm程序&…...
素雅的登录界面,简单而优雅
先上效果图: 再上代码: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>*, *::after, *::before {margin: 0;padding: 0;box-sizing: bord…...
Docker数据目录迁移方法
文章目录 前言一、停掉Docker服务?二、迁移docker数据到数据盘目三、备份原数据目录四、添加软链接五、重启docker服务六、确认服务没有问题后,删除备份的目录总结 前言 服务器上安装的docker服务,数据默认存储在/var/lib/docker目录&#x…...
C++——动态规划
动态规划是一种解决复杂问题的算法思想。它通过将问题分解为更小的子问题,并利用子问题的解来构建原问题的解。动态规划通常用于优化问题,其中需要找到最优解或最大值/最小值。 动态规划的核心思想是存储并重复使用子问题的解,以避免重复计算…...
【FAQ】视频编辑服务常见问题及解答
Q1问题描述 1、 访问贴纸等素材的时候提示“网络异常,请重试”怎么办? 2、 使用AI能力时,提示“errorCode:20124 errorMsg:Method not Allowed”? 解决方案 请做以下检查: 1、 在代码中检查鉴权信息是否已设置。如…...
JavaEE(系列8) -- 多线程案例(单例模式)
目录 1. 设计模式 2. 单例模式 -- 饿汉模式 3. 单例模式 -- 懒汉模式 4. 单例模式(懒汉模式-多线程) 1. 设计模式 什么是设计模式? 设计模式好比象棋中的 "棋谱". 红方当头炮, 黑方马来跳. 针对红方的一些走法, 黑方应招的时候有一些固定的套路. 按照套路…...
深度剖析,如何从底层代码层面理解Selenium和Appium的关联
目录 前言: 一、Selenium和WebDriver 二、Appium和WebDriver 三、Selenium和Appium的底层关联 1. Selenium WebDriver提供底层的浏览器控制机制 2. 利用JSON Wire Protocol通信协议实现通讯机制 四、实例代码 总结: 前言: Selenium和…...
【Three.js】第一、二章 入门指南和基础知识
01.介绍 Three.js 非常庞大,你可以用它做无数的事情。 在第一章中,我们将学习所有基础知识,例如创建第一个场景、渲染、添加对象、选择正确的材料、添加纹理、为所有内容制作动画,甚至将其放到网上。有些人可能会觉得这部分有点…...
力扣第 104 场双周赛 2681. 英雄的力量
原题链接力扣 题目大意:我开始看成连续子段了,写了个递归程序....... 一个数组任选一个子序列,子序列的力量值最大值平方*最小值。求所有子序列的力量和。 分析过程:如序列长度为n,子序列总数为2的n次幂,…...
在linux上创建crypto_LUKS格式的块设备
要在Linux上创建一个块设备并将其格式化为 crypto_LUKS,可以按照以下步骤进行: 创建一个空白文件,作为块设备的基础。可以使用 dd 命令创建指定大小的文件,例如: dd if/dev/zero of/path/to/device bs1M count100这将创…...
76.建立一个主体样式第二部分
上节课的时候我们完成的页面是这个样子! ● 之后我们通过绝对定位来解决位置定位的问题 .header-container {width: 1200px;margin: 0 auto;position: absolute;left: 50%;top: 50%; }header {height: 100vh;background-color: orange;position: relative; }● 之…...
SQL删除重复的记录(只保留一条)-窗口函数row_number()
文章目录 一、关于mysql表中数据重复二、聚合函数min(id)not in二、窗口函数row_number()四、补充:常见的窗口函数 一、关于mysql表中数据重复 关于删除mysql表中重复数据问题,本文中给到两种办法:聚合函数、窗口函数row_number()的方法。 (注…...
CF1660D Maximum Product Strikes Back 题解
CF1660D Maximum Product Strikes Back 题解 题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 思路点拨(分类题)缩小研究对象范围除0的分析加上0的分析 代码实现小方法陈述 题目描述 你有一个长度为 n n n 的数组,每一个元素都在 …...
基于CSSOM的暗链检测技术实现方案
什么是暗链 大部分的开源代码在实现暗链检测的时候都是直接判断页面里面有没有敏感词,如果有,就认为该链接为暗链。这种做法其实是有误的。 违规链接应该分为:外链、内链、死链和暗链。而暗链除了违规,还应该具备“暗”这个看不见的特征。 暗链的特征 其实“暗链”就是看…...
MySQL db、tables_priv、columns_priv和procs_priv权限表
在 MySQL 数据库中,权限表除了 user 表外,还有 db 表、tables_priv 表、columns_priv 表和 procs_priv 表。在《MySQL user权限表详解》中我们讲解了 MySQL 的 user 表,下面主要介绍其它几种权限表。 db表 db 表比较常用,是 MyS…...
JavaWeb-JSP的学习
JSP 今日目标: 理解 JSP 及 JSP 原理能在 JSP中使用 EL表达式 和 JSTL标签理解 MVC模式 和 三层架构能完成品牌数据的增删改查功能 1、JSP 概述 JSP(全称:Java Server Pages):Java 服务端页面。是一种动态的网页技术…...
力扣sql中等篇练习(二十三)
力扣sql中等篇练习(二十三) 1 统计实验的数量 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 # 有可能数据本身就不全,就需要自行创建临时表 WITH T as (SELECT Android p1,Reading e1UNIONSELECT Android p1,Sports e1UNIONSELECT Android p1,Prog…...
C语言算法之查找
一.查找相关概念 这一部分解释数据结构里面查找的相关基础概念: 查找:在数据集合中寻找满足某种条件的数据元素的过程。查找表:用于查找的数据集合关键字:数据元素中唯一标识该元素的某个数据项的值静态查找表:静态查…...
肝一肝设计模式【九】-- 享元模式
系列文章目录 肝一肝设计模式【一】-- 单例模式 传送门 肝一肝设计模式【二】-- 工厂模式 传送门 肝一肝设计模式【三】-- 原型模式 传送门 肝一肝设计模式【四】-- 建造者模式 传送门 肝一肝设计模式【五】-- 适配器模式 传送门 肝一肝设计模式【六】-- 装饰器模式 传送门 肝…...
自动化测试的十大雷区【刚入门必看】
虽然从自己的错误中学习也不错,但从别人的错误中学习总是更好的。 作为一个自动化测试人员,分享常见的容易犯的10个错误,可以从中吸取教训,引以为鉴。 一、必要时才自动化 新人小王接到为Web应用程序自动化测试脚本的任务时&…...
FreeRTOS任务优先级设置不当导致系统卡死的排查与修复
1. FreeRTOS任务优先级设置不当的典型表现 在STM32F1系列单片机开发中,使用FreeRTOS时如果任务优先级设置不当,系统往往会表现出一些典型症状。最常见的就是系统运行一段时间后突然卡死,所有任务停止响应,连最基本的LED闪烁或串口…...
打造沉浸式智能AI问答助手:Vue + UniApp 全端实战(支持 Markdown/公式/多模态交互)芈
OCP原则 ocp指开闭原则,对扩展开放,对修改关闭。是七大原则中最基本的一个原则。 依赖倒置原则(DIP) 什么是依赖倒置原则 核心是面向接口编程、面向抽象编程, 不是面向具体编程。 依赖倒置原则的目的 降低耦合度&#…...
从JDK 8到JDK 17:实战复盘,企业升级必看(AI Agent时代加速跃迁)
开篇引言 “你发任你发,我用Java 8”,这句调侃道尽了JDK 8在企业级开发的统治地位。凭借Lambda、Stream、全新时间API等特性,JDK 8稳坐近十年主流LTS版本宝座。但随着AI Agent大规模落地、云原生架构普及、新一代框架强制迭代,JD…...
Windows任务栏定制终极指南:7+ Taskbar Tweaker完全掌控你的桌面体验
Windows任务栏定制终极指南:7 Taskbar Tweaker完全掌控你的桌面体验 【免费下载链接】7-Taskbar-Tweaker A Windows taskbar customization tool for Windows 7, Windows 8, and Windows 10 项目地址: https://gitcode.com/gh_mirrors/7t/7-Taskbar-Tweaker …...
苦等多年!Compose 终于迎来原生 Media3 播放器
本文首发于公众号“Android技术圈HPro”前两天,Google 正式发布了 Media3 1.10。 对开发者来说最炸的莫不过Compose终于有自己的播放器了! Compose 播放器来了 过去一提 Compose 播放器,很多团队的真实状态其实都差不多。 要么继续用 PlayerV…...
2025物联网通信毕业设计:聚焦LoRa与ZigBee的智慧农业创新应用
1. 为什么选择LoRa与ZigBee做智慧农业? 最近几年帮学生指导毕业设计时,发现越来越多的同学开始关注智慧农业这个方向。说实话,这个选题确实很值得做——既能结合当下热门的物联网技术,又能解决实际农业生产中的痛点。在众多无线通…...
STM32F103片内Flash 存储器操作(FLASH页划分)
一、Flash 基础1.1 什么是 Flash?Flash Memory: 闪存存储器定义: 一种非易失性存储器,掉电后数据不丢失核心特性:非易失性: 掉电后数据不丢失 可擦写: 可以多次擦除和写入 块操作: 擦…...
如何快速掌握PlugY:暗黑破坏神2单机玩家的终极生存指南
如何快速掌握PlugY:暗黑破坏神2单机玩家的终极生存指南 【免费下载链接】PlugY PlugY, The Survival Kit - Plug-in for Diablo II Lord of Destruction 项目地址: https://gitcode.com/gh_mirrors/pl/PlugY 你是否曾经因为暗黑破坏神2原版储物箱太小而不得不…...
3步掌握RePKG:从Wallpaper Engine资源包到可编辑素材
3步掌握RePKG:从Wallpaper Engine资源包到可编辑素材 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg Wallpaper Engine资源包逆向解析工具RePKG,专为提取壁纸…...
Jimeng LoRA应用案例:快速测试不同Epoch版本,找到最佳训练效果
Jimeng LoRA应用案例:快速测试不同Epoch版本,找到最佳训练效果 1. 项目背景与核心价值 在LoRA模型训练过程中,我们常常面临一个关键问题:**如何确定哪个训练阶段的模型效果最好?**传统方法需要反复加载不同Epoch版本…...
