ffmpeg 之亂七八糟命令

如果是選擇的圖片背景:

  1. 將圖片變成視頻大小,例如視頻 360480 則取480, 720480 則取 720.
    ffmpeg -i tp.jpg -vf scale=480:480 tp.jpg
    ffmpeg -i cut.mp4 -vf 'movie=bg_out_image.png [bg]; [bg][in] overlay=(W-w)/2:(H-h)' -y out.mp4

如果是顏色背景
顏色也將它存為圖片格式,然后將它scale到視頻最大寬高
ffmpeg -i tp.jpg -vf scale=480:480 tp.jpg
ffmpeg -i video.mp4 -vf "movie=x.png [bg]; [bg][in] overlay=(W-w)/2:(H-h)" -y out.mp4

如果是視頻高斯模糊效果 boxblur=1:5 清晰 boxblur=20:5 模糊
ffmpeg -i video.mp4 -vf "split[a][b];[a]scale=480x480,setdar=1:1,boxblur=10:5[1];[b]scale=224x480[2];[1][2]overlay=(W-w)/2"
-y out.mp4

ffmpeg -i cut.mp4 -vf 'split[a][b];[a]scale=960x1280,setdar='r=3/4',boxblur=10:5[1];[b]scale=960x540[2];[1][2]overlay=0:(H-h)/2' -y bg_video.mp4

如果僅僅單純改變一下比例?
默認(rèn)指定黑色背景作為它的背景 !!

給視頻添加文本和圖片,可以用一個命令搞定嗎?

ffmpeg -i edit.mp4 -vf "drawtext=fontcolor=white:fontsize=28:fontfile=font.ttf:text='中國你好':x=50:y=50[text];movie=shuiying1.png[wm];[text][wm]overlay=0:0[out]" xx.mp4

同時添加文本和圖片!!!

ffmpeg -i edit.mp4 -vf "
drawtext=enable='between(t,0,2)':fontcolor=white:fontsize=28:fontfile=font.ttf:text='中國你好':x=0:y=0[text1],
movie=shuiying1.png[wm1];[text1][wm1]overlay=30:30:enable='between(t,0,2)'[out1],
[out1]
drawtext=enable='between(t,2,4)':fontcolor=white:fontsize=28:fontfile=font.ttf:text='xxx':x=0:y=0[text2],
movie=shuiying1.png[wm2];[text2][wm2]overlay=40:60:enable='between(t,2,3)'[out2]
" xx.mp4

ffmpeg -i edit.mp4 -vf "drawtext=fontcolor=white:fontsize=28:fontfile=font.ttf:text='中國你好':x=50:y=50" xx.mp4

  1. FFmpeg 命令
    448:960
    ///-r 0.1 表示10秒鐘截圖一次
    String command = "-i " + inputVideoPath + " -r 0.1 -f image2 $cachePath/image-%05d.jpeg";
///壓縮視頻
String command = "-i " + inputVideoPath + " -b:v 30000k -s 216x384 " + compressVideoPath;

///添加水印
String command2 = "-i " +
    compressVideoPath +
    " -i " +
    waterMarkPath2 +
    " -i " +
    waterMarkPath +
    " -filter_complex overlay=10:10,overlay=5:5 " +
    outVideoPath +
    "";

指定時間加入水印
ffmpeg -i yasuo.mp4 -i test.png -i kongbai.png -filter_complex overlay=0:0:enable='between(t,3,5)',overlay=10:0:enable='between(t,5,8)' out.mp4

-i edit.mp4 -i test.png -i test.png -filter_complex "[1:v]scale=110.8910891089109:110.8910891089109[img1],[2:v]scale=237.30693069306932:169.6633663366337[img2],
[0:v][img1]overlay=77:100[v1],[v1][img2]overlay=18:348" -q 0 -y gt_process_done_video.mp4

-i input.mp4 -i test.png -filter_complex "[1:v]scale=100.0:100.0[img1],[0:v][img1]overlay=108.56615193684901:343.51793416341184[v1]" -q 0 -y gt_process_done_video.mp4

///加入多個水印,并且改變水印大小和顯示時間
ffmpeg -i input.mp4 -i test.png -i test2.png -i test3.png -filter_complex
"[1:v]scale=50:50[img1],[2:v]scale=50:50[img2],[3:v]scale=-1:-1[img3],
[0:v][img1]overlay=0:0:enable='between(t,3,5)'[v1],
[v1][img2]overlay=10:0:enable='between(t,5,8)'[v2],
[v2][img3]overlay=70:0:enable='between(t,5,8)'"
-y out.mp4

ffmpeg -i edit.mp4 -i 1.jpg -filter_complex "[1:v]scale=110:110[img1],\
[0:v][img1]overlay=77:100:enable='between(t,3,5)'" \
-q 0 -y gt_process_done_video.mp4

ffmpeg -i input.mp4 -i test.png -i test2.png -filter_complex "[1:v]scale=50:50[img1];[2:v]scale=40:40[img2];[0:v][img1]overlay=2:3[bkg];[bkg][img2]overlay=40:40" -q 0 -y out.mp4

