FFmpeg命令系列
在Mac下编译 FFmpeg ,并在Android中使用
每天一点FFmpeg(1)
每天一点FFmpeg(2)
每天一点FFmpeg(3)
每天一点FFmpeg(4)
每天一点FFmpeg(5)
每天一点FFmpeg(6)
帧率,码率,文件大小的概念
帧率
单位时间内刷新图片的帧数(视频文件每秒的播放的帧数)。单位时间内刷新的图片越多,视频越流畅。
根据视觉停留原理,肉眼看到连续的画面每一秒的帧数至少15帧。
码率(比特率)
数据传输时单位时间传送的字节数,单位时间码率越高,精度越高,越接近源文件的大小。如何用最低的码率达到最少的失真,一般我们用的单位是kbps即千位每秒
文件大小
帧率和码率是视频文件最重要的基本特征,它们的设置决定的视频的质量。
计算文件的大小:(视频码率+音频码率)* 时长 / 8 。单位K
使用FFmpeg改变视频文件的帧率,码率,文件大小
改变帧率的命令:
ffmpeg -y -i input -r fps output
参数说明:
-y:覆盖输出文件,即输入文件input已经存在,不经提示就覆盖掉
-i:即输入视频文件(视频文件的全路径)
-r:帧数
源视频的详细信息:
aa.png将源视频的帧率改为 24帧/秒
ffmpeg -y -i demo-r.mp4 -r 24 demo-r-24.mp4
执行结果
002.png帧率的预定义值
001例如设置帧率24fps,下面三种是同样的效果:
ffmpeg -y -i demo-r.mp4 -r 24 demo-r-24.mp4
ffmpeg -y -i demo-r.mp4 -r 24/1 demo-r-24.mp4
ffmpeg -y -i demo-r.mp4 -r flim demo-r-24.mp4
码率
设置码率的选项是-b
。
码率分为视频的码率 -b:v
,音频的码率-b:a
,单位kbps
,
设置视频码率1500,音频码率48
ffmpeg -y -i demo-b.mp4 -b:v 1500K -b:a 48K demo-bv1500-ba-48.mp4
执行结果:
003.png不同分辨率下视频推荐的码率
| 分辨率 | 码率 |
| -------- |: -----: |
| 360p | 400 |
| 480p | 600 |
| 540p | 700 |
| 720p | 1000 |
| 1080p | 1500 |
不同acc profile下音频推荐的码率
| profile | 单声道 | 双声道 |
| -------- |: -----: |: -----: |
| PROFILE_AAC_LOW | 48 | 96 |
| PROFILE_AAC_HE | 32 | 64 |
| PROFILE_AAC_HE_V2 |-- | 48 |
文件大小
控制文件输出大小的参数选项是-fs(file size)
例如控制输出文件大小为500K,单位可 K
、M
、G
。
ffmpeg -y -i demo.mp4 -fs 500K demo-fs-500K.mp4
源视频大小
004.png控制输出文件大小
005.png综合使用
例如,输出帧率为 15fps,视频码率1500kbps,音频码率48kbps。
ffmpeg -y -i demo.mp4 -r 15 -b:v 1500K -b:a 48K res.mp4
END.
网友评论