号外:《黑客攻防入门学习课程》现已推出,喜欢的朋友请关注!!!

利用 FFmpeg开源软件对音视频进行编/解/转码操作(笔记)

Python 泰泰 3033℃ 0评论

【导读】

最近在做一个基于微信语音的物联网控制设备,但在做着做着发现从微信中提取的语音是 mp3 格式的文件,但相关的 语音识别 平台只支持 pcm、wav、amr 这3中音频格式,无奈要进行音频转码处理。经过查找发现了 FFmpeg 这个软件可以解决这个转码的问题,而且非常的强大,设计的领域也甚是广泛,为了解决项目需要,于是便学习了一阵子,以下是小编 学习、收集、整理的一些笔记!

FFmpeg_img

一、ffmpeg 是什么东东?

有事上官方需求帮助肯定没错,以下是 ffmpeg 的官网地址:

官网地址是:https://www.ffmpeg.org/

顺带附上Github项目地址:https://github.com/FFmpeg/FFmpeg

下面引用wiki百科对 ffmpeg 的解释:

FFmpeg 是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec ─这是一个用于多个项目中音频和视频的解码器库,以及libavformat —— 一个音频与视频格式转换库。

二、谁在用 FFmpeg ?

  • 使用FFMPEG作为内核视频播放器:Mplayer,ffplay,射手播放器,暴风影音,KMPlayer,QQ影音...
  • 使用FFMPEG作为内核的Directshow Filter:ffdshow,lav filters...
  • 使用FFMPEG作为内核的转码工具:ffmpeg,格式工厂...

三、主要有哪些组件

FFmpeg 项目主要由以下几部分组成:

  • FFmpeg 视频文件转换命令行工具,也支持经过实时电视卡抓取和编码成视频文件;
  • ffplay 用 SDL和FFmpeg库开发的一个简单的媒体播放器;
  • ffserver 基于HTTP、RTSP用于实时广播的多媒体服务器.也支持时间平移;
  • libavformat 一个包含了所有的普通音视格式的解析器和产生器的库;
  • libavcodec 一个包含了所有FFmpeg音视频编解码器的库。为了保证最优性能和高可复用性,大多数编解码器从头开发的.

四、如何安装 FFmpeg 软件

FFmpeg 支持 Windows、Linux 和 Mac OS等多种操作系统的安装调试与使用,本文主要介绍其在Windows下的安装过程:

下载Windows版本的 FFmpeghttp://ffmpeg.zeranoe.com/builds/

FFmpeg_version

说明:FFmpeg 分为3个版本,分别是:Static、 Shared、 Dev 版

  • 前两个版本可以直接在命令行中使用,其均包含了 ffmpeg.exe,ffplay.exe,ffprobe.exe 这3个exe软件。
  • Static版:其exe体积较大,那是因为相关的dll都已经编译进exe里面去了。
  • Shared版:其exe的体积相对小很多,那是因为它们运行的时候还需要到相关的dll中调用相应的功能。
  • Dev版:主要用于程序开发,里面包含了xxx.lib库文件以及xxx.h头文件

五、FFmpeg 的简单使用

(1) ffmpeg.exe

功能:主要完成各种音频、视频的转码

使用演示:

功能-1:将视频 input.avi 转码成 output.ts,并设置其转码后视频的码率为640kbps。

ffmpeg -i input.avi -b:v 640k output.ts

具体用法参考: ffmpeg 参数中文详细解释
详细的使用说明(英文):http://ffmpeg.org/ffmpeg.html

功能-2:将音频 aidemo.mp3 转码成 16k.pcm,并设置转化后的音频采样率为 16bits 、深的单声道文件

ffmpeg -y  -i aidemo.mp3  -acodec pcm_s16le -f s16le -ac 1 -ar 16000 16k.pcm

说明:

// -acodec pcm_s16le pcm_s16le 16bits 编码器
// -f s16le 保存为16bits pcm格式
// -ac 1 单声道
// -ar 16000 16000采样率

(2) ffplay.exe

功能:主要用于播放音频、视频的应用程序

使用演示:

实现功能:播放 test.avi 视频文件

ffplay test.avi

具体的使用方法可以参考:ffplay 的快捷键以及选项
详细的使用说明(英文):http://ffmpeg.org/ffplay.html

(3)ffprobe.exe

功能:主要用于查看文件的格式

详细的使用说明(英文):http://ffmpeg.org/ffprobe.html

六、其它参考资料

FFmpeg 官方文档
FFmpeg 使用小记
FFmpeg 视音频编解码零基础学习方法
如何在Windows上安装 FFmpeg 程序
ffmpeg教程 (一) 基本安装

转载请注明:泰泰博客 » 利用 FFmpeg开源软件对音视频进行编/解/转码操作(笔记)

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址(选填)