音频转码-FFmpeg组件安装
为什么需要安装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
解压后只需要文件夹bin/ffmpeg.exe 文件即可
将ffmpeg.exe文件复制到本地磁盘下,这里将放到C:\Program Files\ffmpeg下
环境变量方式使用
添加C:\Program Files\ffmpeg到环境变量
在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 } }