首页 > 系统相关 >FFmpeg开发笔记(十三)Windows环境给FFmpeg集成libopus和libvpx

FFmpeg开发笔记(十三)Windows环境给FFmpeg集成libopus和libvpx

时间:2024-04-13 11:55:18浏览次数:27  
标签:enable FFmpeg Windows libvpx -- usr libopus

​MP4是最常见的视频封装格式,在《FFmpeg开发实战:从零基础到短视频上线》一书的“1.2.3  自行编译与安装FFmpeg”介绍了如何给FFmpeg集成x264和x265两个库,从而支持H.264和H.265两种标准的编解码。

视频的封装格式除了悠久的MP4和ASF之外,还有较新的WebM格式,该格式的音频编码主要采用Opus,视频编码采用VP8或者VP9。其中Opus的编解码库为libopus,VP8和VP9的编解码库为libvpx。前文介绍了在Linux环境给FFmpeg集成libopus和libvpx,接下来介绍如何在Windows环境给FFmpeg集成libopus和libvpx。

1、安装libopus

Opus是一种在互联网上处理语音交互和音频传输的编码标准,该标准的编解码器叫做libopus,它的安装步骤说明如下。
(1)到https://ftp.osuosl.org/pub/xiph/releases/opus/下载最新的libopus源码,比如2023年4月发布的libopus-1.4,该版本的源码下载地址是https://ftp.osuosl.org/pub/xiph/releases/opus/opus-1.4.tar.gz。执行下面命令解压下载好的压缩包:

tar xzvf opus-1.4.tar.gz
cd opus-1.4

(2)进入解压后的libopus目录,运行下面命令配置libopus。

./configure --prefix=/usr/local/libopus

(3)运行下面命令编译libopus。

make

(4)编译完成后,运行下面命令安装libopus。

make install

(5)给环境变量PKG_CONFIG_PATH添加libopus的pkgconfig路径,也就是在/etc/profile文件末尾添加如下一行内容:

export PKG_CONFIG_PATH=/usr/local/libopus/lib/pkgconfig:$PKG_CONFIG_PATH

然后执行下面命令重新加载环境变量:

source /etc/profile

执行下面命令查看当前的环境变量,发现PKG_CONFIG_PATH的修改已经奏效。

env | grep PKG_CONFIG_PATH

2、安装libvpx

libvpx是视频编码标准VP8和VP9的编解码器,它的安装步骤说明如下。
(1)到https://github.com/webmproject/libvpx/tags下载最新的libvpx源码,比如2023年9月发布的libvpx-1.13.1,该版本的源码下载地址是https://github.com/webmproject/libvpx/archive/refs/tags/v1.13.1.tar.gz。执行下面命令解压下载好的压缩包:

tar zxvf libvpx-1.13.1.tar.gz
cd libvpx-1.13.1

(2)进入解压后的libvpx目录,运行下面命令配置libvpx。(如果不加--enable-pic,在编译FFmpeg时会报错“relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC”)

./configure --prefix=/usr/local/libvpx --enable-pic --disable-examples --disable-unit-tests

(3)运行下面命令编译libvpx。

make

(4)编译完成后,运行下面命令安装libvpx。

make install

(5)给环境变量PKG_CONFIG_PATH添加libvpx的pkgconfig路径,也就是在/etc/profile文件末尾添加如下一行内容:

export PKG_CONFIG_PATH=/usr/local/libvpx/lib/pkgconfig:$PKG_CONFIG_PATH

然后执行下面命令重新加载环境变量:

source /etc/profile

执行下面命令查看当前的环境变量,发现PKG_CONFIG_PATH的修改已经奏效。

env | grep PKG_CONFIG_PATH

3、重新编译FFmpeg

由于FFmpeg默认未启用opus和vpx,因此需要重新配置FFmpeg,标明启用opus和vpx,然后重新编译安装FFmpeg。FFmpeg的Windows环境完整编译过程参见《FFmpeg开发实战:从零基础到短视频上线》一书的“8.1  Windows环境编译FFmpeg”,详细的启用步骤说明如下。
(1)确保下列路径均已加载至环境变量PKG_CONFIG_PATH

export PKG_CONFIG_PATH=/usr/local/libopus/lib/pkgconfig:$PKG_CONFIG_PATH
export PKG_CONFIG_PATH=/usr/local/libvpx/lib/pkgconfig:$PKG_CONFIG_PATH

(2)回到FFmpeg源码的目录,执行以下命令重新配置FFmpeg,主要增加启用libopus和libvpx。(增加了选项--enable-libopus --enable-libvpx)

