2.2 Windows MSYS2编译FFmpeg 4.4.1

msys2编译FFmpeg全网最详细步骤 一、前言 本文讲述使用msys2编译ffmpeg源码的方法,使用该方法不需要安装mingw。msys2是一个在windows上模拟linux环境的软件,在msys2上可以使用大多数的shell命令,它可以在一定程度上代替虚拟机,让用户可以在windows上使用shell。 二、下载安装msys2 首先我们在http://msys2.github.io/下载msys2。进入该网址后,可以看到如下页面: 这里由于博主的电脑是win10、64位操作系统,所以选择msys2-x86_64-... 阅读详情

一、安装编译工具

# 更换pacman源
sed -i "s#mirror.msys2.org/#mirrors.ustc.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*
pacman -Sy

# 安装依赖
pacman -S --needed base-devel mingw-w64-x86_64-toolchain
pacman -S mingw-w64-x86_64-nasm mingw-w64-x86_64-yasm
pacman -S git pkg-config

说明:

  • base-devel:提供编译和开发软件所需的基础工具集,包含 常用的工具如 make, patch, autoconf, automake, libtool, gettext, texinfo 等
  • mingw-w64-x86_64-toolchain :MinGW-w64 的完整工具链,用于在 Windows 上编译 64 位应用程序,包含 编译器(如 gcc, g++)、链接器、调试器(gdb)以及相关的开发库和头文件。
  • mingw-w64-x86_64-nasm:NASM(Netwide Assembler)是一个开源的 x86 和 x86-64 汇编器。
  • mingw-w64-x86_64-yasm:YASM 是一个模块化的汇编器,支持 x86 和 x86-64 架构,兼容 NASM 语法。
  • git:用于从 Git 仓库下载源码(如 git clone)。
  • pkg-config:用于检索已安装库的编译和链接信息。

二、通过pacman安装依赖

2.1 常见依赖库

查询包名 网址:packages.msys2.org/queue

分类库名称用途FFmpeg 配置选项pacman 安装命令
视频编码libx264H.264 视频编码(高效、广泛使用的视频编码标准)--enable-libx264pacman -S mingw-w64-x86_64-x264
libx265H.265/HEVC 视频编码(高压缩率,适用于 4K/8K 视频)--enable-libx265pacman -S mingw-w64-x86_64-x265
libvpxVP8/VP9 视频编码(WebM 格式,适用于网络视频)--enable-libvpxpacman -S mingw-w64-x86_64-libvpx
libtheoraTheora 视频编码(开源视频格式)--enable-libtheorapacman -S mingw-w64-x86_64-libtheora
libwebpWebP 图像和视频编码(高效图像压缩格式)--enable-libwebppacman -S mingw-w64-x86_64-libwebp
libaomAV1 视频编码(下一代开源视频编码,高效压缩)--enable-libaompacman -S mingw-w64-x86_64-libaom
libdav1dAV1 视频解码(高性能 AV1 解码器,适合播放)--enable-libdav1dpacman -S mingw-w64-x86_64-dav1d
libxvidMPEG-4 视频编码(老式但仍使用的视频编码标准)--enable-libxvidpacman -S mingw-w64-x86_64-xvidcore
音频编码libfdk-aacAAC 音频编码(高质量音频编码,支持 HE-AAC)--enable-libfdk-aacpacman -S mingw-w64-x86_64-fdk-aac
libmp3lameMP3 音频编码(广泛使用的音频格式)--enable-libmp3lamepacman -S mingw-w64-x86_64-lame
libopusOpus 音频编码(低延迟、高质量,适合网络传输)--enable-libopuspacman -S mingw-w64-x86_64-opus
libvorbisVorbis 音频编码(开源音频格式,常用于 Ogg 容器)--enable-libvorbispacman -S mingw-w64-x86_64-libvorbis
libspeexSpeex 音频编码(针对语音优化的压缩格式)--enable-libspeexpacman -S mingw-w64-x86_64-speex
libflacFLAC 音频编码(无损音频压缩格式)--enable-libflacpacman -S mingw-w64-x86_64-flac
其他常用功能libass字幕渲染(支持 ASS/SSA 字幕格式)--enable-libasspacman -S mingw-w64-x86_64-libass
zlib数据压缩(用于压缩和解压文件或流)--enable-zlibpacman -S mingw-w64-x86_64-zlib
freetype字体渲染(用于字幕和文本绘制)--enable-libfreetypepacman -S mingw-w64-x86_64-freetype
fontconfig字体管理(优化字体选择和配置)--enable-fontconfigpacman -S mingw-w64-x86_64-fontconfig
openal音频处理(支持 3D 音频和空间音效)--enable-openalpacman -S mingw-w64-x86_64-openal
libsdl2多媒体交互(用于 ffplay 的图形界面和音频输出)--enable-sdl2pacman -S mingw-w64-x86_64-libsdl2
openssl支持 HTTPS 和其他加密协议(如 RTMPS)--enable-opensslpacman -S mingw-w64-x86_64-openssl
librtmpRTMP 流媒体协议支持(用于直播推流/拉流)--enable-librtmppacman -S mingw-w64-x86_64-librtmp
libpngPNG 图像支持(用于图像处理和帧提取)--enable-libpngpacman -S mingw-w64-x86_64-libpng
libjpeg-turboJPEG 图像支持(加速 JPEG 编码/解码)--enable-libjpegpacman -S mingw-w64-x86_64-libjpeg-turbo

