2.1 Windows VS2019编译FFmpeg 4.4.1

windows编译ffmpeg源码(32位库) 阅读详情
AI摘要

本文介绍在Windows环境下,使用VS2019编译FFmpeg 4.4.1的详细步骤。首先需搭建基于MSYS2和MinGW的类Linux编译环境,完成VS2019、MSYS2及基本工具的安装。接着进行x264、x265等库的编译,最后讲解在VSCode中使用FFmpeg动态库和静态库的方法。

一、前期准备

在 Visual Studio 2019 中编译 x264、x265、fdk-aac、lame 和 FFmpeg 需要在 Windows 环境下搭建一个类 Linux 的编译环境,因为这些库主要在 Linux 下开发,源码与 MSVC++ 不完全兼容,基于 MSYS2 和 MinGW 的工具链,并结合 Visual Studio 2019 的编译器(cl.exe)。

1.1 VS2019安装

要安装的组件:

  • 使用C++的桌面开发
  • Visual Studio 扩展开发
  • 英语 语言包
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

1.2 MSYS2安装

下载地址:msys2-installer

启动MSYS2:

# 进入 mingw32环境
msys2_shell.cmd -mingw32

# 进入 mingw64环境
msys2_shell.cmd -mingw64

更换国内源:

# 修改源文件
sed -i "s#mirror.msys2.org/#mirrors.ustc.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*

# 更新源
pacman -Sy

参考地址:https://mirrors.ustc.edu.cn/help/msys2.html

继承终端的环境变量
在这里插入图片描述

使用VS2019的终端启动MSYS2(继承VS2019的变量):
在这里插入图片描述
在这里插入图片描述

1.3 安装基本工具

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:用于检索已安装库的编译和链接信息。

二、编译

所有源码下载:ffmpeg4.4.1源代码

将所有源码解压到msys2家目录下(避免盘符转义问题):
在这里插入图片描述

2.1 设置终端代理

临时设置

# 设置代理
export http_proxy="http://127.0.0.1:11819"
export https_proxy="http://127.0.0.1:11819"

# 取消代理
unset http_proxy
unset https_proxy

永久设置

# 修改~/.bashrc配置文件
vim ~/.bashrc

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

# 使环境变量生效
source ~/.bashrc

2.2 重命名cmake和link(避免与VS2019的冲突)

#  如果使用msys2的cmake,会生成不了NMAKE的构建系统
mv /usr/bin/cmake /usr/bin/cmake_bak

# 要使用VS2019的link,否则容易在编译阶段失败
mv /usr/bin/link.exe /usr/bin/link.exe_bak

2.3 编译x264

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

# 配置(disable-cli是禁止生成命令行工具)
CC=cl ./configure \
	--prefix=$(pwd)/../3rdparty_msvc \
	--enable-static \
	--disable-cli

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

x264.pc文件内容(位置3rdparty_msvc\lib\pkgconfig\x264.pc):

prefix=/home/wujh/3rdparty_msvc
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: x264
Description: H.264 (MPEG4 AVC) encoder library
Version: 0.165.3222
Libs: -L${exec_prefix}/lib -lx264 
Libs.private: 
Cflags: -I${prefix}/include 

2.4 编译x265

# 下载源码
git clone https://bitbucket.org/multicoreware/x265_git.git

# 配置
mkdir tmp && cd tmp
cmake -G "NMake Makefiles" \
-DCMAKE_INSTALL_PREFIX=$(pwd)/../../3rdparty_msvc \
-DCMAKE_CXX_FLAGS="-DWIN32 -D_WINDOWS -W4 -GR -EHsc" \
-DCMAKE_C_FLAGS="-DWIN32 -D_WINDOWS -W4" \
-DENABLE_SHARED=OFF \
-DENABLE_CLI=OFF \
-DSTATIC_LINK_CRT=ON \
../source

# 编译安装
nmake && nmake install

说明:

  • -DWIN32 -D_WINDOWS -W4 -GR -EHsc 以确保与 Windows 环境的兼容性和编译器警告级别。
  • -DENABLE_SHARED=OFF 确保只生成静态库 x265-static.lib,避免生成动态库 libx265.lib 和 x265.dll。
  • -DENABLE_CLI=OFF:禁用 x265 的命令行工具,减少依赖(如标准 I/O 函数可能引入的动态 CRT 符号)。
  • -DSTATIC_LINK_CRT=ON 强化静态 CRT 的使用,确保 x265 的所有对象文件使用 libcmt.lib 而非 msvcrt.lib。

