ffmpeg
ffmpeg 全稱 fast forward mpeg
是一套用來處理音頻視頻的開源工具庫
,它提供了錄製,轉換,流媒體,以及後期處理的完整解決方案,具備很是高的質量和可移植性
ffplay播放音視頻
ffplay xxx.m4a
q退出播放
f全屏
space暫停
w切換顯示模式
f切換顯示模式
上下左右鍵能夠前進後退
ffprobe查看媒體文件信息
ffprobe xxx.m4a
格式轉換
常見的文件格式
#主流視頻文件格式:mp4,mov
# 將mov格式轉換爲mp4格式
ffmpeg -i input.mov output.mp4
音視頻編轉碼
ffmpeg -codecs
MP4封裝:H264視頻編碼 + AAC音頻編碼
webM封裝:VP8視頻編碼 + Vorbis音頻編碼
OGG封裝:Theora視頻編碼 + Vorbis音頻編碼
-acodec 指定編碼器
-ar 採樣率
-ab 比特率
-ac 聲道設置
ffmpeg -i in.flac -acodec libmp3lame -ar 44100 -ab 320k -ac 2 out.mp3
視頻壓制
ffmpeg
-i in.webm
-s 1920x1080 縮放視頻尺寸
-pix_fmt yuv420p 視頻顏色空間
-vcodec libx264 視頻編碼器
-preset medium 編碼器預設
-profile:v high 壓縮比
-level:v 4.1 編碼器的規範
-crf 23 碼率控制模式
-acodec aac 音頻編碼器
-ar 44100 採樣率
-ac 2 聲道設置
-b:a 128k 比特率
out.mp4
碼率控制模式
-qp模式 constant quantizer 恆定量化器模式
-crf模式 constant rate factor 恆定速率因子模式
-b模式 bitrate 固定目標碼率模式
合併提取音視頻
# 提取單獨視頻流 -an剔除聲音
ffmpeg -i in.mp4 -vcodec copy -an v.mp4
# 提取音頻流 -vn剔除視頻
ffmpeg -i in.mp4 -vn -acodec copy a.m4a
#合併音視頻
ffmpeg -i a.m4a -i v.mp4 -c copy out.mp4
截取鏈接音視頻
#截取視頻
ffmpeg -i in.mp3 -ss 00:01:00 -to 00:01:10 -acodec copy out.mp3
# 啓用關鍵幀
ffmpeg -ss 00:01:00 -i in.mp4 -to 00:01:10 -c copy out.mp4
# 保留時間戳
ffmpeg -ss 00:01:00 -i in.mp4 -to 00:01:10 -c copy -copyts out.mp4
#鏈接視頻 concatenate串聯
ffmpeg -i 'concat:01.mp4|02.mp4|03.mp4' -c copy out.mp4
截圖,水印,動態
# 截圖
ffmpeg -i in.mp4 -ss 5 -vframes 1 img.jpg
# 添加水印
ffmpeg -i in.mp4 -i logo.png -filter_complex "overlay=20:20" out.mp4
# 添加動態
ffmpeg -i in.mp4 -ss 7.5 -to 8.5 -s 640x320 -r 15 out.gif
錄播和直播
# 錄屏 -f格式化
ffmpeg -f gdigrab -i desktop rec.mp4
# 直播
ffmpeg -re -i rec.mp4 編碼 -f flv 'rtmp地址/直播碼'