FFmpeg操作視頻的命令:
FFmpeg操作視頻的命令:
圖片加水印測試:
D:\desktop\FFmpeg\bin\ffmpeg.exe -i "D:\desktop\重慶文旅攝影協會\視覺\AI設計\01.mp4" -vf "movie=D\\:/favicon.png,scale= 60: 30 [watermark]; [in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10 [out]" -y "D:/desktop/3.mp4"
圖片加水印測試:
D:\desktop\FFmpeg\bin\ffmpeg.exe -i "D:\desktop\重慶文旅攝影協會\視覺\AI設計\01.mp4" -i D\\:/favicon.png -filter_complex "overlay=10:10:alpha=0.5,scale=200:-1" -codec:a copy "D:/desktop/777.mp4"
1.壓縮視頻命令:
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -c:a aac -b:a 128k output.mp4
說明:
- -i input.mp4:輸入視頻文件名
- -c:v libx264:使用libx264編碼器壓縮視頻
- -crf 23:視頻質量,數值越小,質量越高,一般取值范圍是18-28,推薦使用23
- -c:a aac:使用aac編碼器壓縮音頻
- -b:a 128k:音頻比特率,128k是常用的音頻碼率
- output.mp4:輸出視頻文件名
2.添加水印命令:
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" -codec:a copy output.mp4
說明:
- -i input.mp4:輸入視頻文件名
- -i watermark.png:輸入水印圖片
- -filter_complex "overlay=10:10":設置水印位置,10:10表示水印在視頻左上角,可以根據需要調整位置,如:overlay=main_w-overlay_w-10:10 表示水印在視頻右上角
- -codec:a copy:音頻不需要重新編碼,直接復制到輸出文件中,節省時間和質量
- output.mp4:輸出視頻文件名
3.調整水印大小和透明度命令:
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10:alpha=0.5,scale=200:-1" -codec:a copy output.mp4
說明:
- -filter_complex "overlay=10:10:alpha=0.5,scale=200:-1":在原有的水印位置基礎上增加alpha透明度為0.5,然后將水印縮放到寬度為200,高度等比例縮放,可以根據需要調整大小和透明度
- output.mp4:輸出視頻文件名
注意:以上命令僅供參考,具體參數需要根據實際情況調整。
字幕
視頻添加字幕
ffmpeg -i input.mp4 -i subtitle.ass -c:v copy -c:a copy -c:s ass -y output.mkv
或:(燒錄為 mp4,速度慢)
ffmpeg -i input.mp4 -vf ass=subtitle.ass -y output.mp4
視頻提取字幕
ffmpeg -i video.mkv -map 0:s:0 out.ass
這將下載第一個字幕軌。如果有多個,則使用 0:s:1 下載第二個,0:s:2 下載第三個,以此類推。可以生成任意所需的格式,改一下擴展名即可。
圖片
圖片壓縮
ffmpeg -i image.jpg -q 4 out.jpg
-q 4 為壓縮級別,數字越大壓縮級別越高
約束比例壓縮
ffmpeg -i image.jpg -vf scale=-1:1000 out.jpg
scale=-1:1000 表示保持圖片尺寸比,將高度縮減為 1000px
scale=1000:-1 表示保持圖片尺寸比,將寬度縮減為 1000px
scale=1000:500 表示將寬度縮減為 1000px,高度縮減為 500px (圖片可能會拉伸)
圖片裁剪
ffmpeg -i image.jpg -vf crop=1000:800:0:0 out.jpg
crop=1000:800:0:0 表示裁剪后的圖片大小為 1000x800 px,從 0,0 坐標位置開始裁剪,即左上角
添加文字水印
ffmpeg -i image.jpg -vf drawtext=fontfile="simkai.ttf":fontcolor="#D85840":fontsize=100:text="Hello World!你好,世界":x=1000:y=1000 out.jpg
fontfile=“simkai.ttf” 為字體路徑(絕對路徑好像不生效?只好把字體復制到當前目錄)
不支持中文的字體,中文會顯示不正常
Windows 系統字體位置為 “C:/Windows/Fonts”
fontcolor=“#D85840” 為字體顏色,支持不透明度
fontsize=100 為字體大小
text=“Hello World!你好,世界!” 為要設置的文字
x=1000:y=1000 為文字起始坐標,圖片左上角坐標為 (0,0)
圖片旋轉
PI/180 指順時針旋轉 90 度
圖片左右翻轉
ffmpeg -i image.jpg -vf hflip out.jpg
圖片上下翻轉
ffmpeg -i image.jpg -vf vflip out.jpg
音頻
導出視頻中的音頻
ffmpeg -i input.mp4 -vn -y -acodec copy output.m4a
去除視頻中的音頻
ffmpeg -i input.mp4 -an output.mp4
添加封面
ffmpeg -y -i audio.mp3 -i cover.jpg -map 0:0 -map 1:0 -c copy -id3v2_version 3 output.mp3
去除封面
ffmpeg -i audio.mp3 -vn -codec:a copy -map_metadata -1 output.mp3
m4a 轉 mp3
ffmpeg -i audio.m4a -f mp3 output.mp3
音頻增益
ffmpeg -i input.mp3 -af volume=-5dB -y output.mp3
volume=-5dB 表示將音量減少 5 dB,升高則不用加負號
音頻壓縮
ffmpeg -i input.mp3 -ab 128k output.mp3
-ab 128k 表示將音頻壓縮為 128kbps 比特率
常用的比特率有 96k, 112k, 128k, 160k, 192k, 256k, 320k
視頻
合并音視頻
ffmpeg -i input.mp4 -i audio.mp3 -vcodec copy -acodec copy output.mp4
合并多個視頻文件
方法 1(直接指定文件名)
ffmpeg -i "concat:1.ts|2.ts|3.ts" -c copy output.mp4
方法 2(根據配置文件合并)
file.txt:
file '1.mp4'
file '2.mp4'
file '3.mp4'
ffmpeg -f concat -i file.txt -c copy -y output.mp4
視頻轉為 gif
ffmpeg -ss 00:00:01 -i input.mp4 -s 1024x768 -r 15 output.gif
-ss 00:00:01 表示從第 00 小時 00 分鐘 01 秒 開始制作 gif,也可以簡寫為 1,可以省略
-s 1024x768 表示 gif 分辨率,可以省略
-r 15 表示 gif 幀率,可以省略
視頻截取
ffmpeg -ss 00:00:00 -i input.mp4 -vcodec copy -acodec copy -t 00:00:30 output.mp4
-ss 00:00:00 表示從第 00 小時 00 分鐘 01 秒 秒開始截取
-t 00:00:30 表示向后截取 30 秒視頻
修改分辨率
方法 1(直接設置分辨率)
ffmpeg -i input.mp4 -s 640x480 output.mp4
方法 2(設置縮放比)
ffmpeg -i input.mp4 -vf scale=-1:480 output.mp4
調整視頻幀率
ffmpeg -i input.mp4 -r 20 output.mp4
-r 20 表示調整視頻幀率為 20 幀/s
調整視頻播放速度
只調整視頻速度
ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" output.mp4
0.5 表示 2 倍速播放,2 表示 0.5 倍速播放,以此類推
同時調整視頻音頻速度
ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mp4
0.5*PTS[v] 表示 視頻 2 倍速播放,2.0[a] 表示音頻 2 倍速播放
視頻截圖
ffmpeg -i input.mp4 -r 30 image-%3d.jpg
-r 30 表示每秒提取 30 幀
image-%3d 文件命名格式是 image-001.jpg
ffmpeg -i input.mp4 -r 30 -t 4 image-%3d.jpg
-t 4 表示取第 4 秒的幀
ffmpeg -i input.mp4 -r 30 -t 4 -vframes 1 image-%3d.jpg
-vframes 1 表示取 1 幀
裁剪視頻
ffmpeg -i input.mp4 -vf crop=w=1500:h=600:x=0:y=200 output.mp4
w=1500 表示輸出視頻寬度 1500 px
h=600 表示輸出視頻高度 600 px
x=0 y=200 表示從坐標(0, 200)開始裁剪
視頻旋轉
ffmpeg -i input.mp4 -metadata:s:v rotate="-90" -codec copy outut.mp4
rotate=“-90” 表示將視頻順時針旋轉 90°
視頻鏡像
ffmpeg -i input.mp4 -vf "hflip" outut.mp4
-vf “hflip” 表示將視頻水平鏡像,vflip 則是垂直鏡像
參考鏈接:
FFmpeg----圖片處理 https://www.jianshu.com/p/b53943fc3819
ffmpeg 從視頻中提取圖片 https://blog.csdn.net/lovelovelovelovelo/article/details/101443618
ffmpeg 設置視頻幀率 https://blog.csdn.net/ss00_2012/article/details/74937447
使用 ffmpeg 合并多個視頻文件 https://blog.csdn.net/winniezhang/article/details/89260841
FFmpeg 音視頻簡單合并 https://blog.csdn.net/u012725623/article/details/104008263
使用 ffmpeg 將音頻文件轉換為 mp3 https://cloud.tencent.com/developer/ask/sof/48924
[FFmpeg] Windows 下使用 ffmpeg 為視頻添加字幕 https://blog.csdn.net/u013699869/article/details/48162417/
FFmpeg 命令行 視頻轉為 GIF 動圖 http://www.rzrgm.cn/yibinboy/p/12751659.html
使用 ffmpeg 裁剪和合并視頻 http://www.rzrgm.cn/sn-dnv-aps/p/10832852.html
ffmpeg 調節視頻聲音大小 http://www.rzrgm.cn/shaosks/p/15010686.html
ffmpeg 對視頻進行縮放和裁剪操作 http://www.rzrgm.cn/xuguangzong/p/15775177.html
FFmpeg之視頻/圖片鏡像旋轉(十三) https://blog.csdn.net/u010164190/article/details/112689804
30分鐘帶你入門,20個 FFmpeg操作命令,包你學會 https://zhuanlan.zhihu.com/p/455572544
————————————————
版權聲明:本文為CSDN博主「luxiu-yuruyan」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/KYuruyan/article/details/124518983
本文來自博客園,作者:wfxx,轉載請注明原文鏈接:http://www.rzrgm.cn/wufaxiang/p/17286737.html

浙公網安備 33010602011771號