///改變視頻到指定尺寸!!!
ffmpeg -i mycut.mp4 -vf scale=300:400 scale.mp4

ffmpeg -i video.mp4 -vcodec h264 -vf "scale='max(480,iw*0.5)':-1" -r 15 -acodec libmp3lame -ac 2 -ar 22050 -f mp4 -y 3.mp4

ffmpeg -i tp1.jpg -vf drawtext=fontcolor=white:fontsize=28:fontfile=font.ttf:text='中國
你好':x=50:y=50 -y tp2.jpg

電腦端命令~~~~
ffmpeg -i /Users/mac/Desktop/ffmpge/input.mp4 -vf "drawtext=fontcolor=white:fontsize=40:fontfile=/Users/mac/Desktop/ffmpge/gt_video_font.ttf:text='ceshi':x=50:y=50:enable='lte(t,5)'" -y /Users/mac/Desktop/ffmpge/out.mp4

ffmpeg -i /Users/mac/Desktop/ffmpge/input.mp4 -vf "drawtext=fontcolor=white:fontsize=40:fontfile=/Users/mac/Desktop/ffmpge/gt_video_font.ttf:text='ceshi':x=50:y=50'" -q 0 -y /Users/mac/Desktop/ffmpge/out.mp4

///添加一個文本
ffmpeg -i /Users/mac/Desktop/ffmpge/video.mp4 -vf drawtext=enable='between(t,3,5)':fontcolor=white:fontsize=40:fontfile=/Users/mac/Desktop/ffmpge/font/youyuan.ttf:text='ceshi':x=50:y=50 -y /Users/mac/Desktop/ffmpg/out.mp4

ffmpeg -i tp1.jpg -vf drawtext=fontcolor=white:fontsize=28:fontfile=font.ttf:text='中國你好':x=50:y=50 -y tp2.jpg

///一句命令給視頻添加多個text
ffmpeg -i /Users/mac/Desktop/ffmpge/video.mp4 -vf "drawtext=enable='between(t,3,5)':fontcolor=white:fontsize=40:fontfile=/Users/mac/Desktop/ffmpge/font/youyuan.ttf:text='ceshi':x=50:y=50, drawtext=enable='between(t,7,10)':fontcolor=white:fontsize=40:fontfile=/Users/mac/Desktop/ffmpge/font/youyuan.ttf:text='haha':x=50:y=50" -y /Users/mac/Desktop/ffmpge/out.mp4

///音頻部分
http://ffmpeg.org/ffmpeg-filters.html#Audio-Sources

///將mp4提取mp3.
ffmpeg -i /Users/mac/Desktop/ffmpge/video.mp4 -f mp3 -vn /Users/mac/Desktop/ffmpge/apple.mp3

///實現(xiàn)混音效果

ffmpeg -i yasuo.mp4 -stream_loop -1 -i duan_music.mp3 -filter_complex
"[0:a]volume=0.2[a0];
[1:a]volume=0.8[a1];
[a0][a1]amix=inputs=2[a]"
-map 0:v -map "[a]" -c:v copy -c:a aac -shortest -t 11 -y output.mp4

分離視頻中的音頻 和 視頻,這時候視頻沒聲音
ffmpeg -i video.mp4 -f mp3 -vn gt_video_audio.mp3 -an gt_video.mp4

獲取視頻中的音頻
ffmpeg -i input.mp4 -vn -y -acodec copy output.m4a

將聲音變成0.5
ffmpeg -i input.wav -filter:a "volume=0.5" output.wav

合并兩個音頻
ffmpeg -i bgmusic.mp3 -i gt_video_audio.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 gt_audio.mp3

ffmpeg -i bgmusic.mp3 -i gt_video_audio.mp3 -filter_complex amerge -ac 2 -c:a libmp3lame -q:a 4 gt_audio.mp3

ffmpeg -i bgmusic.mp3 -i gt_video_audio.mp3 -filter_complex amix=inputs=2:duration=first -c:a libmp3lame -q:a 4 gt_audio.mp3

去掉視頻中的音頻
ffmpeg -i input.mp4 -an output.mp4

合并音頻和視頻
ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -strict experimental output.mp4

水印相關(guān)
指定長,高度按比例縮放:
ffmpeg -i input.jpg -vf scale=320:-1 output_320x240.png

///加入水印到視頻, 并且改變水印大小
ffmpeg -i input.mp4 -i test.png -filter_complex "[1:v]scale=80:80[test];[test]overlay=x=20:y=0" -c:v h264 out.mp4

