首页 > 其他分享 >[Kyana]ffmpeg编译方法

[Kyana]ffmpeg编译方法

时间:2024-02-09 17:22:05浏览次数:31  
标签:enable ffmpeg -- 编译 disable Kyana configure

01|Msys跨平台编译ffmpeg

配置环境

  1. 安装Msys2,修改安装目录下的/etc/pacman.d/文件夹下的mirrorlist文件,切换为中科大源。
  2. 打开Msys2的MinGW64终端,执行 pacman -Syu更新软件包
  3. 使用 pacman -S gcc yasm make安装编译所需的依赖。

编译流程

编译x264库

videolan官网下载x264代码的压缩包,使用如下参数配置编译,并安装。

./configure --prefix=out --enable-static --enable-shared
make -j8
make install

编译mp3lame库

从MP3代码存储库下载3.100代码包。使用如下参数配置编译,并安装。

./configure --prefix=out --enable-static --enable-shared
make -j8
make install

编译ffmpeg本体

  1. ffmpeg官网下载相应版本的release压缩包,这里使用5.1.3
  2. 使用Msys2运行编译配置脚本configure,参数如下。
./configure --prefix=Out --enable-x86asm --enable-network --enable-protocol=https --enable-optimizations --enable-gpl --enable-libx264 --enable-libmp3lame --enable-small --enable-static --disable-shared --disable-ffprobe --disable-doc --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib

02|cl(VS ToolChain)编译ffmpeg

lame: ./configure --enable-shared --prefix=/mnt/Mp3/Out/ --host=x86_64-pc-windows CC=cl.exe
ffmpeg: ./configure --prefix=Out --toolchain=msvc --enable-w32threads --enable-x86asm --disable-doc --disable-ffprobe --enable-small --disable-runtime-cpudetect --disable-network --disable-debug

x264: ./configure --enable-static --enable-shared
lame: ./configure --prefix=/usr/local --enable-static --enable-shared
ffmpeg: ./configure --prefix=Out --enable-x86asm --enable-network --enable-protocol=https --enable-optimizations --enable-gpl --enable-libx264 --enable-libmp3lame --enable-small --enable-static --disable-shared --disable-ffprobe --disable-doc --extra-cflags=/usr/local/include --extra-ldflags=/usr/local/lib

标签:enable,ffmpeg,--,编译,disable,Kyana,configure
From: https://www.cnblogs.com/kyana/p/18012541

相关文章

  • [Kyana]ffmpeg编译方法
    01|Msys跨平台编译ffmpeg配置环境安装Msys2,修改安装目录下的/etc/pacman.d/文件夹下的mirrorlist文件,切换为中科大源。打开Msys2的MinGW64终端,执行pacman-Syu更新软件包使用pacman-Sgccyasmmake安装编译所需的依赖。编译流程编译x264库从videolan官网下载x264代码......
  • 2.1.4 程序基本概念——编辑、编译、解释、调试的概念
    编辑概念C++程序的编辑即为,对代码的编写过程,完成这种过程需要借助相关软件,该类软件叫做C++代码编辑器。编译和解释概念计算机只能识别由0、1组成的二进制代码,称为机器码。所以我们现在使用高级编程语言编写的程序就需要一个翻译过程,将其转换成计算机认识的二进制代码,而这个翻......
  • deepinV23编译文件管理器改造
    1.概述本篇博客主要介绍在deepinV23和deepinV20.9上改造编译安装dde-file-manager的过程。其中编译的过程,主要参考了:Deepin深度操作系统中编译和安装dde-file-manager-CSDN博客,感谢这位大佬的分享自己改造的部分,主要是:增加文件管理器和桌面通过ctrl+d删除文件或目录增加桌......
  • 编译原理论述
    编译程序工作的几个阶段包括:词法分析(LexicalAnalysis):也称为扫描(Scanning)或词法扫描(LexicalScanning)。这个阶段的任务是从左到右一个字符一个字符地读入源程序,将其划分成一系列的记号(token)。每个记号由两部分组成,一个是记号本身,一个是记号的属性值(比如关键字、变量名、常量值、......
  • 如何基于 spdlog 在编译期提供类 logrus 的日志接口
    如何基于spdlog在编译期提供类logrus的日志接口实现见Github,代码简单,只有一个头文件。前提几年前看到戈君在知乎上的一篇文章,关于打印日志的一些经验总结;实践下来很受用,在golang里结构化日志和logrus非常契合,最常见的使用方式如下。logrus.WithField("addr","127.0......
  • 解决编译报错——too few arguments for template template parameter “Tuple“detec
    一般出现这种问题都是cuda、pytorch和vs版本没配对上。这里出现问题的文件为torch中的cast.h。我看网上很多给的解决方法是修改下面代码:template<template<typename...>classTuple,typename...Ts>classtuple_caster;template<typenameT1,typenameT2>classtyp......
  • Ubuntu安装PHP8.2 编译安装 oci8 pdo_oci扩展
    PHP8.2是PHP语言的最新版本。新特性包括,只读类,允许布尔值作为独立类型等。从mysqli中删除libmysql的支持等。时至今天,主流的HTTP服务器已不是Apache,我们推荐使用Nginx作为HTTP服务器,Nginx相对于Apache来说简单且性能更好。本教程将向您展示如何在Ubuntu20.04安装PHP8.2并将其......
  • app.json 中未定义自定义编译中指定的启动页面
    换了启动页,这里得手动改。。。。。。。。。。。[app.json或自定义编译条件错误]app.json中未定义自定义编译中指定的启动页面./pages/index/index(env:Windows),......
  • 用Java编译一个简单计算器
    作业写一个计算器,要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现。思路推荐:写4个方法,加减乘除利用循环+switch进行用户交互传递需要操作的两个数输出结构packagecom.hongyi.method;importjava.util.Scanner;//写一个计算器,要实现加减乘除功能,......
  • C#获得项目最后编译时间
    C#获得项目最后编译时间效果具体格式可以自定义核心代码stringGetCompileVersion(){stringOriginVersion=""+System.IO.File.GetLastWriteTime(this.GetType().Assembly.Location);intMsgCnt=0;stringyear="";stringmonth="";......