2.2 ffmpeg编译安装

最小化配置:x264、x265、fdk-aac 和 lame

安装依赖:

pacman -S mingw-w64-x86_64-x264 mingw-w64-x86_64-x265 mingw-w64-x86_64-fdk-aac mingw-w64-x86_64-lame

ffmpeg 4.4.1 编译:

wget https://ffmpeg.org/releases/ffmpeg-4.4.1.tar.xz
tar xf ffmpeg-4.4.1.tar.xz && cd ffmpeg-4.4.1

./configure \
--prefix=$(pwd)/../ffmpeg_build \
--disable-everything \
--disable-doc \
--enable-shared \
--enable-muxer=mp4,flv,mp3,wav \
--enable-demuxer=mp4,mov,mp3,aac \
--enable-encoder=libx264,libx265,libfdk_aac,libmp3lame \
--enable-decoder=aac,h264,hevc,mp3 \
--enable-protocol=file,http \
--enable-filter=aresample \
--enable-bsf=aac_adtstoasc \
--enable-gpl \
--enable-nonfree \
--enable-libx264 \
--enable-libx265 \
--enable-libfdk-aac \
--enable-libmp3lame \
--extra-cflags="-I$(pwd)/../3rdparty_mingw64/include" \
--extra-ldflags="-L$(pwd)/../3rdparty_mingw64/lib"


# 可能报shr错误,修改完再编译。
make -j$(nproc) && make install

编译错误:“Error: operand type mismatch for shr” 是由于汇编代码中存在类型不匹配的错误,导致无法通过汇编阶段编译。
在这里插入图片描述

解决办法:修改libavcodec/x86/mathops.h代码

  • 将ci改为c
  • 将ic改为c
#define MULL MULL
static av_always_inline av_const int MULL(int a, int b, unsigned shift)
{
	int rt, dummy;
	__asm__ (
		"imull %3               \n\t"
		"shrdl %4, %%edx, %%eax \n\t"
		:"=a"(rt), "=d"(dummy)
		//:"a"(a), "rm"(b), "ci"((uint8_t)shift)
		:"a"(a), "rm"(b), "c"((uint8_t)shift)
	);
	return rt;
}
#define NEG_SSR32 NEG_SSR32
static inline  int32_t NEG_SSR32( int32_t a, int8_t s){
    __asm__ ("sarl %1, %0\n\t"
         : "+r" (a)
         //: "ic" ((uint8_t)(-s))
		 : "c" ((uint8_t)(-s))
    );
    return a;
}