重要參數(shù)講解
-vf 視頻的過濾器
-filter_complex graph_description創(chuàng)建一個復(fù)雜的filter graph.

  1. 將一張png 或者 gif 轉(zhuǎn)成mp4 .
    方案1 ->>>>>>>>>>
    ///將視頻轉(zhuǎn)成gif https://blog.csdn.net/ternence_hsu/article/details/87714244
    ffmpeg -r 28 -i pianwei.gif -pix_fmt yuv420p -s 380x474 video_gif.mp4
  1. 給一個視頻追加片尾mp4, list.txt 里面格式
    方案1 ->>>>>>>>>>
    /// 如果加上 -vcodec copy -acodec copy 速度更快!!這個是直接拷貝視頻數(shù)據(jù) -c copy
    /// -r 是針對基調(diào)不一樣的兩個視頻,很重要, 如果沒加會出現(xiàn)花屏或者第一個視頻播放完等半天才播放第二個,-r 多少可以看下fps
    ffmpeg -r 25 -f concat -i list.txt -vcodec copy -acodec copy -y concat.mp4 上面這個需要格式啥的完全一致
    ffmpeg -r 25 -f concat -i list.txt -y concat.mp4

  2. 給視頻添加一個背景,
    方案1 ->>>>>>>>>>
    ffmpeg -loop 1 -i icon_video_style_big1.png -i video.mp4 -filter_complex "overlay=(W-w)/2" -shortest -y output.mp4
    方案2 ->>>>>>>>>>
    ffmpeg -i video.mp4 -vf "movie=x.png [bg]; [bg][in] overlay=(W-w)/2:(H-h)" -y out.mp4

  3. 高斯模糊視頻

方案1 ->>>>>>>>>>
ffmpeg -i video1.mp4 -vf "split[a][b];[a]scale=1024:768,boxblur=10:5[1];[b]scale=(iw*768)/ih:768[2];[1][2]overlay=(W-w)/2" 2.mp4

方案2 ->>>>>>>>>> :224x480 改變分辨率和寬高比例
ffmpeg -i video.mp4 -vf "split[a][b];[a]scale=480x480,setdar=1:1,boxblur=20:5[1];[b]scale=224x480[2];[1][2]overlay=(W-w)/2" -y out.mp4

  1. 修改視頻尺寸

范例:

?設(shè)定顯示比例為 16:9
setdar='r=16/9'

setdar='dar=16/9'

?設(shè)定像素比例為 40:33
setsar='r=40/33'

setsar='sar=40/33'
說明: >> setdar 是修改尺,如果不改尺寸 單獨修改寬高視頻不會變化多少
ffmpeg -i video_tail.mp4 -vf scale=960:540,setdar='r=16/9' -y tt.mp4

  1. 拷貝某一段
    ffmpeg -ss 2 -to 4 -accurate_seek -i source.mp4 -codec copy -avoid_negative_ts 1 -y xx.mp4
  1. 給圖片添加文字

(1) 改變圖片尺寸!
ffmpeg -i tp.jpg -vf scale=400:-1 tp1.jpg
(2) 圖片添加文字

  1. 創(chuàng)建一個純色視頻 并繪制顏色
    (1)

///創(chuàng)建一個純色的視頻
ffmpeg -f lavfi -i color=c=0x22000000:s=224x480:d=5 output.mp4

///將創(chuàng)建的純色視頻跟原始視頻進(jìn)行合并.產(chǎn)生新的視頻
ffmpeg -i video.mp4 -i out.mp4 -filter_complex "[0:v]format=yuva444p,colorchannelmixer=aa=0[valpha];[1:v][valpha]overlay=(W-w)/2:(H-h)/2" -y overlay4.mp4

ffmpeg -i output.mp4 -vf "drawtext=fontcolor=white:fontsize=40:fontfile=font.ttf:text='我是測試文本':x=50:y=50" -y out.mp4

參考文檔:
https://ffmpeg.org/ffmpeg-filters.html#drawtext-1
https://www.iteye.com/blog/keren-1773536

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宽涌,一起剝皮案震驚了整個濱河市挽唉,隨后出現(xiàn)的幾起案子炒瘸,更是在濱河造成了極大的恐慌萝风,老刑警劉巖胸哥,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件橘忱,死亡現(xiàn)場離奇詭異赴魁,居然都是意外死亡,警方通過查閱死者的電腦和手機钝诚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門颖御,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人凝颇,你說我怎么就攤上這事潘拱。” “怎么了拧略?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵芦岂,是天一觀的道長。 經(jīng)常有香客問我垫蛆,道長禽最,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任月褥,我火速辦了婚禮弛随,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘宁赤。我一直安慰自己舀透,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布决左。 她就那樣靜靜地躺著愕够,像睡著了一般。 火紅的嫁衣襯著肌膚如雪佛猛。 梳的紋絲不亂的頭發(fā)上惑芭,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天,我揣著相機與錄音继找,去河邊找鬼遂跟。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的幻锁。 我是一名探鬼主播凯亮,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼哄尔!你這毒婦竟也來了假消?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤岭接,失蹤者是張志新(化名)和其女友劉穎富拗,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鸣戴,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡啃沪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了葵擎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谅阿。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖酬滤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情寓涨,我是刑警寧澤盯串,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站戒良,受9級特大地震影響体捏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜糯崎,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一几缭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧沃呢,春花似錦年栓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至惰瓜,卻和暖如春否副,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背崎坊。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工备禀, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓曲尸,卻偏偏與公主長得像呻待,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子队腐,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,512評論 2 359