FFmpeg命令系列
在Mac下編譯 FFmpeg ,并在Android中使用
每天一點(diǎn)FFmpeg(1)
每天一點(diǎn)FFmpeg(2)
每天一點(diǎn)FFmpeg(3)
每天一點(diǎn)FFmpeg(4)
每天一點(diǎn)FFmpeg(5)
每天一點(diǎn)FFmpeg(6)
幀率,碼率膳殷,文件大小的概念
幀率
單位時(shí)間內(nèi)刷新圖片的幀數(shù)(視頻文件每秒的播放的幀數(shù))馅精。單位時(shí)間內(nèi)刷新的圖片越多玄渗,視頻越流暢鳖目。
根據(jù)視覺停留原理,肉眼看到連續(xù)的畫面每一秒的幀數(shù)至少15幀姜钳。
碼率(比特率)
數(shù)據(jù)傳輸時(shí)單位時(shí)間傳送的字節(jié)數(shù)坦冠,單位時(shí)間碼率越高,精度越高哥桥,越接近源文件的大小辙浑。如何用最低的碼率達(dá)到最少的失真,一般我們用的單位是kbps即千位每秒
文件大小
幀率和碼率是視頻文件最重要的基本特征拟糕,它們的設(shè)置決定的視頻的質(zhì)量判呕。
計(jì)算文件的大芯胩摺:(視頻碼率+音頻碼率)* 時(shí)長 / 8 。單位K
使用FFmpeg改變視頻文件的幀率佛玄,碼率硼一,文件大小
改變幀率的命令:
ffmpeg -y -i input -r fps output
參數(shù)說明:
-y:覆蓋輸出文件累澡,即輸入文件input已經(jīng)存在梦抢,不經(jīng)提示就覆蓋掉
-i:即輸入視頻文件(視頻文件的全路徑)
-r:幀數(shù)
源視頻的詳細(xì)信息:
將源視頻的幀率改為 24幀/秒
ffmpeg -y -i demo-r.mp4 -r 24 demo-r-24.mp4
執(zhí)行結(jié)果
幀率的預(yù)定義值
例如設(shè)置幀率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
碼率
設(shè)置碼率的選項(xiàng)是-b
愧哟。
碼率分為視頻的碼率 -b:v
奥吩,音頻的碼率-b:a
,單位kbps
,
設(shè)置視頻碼率1500,音頻碼率48
ffmpeg -y -i demo-b.mp4 -b:v 1500K -b:a 48K demo-bv1500-ba-48.mp4
執(zhí)行結(jié)果:
不同分辨率下視頻推薦的碼率
| 分辨率 | 碼率 |
| -------- |: -----: |
| 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 |
文件大小
控制文件輸出大小的參數(shù)選項(xiàng)是-fs(file size)
例如控制輸出文件大小為500K蕊梧,單位可 K
霞赫、M
、G
肥矢。
ffmpeg -y -i demo.mp4 -fs 500K demo-fs-500K.mp4
源視頻大小
控制輸出文件大小
綜合使用
例如端衰,輸出幀率為 15fps,視頻碼率1500kbps甘改,音頻碼率48kbps旅东。
ffmpeg -y -i demo.mp4 -r 15 -b:v 1500K -b:a 48K res.mp4
END.