#define NEG_USR32 NEG_USR32
static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
    __asm__ ("shrl %1, %0\n\t"
         : "+r" (a)
         //: "ic" ((uint8_t)(-s))
		 : "c" ((uint8_t)(-s))
    );
    return a;
}

参考:https://blog.youkuaiyun.com/qq_47733361/article/details/132901423

这是编译后的库文件:

./
├── bin  # dll动态库、x.lib动态库导入库
│   ├── avcodec-58.dll
│   ├── avcodec.lib
│   ├── ...
│   └── swscale.lib
├── include
│   ├── ....
│   └── libswscale
├── lib                    # .def库的函数导出文件,.dll.a 是动态库导入库
│   ├── avcodec-58.def
│   ├── libavcodec.dll.a
│   ├── .....
│   └── swscale-5.def
└── share
    └── ffmpeg

三、ffmpeg依赖库(手动编译安装)

库类型:依赖库为动态库+ffmpeg为动态库

3.1 编译依赖库

设置终端代理(仅当前会话有效):

export http_proxy="http://127.0.0.1:11819"
export https_proxy="http://127.0.0.1:11819"

(1)编译x264

# 下载源码
git clone https://code.videolan.org/videolan/x264.git

# 配置
./configure \
--prefix=$(pwd)/../3rdparty_mingw64 \
--enable-shared \
--disable-cli


# 编译安装
make -j$(nproc) && make install

(2)编译x265

注意: 不要使用pacman安装的cmake,因为无法生成指定构建系统文件。

# 如果已安装,则重命名cmake
mv /usr/bin/cmake /usr/bin/cmake_bak

# 设置环境变量,系统安装的cmake路径是:D:\Program\Program Files\CMake\bin
export PATH="/d/Program/Program Files/CMake/bin:$PATH"
# 下载源码
git clone https://bitbucket.org/multicoreware/x265_git.git

# 配置(只编译静态库,而且设定运行时库为静态库)
mkdir tmp && cd tmp

# 不能使用cmake -G "MinGW Makefiles" 会卡死
cmake -G "MSYS Makefiles" \
-DCMAKE_INSTALL_PREFIX=$(pwd)/../../3rdparty_mingw64 \
-DENABLE_SHARED=ON \
-DENABLE_CLI=OFF \
../source

# 编译安装
make -j$(nproc) && make install

(3)编译fdk-aac

# 下载源码
wget https://sourceforge.net/projects/opencore-amr/files/fdk-aac/fdk-aac-2.0.1.tar.gz
tar -xf fdk-aac-2.0.1.tar.gz && cd fdk-aac-2.0.1/

# 生成configure脚本(可选)
./autogen.sh

# 配置
./configure \
--prefix=$(pwd)/../3rdparty_mingw64 \
--enable-shared=yes \
--enable-static=no

# 编译安装
make -j$(nproc) && make install

(4)编译lame

# 下载源码
wget https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz

# 配置
./configure \
--prefix=$(pwd)/../3rdparty_mingw64 \
--enable-shared=yes \
--enable-static=no \
--disable-frontend

# 编译安装
make -j$(nproc) && make install

编译问题:无法导出lame_init_old函数
在这里插入图片描述
解决办法:在include/libmp3lame.sym文件删除lame_init_old函数。

3.2 编译ffmpeg

# 下载源码
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg-4.4.1
cd ffmpeg-4.4.1
git checkout n4.4.1

# 设置.pc文件搜索路径
export PKG_CONFIG_PATH=$(pwd)/../3rdparty_mingw64/lib/pkgconfig:$PKG_CONFIG_PATH

