fengfeilong0529 / Android-Notes

Ask myself one question at least every day!
0 stars 1 forks source link

FFmpeg学习 #51

Open fengfeilong0529 opened 4 years ago

fengfeilong0529 commented 4 years ago

官网:http://ffmpeg.org/

简介:

FFmpeg 即是一款音视频编解码工具,同时也是一组音视频编解码开发套件,为开发者提供了丰富的音视频处理调用接口。 FFmpeg中的“FF”指的的是 “ Fast Forward ”,mpeg则是动态图像专家组(MPEG)

常用功能:

音视频编解码、音视频格式转换、滤镜、添加水印、视频压缩、视频码率帧率调节、视频拼接、添加字幕、画中画效果等

部分参考blog:

Android框架:

常用命令:

以下简单总结下ffmpeg命令参数: -i 指定要转换视频的源文件 -s 视频转换后视频的分辨率 -vcodec 视频转换时使用的编解码器(-codecs) -r 视频转换换的桢率(默认25桢每秒) -b 视频转换换的bit率 -ab 音频转换后的bit率(默认64k) -acodec 制度音频使用的编码器(-codecs) -ac 制定转换后音频的声道 -ar 音频转换后的采样率 -an 禁用音频 -vn 禁用视频 -acodec copy 复制音频,不转码 -vcodec copy 复制视频,不转码

基本参数 -y 覆盖视频 -n 不覆盖视频 -i 文件输入选项 -vcodec 在-i前时表示解码时用到的解码器,在-i后面表示编码时用的编码器,前后可同时出现 -s 表示编码输出的分辨率,如1280x720等 -aspect 表示宽高比,可以写16:9、4:3这种,也可以写小数,比如1.3333 -pix_fmt 表示编码像素格式,如yuv420p等 -b 表示视频的码率,与-b:v含义一样,单位为bps,可写成如“-b:v 500k” -r 表示帧率,如25.0等 -g 表示gop的大小,一般可设为帧率的2倍 -acodec 表示音频编码器,如aac等 -ab 表示音频的码率,与-b:a含义一样,与视频一样单位为bps,如“-b:a 128k”等 -ac 表示音频的通道数,即单声道双声道等 -ar 表示音频的采样率,如44100、48000等 -profile:v 表示视频编码时用的profile,质量由低到高有base、main、high等选项 -f 表示输出的封装格式,如mp4、flv、mov等