FFmpeg 处理音视频文件的常用方法

简介: FFmpeg的学习与使用

FFmpeg的工程化方案

音频文件和视频文件的转码处理一般称为多媒体处理,华为云也有相应的媒体处理服务——Media Processing Center,简称MPC,是一种多媒体数据处理服务,基于华为云云计算服务构建,解决客户自建音视频处理能力不可避免的投入成本高昂、技术门槛高等问题,帮助客户专注于业务能力构建,快速交付上线。

1. FFmpeg对音频处理的学习

1.1 音频中常见的参数说明

-aq quality 指定输出音频的质量

-ar rate 指定音频采样率 (单位 Hz)

-ac channels 指定音频声道数量

-an 输出的文件不带音频

-acodec codec 指定输出的音频编码类型('copy' to copy stream)

-vol volume 指定音频的音量 (256=normal)

-af filter_graph 指定音效

-ab 指定输出音频的比特率

1.2 重要参数及其特性说明

2.FFmpeg对视频处理的学习

2.1 视频中常见的参数说明

-r rate 指定帧率 (单位Hz )

-s size 指定分辨率 (WxH)

-aspect aspect 指定宽高比(4:3, 16:9 or 1.3333, 1.7777)

-vn 指定输出文件不包含视频

-vcodec codec 指定输出视频的编码格式 ('copy' to copy stream)

-vf filter_graph 指定视频滤镜

-ab bitrate 指定音频比特率 (please use -b:a)

-b bitrate 指定比特率,若指定该值为平均比特率 (please use -b:v)

-vb 指定视频比特率

2.2 重要参数及其特性说明

3.FFmpeg转码(包含音频以及视频转码)

转码一般涉及这样一些概念:

  1. 容器格式的转换,比如MP4转换为MOV
  2. 容器中音视频数据编码方式转换,比如H264编码转换成MPEG4编码,MP3换为AAC
  3. 音视频码率的转换,比如4M的视频码率降为2M
  4. 视频分辨率的转换,比如1080P视频变为720P,音频重采样等等

转码流程

音频转码命令如下

ffmpeg -i 音频名称.mp3 -acodec aac -ab 3000 -ac 1 -ar 8000 output.aac

视频转码命令如下

ffmpeg -i 视频的名称.mp4 -vcodec h263 -b:v256000 -r 15 -s 352x288 —acodec copyoutput.ts

相关文章
|
8月前
|
编解码
项目实战——Qt实现FFmpeg音视频转码器(二)
项目实战——Qt实现FFmpeg音视频转码器(二)
147 0
|
8月前
|
编解码 编译器
项目实战——Qt实现FFmpeg音视频转码器(一)
项目实战——Qt实现FFmpeg音视频转码器(一)
227 0
|
8月前
ffmpeg 命令提取音视频数据-ffmpeg导出h265裸流-ffmpeg导出h264裸流
ffmpeg 命令提取音视频数据-ffmpeg导出h265裸流-ffmpeg导出h264裸流
201 0
|
5月前
|
Web App开发 5G Linux
FFmpeg开发笔记(四十四)毕业设计可做的几个拉满颜值的音视频APP
一年一度的毕业季来临,计算机专业的毕业设计尤为重要,不仅关乎学业评价还积累实战经验。选择紧跟5G技术趋势的音视频APP作为课题极具吸引力。这里推荐三类应用:一是融合WebRTC技术实现视频通话的即时通信APP;二是具备在线直播功能的短视频分享平台,涉及RTMP/SRT等直播技术;三是具有自定义动画特效及卡拉OK歌词字幕功能的视频剪辑工具。这些项目不仅技术含量高,也符合市场需求,是毕业设计的理想选择。
101 6
FFmpeg开发笔记(四十四)毕业设计可做的几个拉满颜值的音视频APP
|
4月前
|
Android开发 计算机视觉 C++
FFmpeg开发笔记(五十一)适合学习研究的几个音视频开源框架
音视频编程对许多程序员来说是一片充满挑战的领域,但借助如OpenCV、LearnOpenGL、FFmpeg、OBS Studio及VLC media player等强大的开源工具,可以降低入门门槛。这些框架不仅覆盖了计算机视觉、图形渲染,还包括多媒体处理与直播技术,通过多种编程语言如Python、C++的应用,使得音视频开发更为便捷。例如,OpenCV支持跨平台的视觉应用开发,FFmpeg则擅长多媒体文件的处理与转换,而VLC media player则是验证音视频文件质量的有效工具。
107 0
FFmpeg开发笔记(五十一)适合学习研究的几个音视频开源框架
|
4月前
用ffmpeg提取合并音视频
用ffmpeg提取合并音视频
|
6月前
|
达摩院 语音技术 异构计算
语音识别-免费开源的语音转文本软件Whisper的本地搭建详细教程,python版本是3.805,ffmpeg是专门处理音视频的,ffmpeg的下载链接,现在要求安装python和ffmpeg
语音识别-免费开源的语音转文本软件Whisper的本地搭建详细教程,python版本是3.805,ffmpeg是专门处理音视频的,ffmpeg的下载链接,现在要求安装python和ffmpeg
|
7月前
|
存储 编解码 Linux
rodert教你学FFmpeg实战这一篇就够了 - 音视频处理入门篇
rodert教你学FFmpeg实战这一篇就够了 - 音视频处理入门篇
75 1
|
6月前
|
C#
C#进程调用FFmpeg操作音视频
因为公司需要对音视频做一些操作,比如说对系统用户的发音和背景视频进行合成,以及对多个音视频之间进行合成,还有就是在指定的源背景音频中按照对应的规则在视频的多少秒钟内插入一段客户发音等一些复杂的音视频操作。本篇文章主要讲解的是使用C#进程(Process)调用FFmpeg.exe进行视频合并、音频合并、音频与视频合并成视频这几个简单的音视频操作。
|
8月前
|
存储 缓存 调度
FFmpeg开发笔记(十九)FFmpeg开启两个线程分别解码音视频
《FFmpeg开发实战》第10章示例playsync.c在处理音频流和视频流交错的文件时能实现同步播放,但对于分开存储的格式,会出现先播放全部声音再快速播放视频的问题。为解决此问题,需改造程序,增加音频处理线程和队列,以及相关锁,先将音视频帧读入缓存,再按时间戳播放。改造包括声明新变量、初始化线程和锁、修改数据包处理方式等。代码修改后在playsync2.c中,编译运行成功,控制台显示日志,SDL窗口播放视频并同步音频,证明改造有效。
137 0
FFmpeg开发笔记(十九)FFmpeg开启两个线程分别解码音视频