# 配置
./configure \
--prefix=$(pwd)/../ffmpeg_build \
--disable-everything \
--disable-doc \
--enable-shared \
--enable-muxer=mp4,flv,mp3,wav \
--enable-demuxer=mp4,mov,mp3,aac \
--enable-encoder=libx264,libx265,libfdk_aac,libmp3lame \
--enable-decoder=aac,h264,hevc,mp3 \
--enable-protocol=file,http \
--enable-filter=aresample \
--enable-bsf=aac_adtstoasc \
--enable-gpl \
--enable-nonfree \
--enable-libx264 \
--enable-libx265 \
--enable-libfdk-aac \
--enable-libmp3lame \
--extra-cflags="-I$(pwd)/../3rdparty_mingw64/include" \
--extra-ldflags="-L$(pwd)/../3rdparty_mingw64/lib"


# 编译安装
make -j$(nproc) && make install

四、vscode使用ffmpeg库

项目目录结构:

./
├── 3rd               # 第三方依赖库
│   └── ffmpeg_4.4.1 
│       ├── include   # 头文件
│       ├── lib       # 静态库库
│       └── share
├── build			  # 编译目录
├── CMakeLists.txt    # cmake配置文件
├── set_env.ps1       # msys2配置脚本(使我们能在powershell上使用msys2)
└── src               # 源码目录
    └── main.c

CMakeLists.txt文件内容:

cmake_minimum_required(VERSION 3.10)
project(ffmpeg_test VERSION 1.0)

set(CXX_STANDARD 11)
set(CXX_STANDARD_REQUIRED True)

# 设置可执行文件输出目录为 bin  
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/bin)


# 配置FFmpeg(avcodec.lib时动态库的导入库)
set(FFMPEG_DIR ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/ffmpeg-4.4.1)
include_directories(${FFMPEG_DIR}/include)
set(FFMPEG_LIBS
${FFMPEG_DIR}/bin/avdevice.lib
${FFMPEG_DIR}/bin/avfilter.lib
${FFMPEG_DIR}/bin/avformat.lib
${FFMPEG_DIR}/bin/avcodec.lib
${FFMPEG_DIR}/bin/swscale.lib
${FFMPEG_DIR}/bin/swresample.lib
${FFMPEG_DIR}/bin/avutil.lib
)

# 编译和链接依赖库
add_executable(${PROJECT_NAME} src/main.c)
target_link_libraries(${PROJECT_NAME} PRIVATE ${FFMPEG_LIBS} )

# 使用file(GLOB)获取所有DLL文件
file(GLOB FFMPEG_DLLS "${FFMPEG_DIR}/bin/*.dll")

# 添加自定义命令,在构建后复制DLL文件到输出目录
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
    COMMAND ${CMAKE_COMMAND} -E copy_if_different
        ${FFMPEG_DLLS}
        "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
)

set_env.ps1脚本内容:

# =============================================================================
#                          MSYS2 配置参数(可修改)
# =============================================================================
# MSYS2安装路径
$MSYS2_DIR = "D:\Program\msys64"

# 选择MSYS2子系统: MINGW64, MINGW32, MSYS, CLANG64
$MSYSTEM = "MINGW64"

# 是否继承当前环境变量PATH (yes=继承, no=不继承)
$MSYS2_PATH_TYPE = "inherit"
# =============================================================================
#                          以下内容请勿修改
# =============================================================================
# 设置输出编码为 UTF-8
$OutputEncoding = [System.Text.Encoding]::UTF8
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8

# 检查 MSYS2 目录是否存在
if (-not (Test-Path $MSYS2_DIR)) {
    Write-Error "Error: MSYS2 directory not found at $MSYS2_DIR"
    Write-Error "Please update MSYS2_DIR in this script to your MSYS2 installation path."
    exit 1
}

