音频转码-FFmpeg组件安装

作者:动易软件 来源:本站原创 点击数: 发布时间:2023年04月19日

为什么需要安装FFmpeg

原音频转码组件NAudio依赖了太多的WindowsApi(调用系统组件进行转码),对于不开源的音频格式在Linux下会报:Unable to load shared library 'mfplat.dll' or one of its dependencies. 相关的格式有 m4a , wav,flac, ape等。因此将组件更换为FFmpeg.Net,FFmpeg.Net需要依赖第三方组件FFMpeg,因此系统中需要安装FFMpeg,或者指定FFMpeg的路径。

FFMpeg:FFmpeg即是一款音视频编解码工具,同时也是一组音视频编码开发套件,作为编码开发套件,它为开发者提供了丰富的音视频处理的调用接口。FFmpeg提供了多种媒体格式的封装和解封装,包括多种音视频编码、多种协议的流媒体、多种多彩格式转换、多种采样率转换、多种码率转换等;FFmpeg框架提供了多种丰富的插件模块,包含封装与解封装的插件、编码与解码的插件等。

配置文件说明

Configuration/mediaconverter.json

{
  "MediaConverter": {
    "EnableVideoConvert": false,
    "Engine": "",
    "AudioBitRate": 192
  }
}

EnableVideoConvert

bool

仅对视频转码生效,是否启用视频转码

Engine

string

仅对音频转码生效,ffmepg路径,为空使用环境变量值

AudioBitRate

int

仅对音频转码生效,音频比特率

FFmpeg安装

官网地址

windows

下载地址:https://www.gyan.dev/ffmpeg/builds/

找到:release builds栏下载最新版本 https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.7z

1

解压后只需要文件夹bin/ffmpeg.exe 文件即可

2

将ffmpeg.exe文件复制到本地磁盘下,这里将放到C:\Program Files\ffmpeg下

3

环境变量方式使用

添加C:\Program Files\ffmpeg到环境变量

4

在cmd/powershell中能够输入ffmpeg,能够出现版本信息则安装成功

ffmpeg version 5.0.1-essentials_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 11.2.0 (Rev7, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
  libavutil      57. 17.100 / 57. 17.100
  libavcodec     59. 18.100 / 59. 18.100
  libavformat    59. 16.100 / 59. 16.100
  libavdevice    59.  4.100 / 59.  4.100
  libavfilter     8. 24.100 /  8. 24.100
  libswscale      6.  4.100 /  6.  4.100
  libswresample   4.  3.100 /  4.  3.100
  libpostproc    56.  3.100 / 56.  3.100

配置文件使用方式

{
  "MediaConverter": {
    "EnableVideoConvert": false,
    "Engine": "C:\\Program Files\\ffmpeg\\ffmpeg.exe",
    "AudioBitRate": 192
  }
}

Linux

Debian系列

apt install ffmpeg

Redhat系列

yum install ffmpeg

二进制文件安装

二进制文件下载地址

wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
tar -vxf ffmpeg-release-amd64-static.tar.xz
mv ffmpeg-5.0.1-amd64-static  /usr/local/bin/ffmpeg-static
ln -s /usr/local/bin/ffmpeg-static/ffmpeg /usr/local/bin/ffmpeg

/url/local/bin 一般是默认的环境变量,可以直接使用。

也可以使用配置文件方式

{
  "MediaConverter": {
    "EnableVideoConvert": false,
    "Engine": "/usr/local/bin/ffmpeg-static/ffmpeg",
    "AudioBitRate": 192
  }
}