一、FFmpeg 簡介
-
FFmpeg?是一個開源跨平臺的視頻和音頻處理工具,支持錄制、轉換、流處理等功能。
-
官網:https://ffmpeg.org
-
安裝命令(macOS):
brew install ffmpeg
二、基本命令結構
ffmpeg -i 輸入文件 [參數] 輸出文件
三、常用命令大全
1. 查看文件信息
ffmpeg -i video.mp4
2. 視頻轉碼(如 mp4 -> avi)
ffmpeg -i input.mp4 output.avi
3. 提取音頻
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
4. 提取視頻(去掉音頻)
ffmpeg -i input.mp4 -an output_no_audio.mp4
5. 轉換為GIF動圖
ffmpeg -i input.mp4 -t 3 -ss 00:00:02 -vf "fps=10,scale=320:-1" output.gif
6. 截取視頻片段
ffmpeg -i input.mp4 -ss 00:01:00 -to 00:01:30 -c copy output_clip.mp4
四、高級功能示例
1. 合并音視頻
ffmpeg -i video.mp4 -i audio.aac -c:v copy -c:a aac output.mp4
2. 添加水印
ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=10:10" output.mp4
3. 合并多個視頻
# 先創建文件列表
echo "file 'a.mp4'" > filelist.txt
echo "file 'b.mp4'" >> filelist.txt
ffmpeg -f concat -safe 0 -i filelist.txt -c copy merged.mp4
4. 旋轉視頻(順時針90度)
ffmpeg -i input.mp4 -vf "transpose=1" output.mp4
5. 添加字幕(srt)
ffmpeg -i input.mp4 -vf subtitles=sub.srt output.mp4
五、常見參數速查
參數 | 說明 |
---|---|
-ss | 指定起始時間 |
-t | 指定持續時長 |
-vf | 視頻過濾器 |
-af | 音頻過濾器 |
-c:v | 視頻編碼器 |
-c:a | 音頻編碼器 |
-r | 幀率 |
-b:v | 視頻比特率 |
-s | 分辨率(如?1280x720 ) |
六、實踐技巧與優化
-
使用?
-preset ultrafast
?可加速壓縮速度(編碼質量降低) -
使用?
-crf 23
?控制輸出質量(范圍 0-51,越小越清晰) -
音視頻同步問題?試試?
-async 1
?或?-fflags +genpts
七、常見問題 FAQ
問題 | 解決方案 |
---|---|
合并后音畫不同步 | 使用?-fflags +genpts -r 25 |
gif 文件太大 | 加上?fps=10,scale=320:-1:flags=lanczos |
視頻無法播放 | 指定編碼器?-c:v libx264 -c:a aac |
八、擴展資源
-
FFmpeg 官方文檔:Documentation
-
FFmpeg 命令查詢工具:https://ffmpeg.guide
-
學習推薦視頻:B站搜索“FFmpeg全套教程”或“ffmpeg命令實戰”
如果你希望我把這份筆記整理成 PDF、Markdown 或 Word 格式,或者按模塊出一系列“每日學習卡片”,也可以告訴我,我來整理。你還想深入哪部分?比如視頻壓縮、直播推流、濾鏡特效等?
FFmpeg學習筆記 – 菜鳥-創作你的創作