# 设置基本环境变量
$env:MSYS = "winsymlinks:nativestrict"
$env:MSYS2_ARG_CONV_EXCL = "*"
$env:MSYSTEM = $MSYSTEM
$env:MSYS2_PATH_TYPE = $MSYS2_PATH_TYPE

# 更新 PATH 环境变量
$env:Path = "$MSYS2_DIR\$MSYSTEM\bin;$MSYS2_DIR\usr\bin;$env:Path"

Write-Host "MSYS2 $MSYSTEM environment loaded successfully."
Write-Host ""

# 验证环境
$bashPath = "$MSYS2_DIR\usr\bin\bash.exe"
if (Test-Path $bashPath) {
    Write-Host ""
    Write-Host "MSYS2 Environment Information:"
    Write-Host "----------------------------"
    try {
        $unameOutput = & $bashPath -c "uname -a"
        if ($LASTEXITCODE -eq 0) {
            Write-Host $unameOutput
        } else {
            Write-Warning "Failed to execute uname command"
            exit 1
        }
    } catch {
        Write-Warning "Failed to execute uname command"
        exit 1
    }
    Write-Host "----------------------------"
    Write-Host "MSYS2 environment loaded successfully."
    Write-Host ""
} else {
    Write-Error "Error: bash.exe not found at $bashPath"
    exit 1
}

# 查看 系统上所有环境变量
# Get-ChildItem Env:

# 查看powershell配置文件内容
# notepad $PROFILE

main.c文件内容:

#include <stdio.h>
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>

int main() {
    // 待检查的编解码器列表
    const char *codecs[] = {
        "libx264",    // H.264 编码器
        "libx265",    // HEVC 编码器
        "libfdk_aac", // AAC 编码器
        "libmp3lame", // MP3 编码器
        NULL          // 结束标记
    };

    printf("FFmpeg 集成编解码器状态检查:\n");
    printf("===========================\n");

    // 遍历并检查每个编解码器
    for (int i = 0; codecs[i] != NULL; i++) {
        const AVCodec *codec = avcodec_find_encoder_by_name(codecs[i]);
        if (!codec) {
            // 若编码器未找到,尝试查找解码器
            codec = avcodec_find_decoder_by_name(codecs[i]);
        }

        if (codec) {
            printf("[✅] %-12s : 已启用 (类型: %s)\n", 
                   codecs[i], 
                   codec->type == AVMEDIA_TYPE_VIDEO ? "视频" : "音频");
        } else {
            printf("[❌] %-12s : 未启用或未编译\n", codecs[i]);
        }
    }

    return 0;
}

构建命令

# 在vscode的powershell 执行set_env.ps1脚本,配置msys2
.\set_env.ps1

# 生成构建系统(在项目根目录下执行)
cmake .. -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++

# 编译(在build目录下执行)
cmake --build . --config Release

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

win10环境下msys2+mingw编译ffmpeg(64位含ffplay) windows下用msys2 mingw64环境编译ffmpeg64位,包含ffplay.exe 阅读详情

相关推荐

Windows平台MSVC编译的FFmpeg库

本文详细介绍了在MSYS2环境下使用MSVC编译器编译FFmpeg V6.1.4并集成H.264编解码支持的全过程。主要内容包括:1) 环境准备与配置,包括VS和MSYS2安装及环境变量设置;2) x264库的编译与关键修改(x264.h适配);3) FFmpeg编译配置及x264集成;4) 结果验证方法;5) 常见问题解决方案;6) 项目集成建议。重点强调了MSVC工具链指定、x264兼容性修改和路径正确配置等关键步骤,为开发者提供了完整的MSVC编译FFmpeg+H.264的技术方案。

qinbo1234567890的博客 587

FFmpeg - Windows下使用MSYS2和VS编译FFmpeg