x265.pc文件内容(-lx265-static 强制链接静态库):

prefix=/home/wujh/3rdparty_msvc
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: x265
Description: H.265/HEVC video encoder
Version: 4.1
Libs: -L${libdir} -lx265-static
Libs.private: 
Cflags: -I${includedir}

2.5 编译fdk-aac

注意:2.0.1版提供了Makefile.vc编译文件,2.0.2版本没有提供。

# 下载源码
wget https://github.com/mstorsjo/fdk-aac/archive/refs/tags/v2.0.1.tar.gz

# 编译
nmake -f Makefile.vc

# 安装
nmake -f Makefile.vc install prefix=$(pwd)/../3rdparty_msvc

# 清理
nmake -f Makefile.vc clean

fdk-aac.pc文件内容:

prefix=/home/wujh/3rdparty_msvc
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: Fraunhofer FDK AAC Codec Library
Description: AAC codec library
Version: 2.0.1
Libs: -L${libdir} -lfdk-aac
Cflags: -I${includedir}

2.6 编译lame

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

# 编译64位的库  (默认时编译32位)
nmake -f Makefile.MSVC rebuild MSVCVER=Win64 MACHINE=/machine:x64 OFF=win64

# 清理
nmake -f Makefile.MSVC clean

说明:

  • -f Makefile.MSVC 指定makefile文件
  • rebuild 包括clean all
  • MSVCVER=Win64 表示使用 64 位的 MSVC 编译器进行构建
  • MACHINE=/machine:x64 指示链接器和汇编器生成 64 位目标文件。
  • OFF=win64 指定汇编器的输出格式。

copy_dll.sh文本内容:

#!/bin/sh

# Check if installation directory is provided
if [ -z "$1" ]; then
    echo "Usage: $0 <install_dir>"
    exit 1
fi

INSTALL_DIR="$1"

# Check if output directory exists
if [ ! -d "output" ]; then
    echo "Error: output directory not found."
    exit 1
fi

# Create destination directories
mkdir -p "$INSTALL_DIR/bin"
mkdir -p "$INSTALL_DIR/lib"
mkdir -p "$INSTALL_DIR/include/lame"