./configure  --prefix=/usr/local/ffmpeg --arch=x86_64 --enable-shared --disable-static --disable-doc --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libdavs2 --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libfreetype --enable-sdl2 --enable-libvorbis --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-libopus --enable-libvpx --enable-iconv --enable-zlib --extra-cflags='-I/usr/local/lame/include -I/usr/local/libogg/include -I/usr/local/amr/include' --extra-ldflags='-L/usr/local/lame/lib -L/usr/local/libogg/lib -L/usr/local/amr/lib' --cross-prefix=x86_64-w64-mingw32- --target-os=mingw32

(3)运行下面命令编译FFmpeg。

make clean
make -j4

(4)执行下面命令安装FFmpeg。

make install
mv /usr/local/ffmpeg/bin/*.lib /usr/local/ffmpeg/lib/
cp /usr/local/libopus/bin/libopus-0.dll /usr/local/ffmpeg/bin

(5)运行以下命令查看FFmpeg的版本信息。

ffmpeg -version

查看控制台回显的FFmpeg版本信息,找到“--enable-libopus --enable-libvpx”,说明FFmpeg正确启用了新增的第三方库libopus和libvpx。​

标签:enable,FFmpeg,Windows,libvpx,--,usr,libopus
From: https://www.cnblogs.com/aqi00/p/18105744

相关文章

  • C# 给windows服务传参
    示例,windows服务publicpartialclassMyService:ServiceBase{publicMyService(){InitializeComponent();}protectedoverridevoidOnStart(string[]args){//这里的args数组包含了传递给服务的参数if(args.Lengt......
  • Windows 软件管理工具 Scoop 的使用
    Windows软件管理工具Scoop的使用卸载Scoop打开PowerShell输入scoopuninstallscoop输入scooplist查看是否卸载成功安装Scoop打开PowerShell查看PowerShell版本Get-Host|Select-ObjectVersion确保安装PowerShell5(或更高版本,包括PowerShell核......
  • Veritas Enterprise Vault 15.0 (Windows) - 自动捕获数据并归档信息
    VeritasEnterpriseVault15.0(Windows)-自动捕获数据并归档信息信息归档解决方案,确保合规与有效的信息治理请访问原文链接:VeritasEnterpriseVault15.0(Windows)-自动捕获数据并归档信息,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgEnterpriseVault独......
  • windows引导修复纪录
    进入windows,选择高级启动/疑难解答/命令提示符进入分区工具diskpart列出所有硬盘listdisk选择硬盘selectdisk0列出所有分区,找到EFI分区listpart查看分区号listvol选择分区(EFI分区)selectvolume2指定EFI分区盘符为Kassignletter=K:退出diskpartexi......
  • windows mstsc 远程连接Ubuntu
    通常使用windows的远程桌面连接功能,可以连接Windows机器,但能不能连接Linux呢,答案是可以的。近日尝试用mstsc连接Ubuntu系统,连接成功了,小记一下。本人Linux安装方式:VMWareWorkstation,版本:Ubuntu18.04方法如下:登录Ubuuntu桌面环境,打开浏览器,登录网站下载《xrdp-installer-1.......
  • windows下的重装是最笨也是最简单的重复解决问题的方法,解决goldendict的qt库链接问题
    goldendict✔goldendict:symbollookuperror:goldendict:undefinedsymbol:_ZN10QAudioSink12stateChangedEN6QAudio5StateE,versionQt_6~yay-Sgoldendict......
  • 在Windows安装javaSE8
    1.下载安装官网Java1.8_31.zip2.配置环境变量创建.bat文件,写入以下内容后执行。自动配置环境变量@echooff%1mshtavbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c%~s0::","","runas",1)(window.close)&&exit......
  • Windows开机启动指定程序
    启动文件夹要使Windows在启动时自动运行特定程序,可以按照以下步骤进行操作:创建快捷方式:首先,找到要在启动时运行的程序的可执行文件(通常是.exe文件),然后右键单击该文件,并选择“创建快捷方式”。将快捷方式复制到启动文件夹:将创建的快捷方式复制到Windows启动文件夹中。可以......
  • Windows 10 专业工作站版:Win10中最强大的版本?
    Windows10提供了多个版本,满足不同用户的需求。其中,Windows10专业工作站版作为面向专业用户的旗舰版本,在性能、功能和安全方面都拥有显著优势,堪称Win10家族中最强大的版本。强悍的硬件支持Windows10专业工作站版支持更高的硬件配置,包括:最多支持4个CPU,而其他版本最多仅......
  • windows和Linux下路径表示
    reference一、\(Windows\)下的路径表示由于\(DOS\)原因,过去的\(windows\)路径表示采用反斜杠\,而路径字符串由于反斜杠的转义字符,因此需要用双反斜杠\\。\(Windows\)的根据路为磁盘号,后面跟:path如今的\(Windows\)内核在处理路径时同时支持正斜杠和反斜杠。但有时候......