编译很辛苦,刚开始学习FFmpeg没必要自己编译FFmpeg,它的官网有编译好的FFmpeg下载,直接下载使用就行。的下载目录,编译(编译成动态库):(指令中的 -j4 可以根据自己电脑性能改成自己电脑最大线程 比如: -j16 等)因此,Gyan.dev的版本可能会更符合Windows标准,而BtbN的版本可能会更加开放和跨平台。然后执行: (指令中的 -j4 可以根据自己电脑性能改成自己电脑最大线程 比如: -j16 等)的文件,但是新的版本没有了。,提供了一键下载依赖并编译的方法。

cry_smile_hate的专栏 1470

Windows下编译FFmpeg(使用MinGW)

参考:https://www.cnblogs.com/harlanc/p/9569960.html Win10 X64 FFmpeg版本:4.1.git MinGW Get:0.6.2,32位 GCC:6.3.0 安装编译环境: MinGW:https://sourceforge.net/projects/mingw/ 打开minGW installation manager,...

wbj217的专栏 1211

window10_ffmpeg-msys2-msvc编译

之前的文章都是通过 msys2+MinGW 的方式编译ffmpeg。今天就来讲解如何用 msys2 + msvc 的方式来编译ffmpeg。 ffmpeg 的源码是跨平台的,通过 configure(shell脚本) 实现不同平台的编译规则。在 c

u012117034的博客 4570

FFmpeg入门详解之68:FFmpeg4.3的开发环境搭建

1.4.、重命名d:\__msys64\usr\bin\link.exe 为C: \msys64\usr\bin\link.bak, 避免和MSVC 的 link.exe抵触。1.、下载地址:http://yasm.tortall.net/Download.html,下载其64位版本Win64 .exe (64 位 Windows 通用)。下载地址:https://sourceforge.net/projects/msys2/files/Base/x86_64/

福优学苑@音视频+流媒体 1471

大厂案例:快手AI人才管理系统的架构设计与效果

凌晨两点刷简历的HR、说不清“团队离职率高”原因的业务leader、不知道“该学什么”的员工——这些人力资源场景中的“痛点”,曾是快手高速增长期的真实写照。当员工规模从几千扩张到几万,传统HR系统的“经验驱动”模式彻底失效。2021年,快手启动AI人才管理系统建设,用“数据+算法”重构招聘、培养、绩效、留存全流程。本文将拆解这套系统的架构设计逻辑核心技术实现,以及真实业务效果AI如何让HR从“事务执行者”变成“战略伙伴”?

大模型应用工坊 1710

Windows下通过 MSYS2+minGW 编译FFmpeg4.2.1的踩坑记录

将此处与高版本的写法保持一致重新编译即可。

gyx_bubai的博客 343

Unity Sprite Editor切片功能详解:如何快速将一张大图拆分成多个小图(附常见问题解决)

本文详细解析了Unity Sprite Editor的切片功能,指导开发者如何高效地将一张大图拆分为多个独立小图。文章涵盖了自动与手动切片操作步骤、轴心点设置、子精灵命名管理等核心技巧,并针对切片错位、性能优化等常见问题提供了实用解决方案,帮助提升2D游戏资源处理效率。

i0j1k2l3m的博客 646

2.1 Windows VS2019编译FFmpeg 4.4.1

在 Visual Studio 2019 中编译 x264、x265、fdk-aac、lame 和 FFmpeg 需要在 Windows 环境下搭建一个类 Linux 的编译环境,因为这些库主要在 Linux 下开发,源码与 MSVC++ 不完全兼容,基于 MSYS2 和 MinGW 的工具链,并结合 Visual Studio 2019 的编译器(cl.exe)。要安装的组件:下载地址:msys2-installer启动MSYS2: 更换国内源: 参考地址:https://mirrors.ustc.edu

卖猪肉的痴汉 1493

【Unity3D渲染】Unity3d实现Photoshop的各种图层混合模式

Adobe Photoshop图层混合原理、Unity ShaderLab图层混合实现

a310989583的专栏 2434