# Copy DLLs to bin
cp -v output/*.dll "$INSTALL_DIR/bin/" 2>/dev/null || echo "No DLL files to copy."

# Copy LIBs to lib, excluding libmp3lame-static.lib
cp -v output/*.lib "$INSTALL_DIR/lib/" 2>/dev/null || echo "No LIB files to copy."

# Copy header files to include/lame
cp -v include/* "$INSTALL_DIR/include/lame/" 2>/dev/null || echo "No lame include to copy."

拷贝依赖库到指定目录(因为makefile中没有install指令):

chmod +x copy.sh
./copy_dll.sh $(pwd)/../3rdparty_msvc

将libmp3lame-static.lib重命名为mp3lame.lib:
在这里插入图片描述

2.7 编译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_msvc/lib/pkgconfig:$PKG_CONFIG_PATH

# 配置(--enable-shared编译动态库,--enable-static编译静态库)
./configure \
--prefix=$(pwd)/../ffmpeg_build \
--toolchain=msvc \
--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_msvc/include" \
--extra-ldflags="-LIBPATH:$(pwd)/../3rdparty_msvc/lib"

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

三、vscode使用ffmpeg库

3.1 使用ffmpeg动态库

项目目录结构:

./
├── 3rdparty          # 第三方依赖库
│   └── ffmpeg_4.4.1 
│       ├── include   # 头文件
│       ├── lib       # 静态库库
│       └── share
├── build             # 编译目录
├── CMakeLists.txt    # cmake配置文件
└── 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/avcodec.lib
    ${FFMPEG_DIR}/bin/avdevice.lib
    ${FFMPEG_DIR}/bin/avfilter.lib
    ${FFMPEG_DIR}/bin/avformat.lib
    ${FFMPEG_DIR}/bin/avutil.lib
    ${FFMPEG_DIR}/bin/swresample.lib
    ${FFMPEG_DIR}/bin/swscale.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}"
)

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;
}

生成构建系统的文件(相当于cmake .. 这里省略了一些参数):
在这里插入图片描述

编译:

cd build
cmake --build . --config Release

在这里插入图片描述

3.2 使用ffmpeg静态库

除了CMakeLists.txt文件内容不同,其他的和上面的动态库一样。

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
set(FFMPEG_DIR ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/ffmpeg-4.4.1)
include_directories(${FFMPEG_DIR}/include)
set(FFMPEG_LIBS
    ${FFMPEG_DIR}/lib/libavcodec.a
    ${FFMPEG_DIR}/lib/libavdevice.a
    ${FFMPEG_DIR}/lib/libavfilter.a
    ${FFMPEG_DIR}/lib/libavformat.a
    ${FFMPEG_DIR}/lib/libavutil.a
    ${FFMPEG_DIR}/lib/libswresample.a
    ${FFMPEG_DIR}/lib/libswscale.a
)

# 添加 MSVC 编码支持
if(MSVC)
  add_compile_options("/utf-8")
endif()

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

# 强制使用静态运行时库(ffmpeg静态库使用MT,这里强制使用MT)
target_link_options(${PROJECT_NAME} PRIVATE "/NODEFAULTLIB:LIBCMT")
target_link_libraries(${PROJECT_NAME} PRIVATE ${FFMPEG_LIBS}  ws2_32 bcrypt)
windows上使用vs2019和msys64编译 ffmpeg 4.3 准备环境 准备工具: msys64: msys64 这里我下载的是 msys2-base-x86_64-20190524.tar.xz 解压到任意盘:我的存放目录:d:/ffmpegDebug/msys64 vs2019安装 我们使用x86编译,找到vs的x86 Native Tools 打开 启动msys,注意1处版本,2,3步启动msys msys,在这里运行cl,发现无此命令,这里需更改D:/ffmpegDebug/msys64/msys2_shell.cmd 文件,然后再使用msys2 阅读详情

相关推荐

VS2019编译安装 FFmpeg

文章目录前言准备VS2019配置msys2环境配置添加执行路径添加LIB路径添加INCLUDE路径 前言 在我看了雷神的博客之后,便开始我的ffmpeg开发之旅,然后发现雷神的Windows开发环境教程提供的网络链接竟然被墙了。于是我得开始手动编译ffmpeg静态库之旅 大坑。 于是我在ffmpeg官网里面找到一篇古老的基于MSVC编译ffmpeg教程。下面我将展示如何使用VS2019编译。 准备 Windows10 VS 2019 Community msys2 (无需使用MinGW) 下载完msys

...博客 1584

使用vs2019编译ffmpeg

vs2019编译ffmpeg

xieaoa的博客 1223

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

用 Visual Studio 2019 编译 FFmpeg 简单教程

需要的东西: ●Visual Studio 2019 这个自行解决吧,本人用的是社区版 ●MSYS 环境,去 https://www.msys2.org/ 下载 本人下载的是【msys2-x86_64-20210725.exe】 ● yasm.exe,去http://yasm.tortall.net/Download.html 下载 本人下载的是【yasm-1.3.0-win64.exe】 ● FFmpeg源码,去http://ffmpeg.org/download....

fly4free的专栏 6362

ffmpeg:windows编译及使用(vs2019编译)

本章节记录在Windows上编译ffmpeg的过程及编译过程的问题,并使用编译库编写测试程序验证是否可用。在windows上编译主要使用MSYS2和vs 2019编译器编译ffmpeg,包含32位和64位的编译。

xiaobaiPlayGame的专栏 4649

2.3 Windows Vcpkg+MSVC编译FFmpeg 4.4.1

摘要 本文介绍了使用vcpkg安装ffmpeg 4.4.1的方法。主要内容包括: 查看vcpkg中ffmpeg版本的方法 解析vcpkg.json文件的配置项,如builtin-baseline、dependencies和overrides 列举ffmpeg常用feature的分类表,包括视频/音频编码和其他功能 提供编译安装库的代理设置和VS版本指定方法 文章详细说明了如何通过vcpkg管理ffmpeg版本及其依赖,并给出了配置示例和实用技巧。

卖猪肉的痴汉 1132

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

音视频学习 - windows10 + vs2019环境编译ffmpeg

1、【第一次失败】基于windows11 + vs2022编译,总是卡住不动。2、【第二次失败】基于ubantu进行交叉编译,各种报错,没搞定。3、【第一次成功】基于虚拟机的win10 + vs2019,编译成功。

学以致用 知行合一 2230

vs2019编译ffmpeg源码为静态库动态库【完整步骤、亲测可行】

  ffmpeg大概从两年前版本开始,不再提供编译好的lib,dll,需要开发者自己编译,在linux下编译ffmpeg可能相对简单,windows稍微复杂点,很多文章介绍使用msys2编译,但是绝大多数都是无法正确编译出lib, 而且也只是加上了x264, 然而ffmpeg支持的依赖库很多,用命令行,一个命令写错就编译失败了,本篇博客介绍如何使用vs2019编译最新的ffmpeg源码,可以编译为静态库、动态库,支持x64和win32版本,例如下面是我的vs2019 编译结果: lib库路径   我的编

琅嬛福地 1万+

VS2019环境下编译FFMPEG5.2详细指南

FFMpeg是一个开源的多媒体框架,用于录制、转换数字音视频,并能够将其流化。自2000年由Fabrice Bellard创建以来,FFMpeg迅速发展成为一个功能强大的多媒体处理工具集,被广泛应用于视频编辑、转换、流媒体和播放器等领域。

weixin_33812391的博客 816

COLMAP在Ubuntu下的编译陷阱与实战避坑指南——从环境配置到三维重建全流程

本文详细介绍了在Ubuntu系统下编译和配置COLMAP三维重建工具的全流程,包括环境准备、依赖库安装、CUDA加速配置以及常见编译问题的解决方案。通过实战案例演示了从图像特征提取到稠密重建的完整步骤,并提供了性能优化和问题排查的实用技巧,帮助用户高效完成三维重建任务。

weixin_29003437的博客 1048

【FFmpeg笔记】04-Win10编译ffmpeg4.2.1(For Windows)

上次在 Win10下编译了 Android版 FFmpeg(《13、Win10编译ffmpeg4.2.1(For Android)》) 这一次我们在 Win10下编译 Windows版本 FFmpeg,并且采用 Visual Studio 2019来开发,这样查看源码和调试都比较方便。 所需工具: 1、Windows 10 2、ffmpeg-4.2.1 3、msys2 4、Visual Studio2019 ffmpeg下载地址: https://ffmpeg.org/rel...

eieihihi的专栏 3825

4、设备树的处理(1)

其实到第4节才写设备树的问题完全是因为忘记了,之前有一个版本是先关闭了设备树的,习惯性的认为设备树已经处理完了,失误了!!!前文说过,这个系统是依着荣品的开发板和核心板来的,使用的是5.1内核的SDK。它的SDK里是开发板全功能的,所以设备树也是的。

wsen2012的博客 416

在windows下使用MSVC编译ffmpeg

继承fdk_aac,openssl,x264,x265

weixin_42112444的博客 2784

告别Mac自带终端:iTerm2 + Oh My Zsh 保姆级配置指南(含国内镜像源)

本文提供了一份详细的Mac终端优化指南,涵盖iTerm2、Oh My Zsh和Homebrew的配置流程,特别针对国内用户提供镜像源解决方案。通过安装现代化工具链和优化配置,帮助开发者打造高效、美观的终端工作环境,提升日常开发效率。

weixin_42638178的博客 396

常用元器件使用方法13:物理层接口芯片DP83848的使用方法

介绍: DP83848是以太网物理层接口芯片,具有多种型号,从便于焊接角度考虑LQFP-48封装较为合适,采用LQFP-48封装的芯片,有2种型号,分别为DP83848I和DP83848C,如下图所示。 其主要区别是使用温度不同,如下图所示。 这2种芯片芯片网上均有销售,按理说DP83848C价格应该更加便宜,实际不然,DP83848I的价格低于DP83848C,考虑或与芯片的出货量...

snmplink的博客 1万+

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

Windows下使用MSYS2和VS编译FFmpeg

搬砖 4477

华为OD机试 - 不含101的数(Python/JS/C/C++ 双机位C卷 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。小明在学习二进制时,发现了一类不含101的数,也就是:现在给定一个正整数区间,请问这个区间内包含了多少个不含101的数?输入的唯一一行包含两个正整数。输出的唯一一行包含一个整数,表示在区间内一共有几个不含101的数。8 1668 → “1000”

学Java,找哪吒 1249

使用VS2019编译ffmpeg

首先要准备ffmpeg的编译环境,在Windows环境下,无法直接编译ffmpeg,需要msys或mingw来提供ffmpeg的运行库,这里以msys为例 下载msys,到https://www.msys2.org/,选择最新版本下载,并安装,(本例安装目标为e:\ffmpeg\msys); 更换msys更新源,转到E:\ffmpeg\msys64\etc\pacman.d目录下,修改站点镜像文件 : mirrorlist.mingw32文件在最前面增加: Server = https://mirro

leither的博客 2236

29、机器人动力学中的欧拉 - 拉格朗日与哈密顿力学

本文深入探讨了机器人动力学中的欧拉-拉格朗日与哈密顿力学框架,涵盖向量流形上的辛结构、哈密顿方程的几何代数表述、泊松括号与积分不变量等核心概念。文章详细推导了机电系统中拉格朗日量与哈密顿量的构建方法,并结合牛顿-欧拉算法给出了局部哈密顿量和动量导数的迭代计算流程,适用于多关节机器人的动力学建模与控制设计。通过应用案例展示了理论在双关节机器人手臂中的实际运用,最后展望了其在优化控制、鲁棒性提升及智能融合方向的潜力。

perl8的博客 129

【科研数据获取】根据Excel表个中的企业/公司信息批量获取经纬度坐标,并进行地图可视化

批量获取企业/公司的经纬度坐标,并进行地图可视化1 需求2 实现途径3 需求逐步实现 1 需求 在做项目的时候,老板或者项目答辩时候甲方最喜欢看到的就是可视化结果,尤其是涉及到地图可视化。很多时候会遇到企业/公司的数据,想要做地图可视化,必不可少的就是要获取它们具体地址:第一种就是像查户口一样精准一下具体的城镇街道,还有一种就是经纬度信息,前一种属于文字内容往往用于管理方面,第二种数字信息多用于数据处理与分析。 2 实现途径 获取地理信息数据,自然需要使用到地图的功能,这里直接采用百度地图的拾取坐标系统,

lys_828的博客 2336

VS2019+msys2编译ffmpeg

最近在学习音视频相关开发技术。第一步是搭建开发环境,通过参考网上查到的资料结合实际情况,最终将ffmpeg编译通过,并支持x264、x265、fdk-aac。在这里将具体的操作过程记录下来,方便以后参考。 ####1、下载VS2019社区版本、下载msys64位版本的可执行文件进行安装。 https://www.msys2.org msys2官网 https://visualstudio.microsoft.com/zh-hans/downloads/ VS2019下载地址 ####2、通过vs2019.

北极星的技术笔记 1089

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

用vs2017编译ffmpeg 4.0.3详细过程,并可调试

1. 用vs2017编译ffmpeg 4.0.3,并可调试 1.1  MSYS 使用MSYS 1.0和2.0在这里都成功了,建议使用MSYS 2.0的方案。这个文章,已经放到git上面了,并开源了https://github.com/passer2019/xmplayer 1.2 计划构造一个android studio的工程,目标是可以调试C语言代码部分。 运行环境:ubuntu 18....

过客2019 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【FFmpeg】windows 使用 vs2019编译 FFmpeg - ShiftMediaProject

FFmpeg的源码如果能够使用 vs2019单步调试,这将是一件美事,极大方便阅读和调试整个 FFmpeg项目。

记录分享自己的流媒体开发经验 5174

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

windows 编译ffmpeg64位

windows 编译ffmpeg64位1. 下载ffmepg安装包2. 下载Mingw643. 下载msys24. 更改配置5. 编译ffmpeg 测试环境: win10 + VS2019 最新版ffmpeg4.3未尝试编译 不过应该也可以 32位编译也可参考本方法 1. 下载ffmepg安装包 下载地址:http://ffmpeg.org/ 自己选择一个文件夹下解压到这个文件夹中 我下载的位置 2. 下载Mingw64 参考: MinGW-w64 离线安装过程记录 下载安装并配置环境变量 例如我的

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值