基于WSL用MSVC编译ffmpeg7.1

在windows平台编译FFmpeg,网上的大部分资料都是推荐用msys2+mingw进行编译。在win10平台,我们可以采用另一种方式,即wsl+msvc 实现window平台的ffmpeg编译。

下面将以vs2022+ubuntu22.04 为例,介绍此方法

0、前期准备

  • 安装vs2022 (根据自己喜好,也可以安装其他版本的vs)

  • 安装wsl 及 linux子系统 (我选用了ubuntu22.04,可以根据喜好安装其他linux版本)

  • 下载ffmpeg代码 : 下载自己需要的ffmpeg版本的代码。 我选择了最新版本v7.1.1

  • 编译ffmpeg编译脚本: ffmpeg 的configure命令参数较多,可以提前编译脚本sh脚本,避免在命令行手动输入。

    bash 复制代码
    #!/bin/bash
    
    ARCH=x86_64
    
    PREFIX=$(pwd)/win/x64
    
    function build_android
    {
    
    ./configure \
    --prefix=$PREFIX \
    --enable-shared \
    --disable-static \
    --disable-debug \
    --disable-x86asm \
    --enable-gpl   \
    --enable-small \
    --enable-neon  \
    --enable-d3d12va \
    --enable-dxva2 \
    --disable-postproc \
    --disable-doc \
    --disable-avdevice \
    --disable-symver \
    --disable-outdevs \
    --disable-indevs  \
    --disable-vulkan \
    --arch=$ARCH \
    --toolchain=msvc
    
    make clean
    
    echo "============================ configure android windows x64 success =========================="
    
    }
    
    build_android

1、 准备编译环境

1.1 通过命令行方式进入 msvc编译环境。我选择了 x64 版本编译

启动后可以看到, msvc的编译路径已经添加到path中。

1.2 在msvc编译环境中启动wsl,此操作可以避免在linux系统中手动搭建msvc编译链。

wsl启动后,可以看到msvc的编译路径已经包含到ubuntu系统的path中。

2、运行编译脚本,编译ffmpeg

如上图,执行make -j xx 编译ffmpeg。执行make命令时,由于编码差异可能会出现乱码,

可以重复步骤1重新打开一个wsl窗口,然后执行make -j xx,则可以正常显示中文。

出现上述错误的原因是因为msvc的中文输出编码为GB2312, linux中编译环境中编码为UTF8,将fftools/opt_common.c用gb2312打开后,用utf8重新保存即可。

3、执行make install 将ffmpeg安装到指定目录。 (如脚本中PREFIX指定的目录)

相关推荐
ι:4 小时前
NUC12 Pro 安装 Ubuntu 24.04 LTS 详细教程
linux·windows·ubuntu·nuc
YCOSA20254 小时前
微软宣布将于10月7日举行Windows与Surface发布会,聚焦“Windows、NVIDIA RTX Spark、Surface,以及更广泛PC生态”
windows
Source.Liu4 小时前
【A11】 labelprinter(Tauri 版)新建步骤
windows·rust
Punchline2786 小时前
解决 Windows 环境变量 Path 设置时提示“字符太长”的完整指南
windows·环境变量·path
chushiyunen6 小时前
claude code笔记(二)、claude桌面端(内网不好用)
windows
d_benhua7 小时前
以太网测试步骤
windows
冯一川7 小时前
DeepSeek在Windows系统上部署
windows·python
解道Jdon8 小时前
JDK 27发布:紧凑对象头、G1默认、量子安全TLS
ide·windows·git·svn·eclipse·github·visual studio
fengjianhua122511 小时前
免费PDF转换工具哪个转换效果最好?磨针PDF转换准确率评测
windows
TimberWill1 天前
windows终端分屏设置
windows