数字IC后端先进工艺设计实现之TSMC 12nm 6Track工艺数字IC后端实现重点难点盘点

如果你仅仅是跑个先进工艺的flow,不懂先进工艺在数字IC后端实现上的不同点,为何有这样的不同点,针对这些不同之处后端实现阶段如何考虑它们,那么你等于0经验!大家可以针对本文所列的要点进行复盘,如果这些都搞透彻了,你就可以大胆把T12 nm的A72和A55项目写到你的简历中。T12这个工艺也是支持Preferred和Non-prefered两个方向来完成routing的,但是它对它们的最小线宽和最小线间距提出了更严格的要求。所有各个子模块的形状,彼此之间的间距都是有严格的要求。为何要有P48这一层?

weixin_37584728的博客 8331

windows + msys2编译ffmpge

windows + msys2编译ffmpeg

qq_16754667的博客 418

3DMax高效建模与人工智能:一场颠覆传统创作的效率革命

AI与3DMax的结合,不仅是工具效率的升级,更是一场创作范式的革命。从“手动雕刻”到“智能共生”,设计师的角色正从执行者转向决策者。正如网友所言:“AI不是替代人类,而是赋予凡人以神笔。”在这场变革中,唯有拥抱技术、深耕创意,方能在数字艺术的浪潮中立于潮头。参考文献与工具推荐技术原理:火星时代资讯《人工智能和三维建模》工具实测:哔哩哔哩《tyDiffusion 3dsMax应用》9、Tripo AI官网教育案例:原创论文《人工智能技术介入三维动画课程建设》

m0_46478534的博客 3008

FFmpeg4.3.1+h264在windows下编译与VS2017项目集成

FFmpeg4.3.1+h264在windows下如何编译,以及编译之后的内容如何在VS2017项目集成,还有Ubuntu编译FFmpeg与macOS编译FFmpeg

分享计算机基础,android,C/C++,音视频等内容 1401

深入构建加密货币价格预测系统:从数据获取到模型优化的完整指南!

🏆本文收录于「编程与技术实战」专栏,此专栏涵盖了C/C++编程、人工智能、数据结构、机器学习等技术领域的内容,助你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 1276

IsaacSim环境配置之配置本地资产包

摘要:Isaac Sim官方资产文件默认从美国服务器下载速度慢,影响开发体验。建议下载本地资产包并配置本地资源源。具体步骤包括:1) 下载资产包并解压;2) 修改Isaac Sim安装路径下的配置文件,添加本地资产路径配置,包括机器人、人物、环境等各类资源目录。配置完成后可显著提升资产加载速度,改善开发效率。文中提供了详细的配置文件修改示例和截图说明。

拥抱具身智能,昇腾Ascend C 327

FFMPEG Windows编译

编译版本示例ffmpeg4.3.1 所需的工具 1、安装MSYS2 pacman -Syu 更新msys2 pacman -S base-devel(默认全部安装) pacman -S mingw-w64-x86_64-toolchain(默认全部安装) 将set MSYS2_PATH_TYPE=inherit注释取消掉,如果没有,手动加上这一句 2、安装VS2019,勾选C++相关 编译流程: 这里以X64为示例 1、打开VS命令行x86_x64 Cross Tools C...

635

超声波传感器(CHx01) 学习笔记 Ⅲ-API介绍

超声波传感器(CHx01) API介绍

nicole088的专栏 1386

FFmpeg在Windows上编译

一 概述 ffmpeg编译可以用于了解ffmpeg也可以获得自己需要的版本的库 二 编译步骤 首先下载ffmpeg,下载地址 Index of /releases 如果在windows上编译需要实用到msys这个工具,可以模拟linux环境,使用命令行编译。网上搜索msys2就可以了,然后下载安装即可,不复杂 接着我们需要使用qt的mingw编译器来进行编译。将qt自动安装的mingw编译器拷贝到msys环境里面来。 将ffmpeg给拷贝到msys环境里面来,比如我这里的ffmpeg-4.1

