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

相关文章
|
29天前
|
编解码
项目实战——Qt实现FFmpeg音视频转码器(二)
项目实战——Qt实现FFmpeg音视频转码器(二)
27 0
|
29天前
|
编解码 编译器
项目实战——Qt实现FFmpeg音视频转码器(一)
项目实战——Qt实现FFmpeg音视频转码器(一)
38 0
|
4月前
|
Windows
【音视频 学习 ffmpeg】环境准备
【音视频 学习 ffmpeg】环境准备
|
5月前
|
存储 C语言 Windows
音视频使用qt测试ffmpeg接口时无法运行
音视频使用qt测试ffmpeg接口时无法运行
50 0
|
4月前
ffmpeg 命令提取音视频数据-ffmpeg导出h265裸流-ffmpeg导出h264裸流
ffmpeg 命令提取音视频数据-ffmpeg导出h265裸流-ffmpeg导出h264裸流
71 0
|
29天前
|
编解码 API 开发工具
FFmpeg获取音视频流信息
FFmpeg获取音视频流信息
12 1
FFmpeg获取音视频流信息
|
2月前
|
存储 编解码 算法
【ffmpeg音视频同步】解决ffmpeg音视频中多线程之间的数据同步问题
【ffmpeg音视频同步】解决ffmpeg音视频中多线程之间的数据同步问题
41 2
|
2月前
|
存储 缓存 算法
ffmpeg 音视频同步进阶 剖析:ffmpeg音视频同步中特殊情况处理策略
ffmpeg 音视频同步进阶 剖析:ffmpeg音视频同步中特殊情况处理策略
40 0
|
2月前
|
存储 算法 前端开发
深入理解FFmpeg音视频编程:处理封装、解码、播放 队列与回放策略
深入理解FFmpeg音视频编程:处理封装、解码、播放 队列与回放策略
29 0
|
2月前
|
存储 算法 API
音视频同步的方法:深入探索基于FFmpeg的音视频同步策略(三)
音视频同步的方法:深入探索基于FFmpeg的音视频同步策略
45 1