qq_34744658的博客 5349

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

ffmpeg4.1 MSVC静态编译

ffmpeg的原生依赖编译,你希望想要的那个dll 机器视觉处理时经常要用到视频和流的处理这就难免要用到ffmpeg这货了,有时调试和部署时官方的二进制dll是g++版的,而且也不方便修改内部的操作和定制。部署有时依赖问题造成冲突程序崩溃。dll过多拷贝掉就悲剧了。 ffmpeg的编译是灾难的 linux下发展过来的依赖链接比较复杂。 下面就将ffmpeg的vc依赖和其他依赖都剔除 编译出单个...

xhamigua 1752

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Window7 64bit上为Android NDK配置FFmpeg4.3.1编译 - MSYS2

参考:https://blog.csdn.net/listener51/article/details/81605472 https://www.msys2.org/ MSYS2安装准备 操作系统为Windows 7 (64 bit) 或更新版本 Download the installer:msys2-x86_64-20200720.exe SHA256 校验码:ad6b58b355a852d9df7c6dc2722d0eca139042cf262ae7363...

fred专栏 1031

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【转】Windows 下用 ndk-r20b/ndk-r22b 编译 FFmpeg 4.2 Android 库

1. FFmepg简介 ffmepg是一个音视频的开发工具。 一套可以用来记录、处理数字音频、视频,并将其转换为流的开源框架。采用 LPL、GPL许可制,提供了录制、转换以及流化音视频的完整解决方案。 1.1 命令行工具概述 下面是一些FFmepg使用时的基本命令,是最基础的内容,我们不用太熟悉FFmpeg里面的代码是如何写的,如我们只需调用: ffmpge -i input.avi -r 24 output.avi 就可以把input.avi中的帧率变成24,输出的output.avi就是24fps的视频

我是一只小小小小鸟 947

[QT+FFMPEG] QT5.9.1的MinGW编译器编译FFMPEG生成LIB库(H264解码)

[QT+FFMPEG] QT5.9.1的MinGW编译器编译FFMPEG生成LIB库(H264解码) 去发现同类优质开源项目:https://gitcode.com/ 本文档提供了一个使用QT5.9.1的MinGW编译器编译FFMPEG(版本4.3)并生成适用于H264解码的LIB库的完整资源包。该资源包包含了msys2、yasm、ffmpeg-4.3.tar.gz源文件以及编译后生成的FFMPE...

gitblog_06707的博客 398

mac上编译ffmpeg并跑examples

编译出来的执行文件在mac_build的bin目录下,若要基于ffmpeg的api开发,则include和lib目录就是所需要的了。而原来的doc/examples中的例子都。要运行ffmpeg的examples,首先编译安装ffmpeg各库,然后再编译运行其examples,在上面的。以上就是基于ffmpeg release/5.1分支编译运行,并跑examples的步骤。至此,examples编译完成,可以跑examples了。下载ffmpeg源码,并切换到分支。

老中医的博客 676

ffmpeg-makefile编译分析

上面的 $(CONFIG_STATIC) 展开后是 yes 或者 no,就是 all-yes ,可以看到,他后面有一堆的 prerequisites ,这一堆 prerequisites 就会导致后面继续去找依赖,找 .o 文件,.o 文件没有找到,就会执行 cl.exe 或者gcc.exe 从 C代码编译出来 .o 文件。是最重要的一个文件,他就是 make 命令的入口,你可以理解为 main() 函数入口函数,第一个 编译命令就是从这里运行的,具体流程是怎样的?= += =的区别》,里面的。

yinshipin007的博客 324
上一篇: 2.1 Windows VS2019编译FFmpeg 4.4.1
下一篇: 2.3 Windows Vcpkg+MSVC编译FFmpeg 4.4.1
卖猪肉的痴汉
博客等级 码龄10年 166粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值