1. 水印
1.1. 加水印
把a(bǔ).png當(dāng)做水印加到a.mp4上,設(shè)置寬高粘拾,設(shè)置alpha窄锅。
ffmpeg -i a.mp4 -i a.png -filter_complex "overlay=W-w-10:H-h-10:alpha=0.5" output.mp4
1.2.加文字水印,并且x坐標(biāo)隨著時(shí)間移動(dòng)
文字水印缰雇,內(nèi)容為“watermark”酬滤,y為整體高度減去文字高度签餐。x為整體寬度減去時(shí)間*20,也就是隨著時(shí)間軸移動(dòng)x值逐漸變小盯串。字體大小為14氯檐,顏色為黃色,有y方向的陰影体捏。
ffmpeg -i a.gif -vf "drawtext=text='watermark':y=h-text_h:x=w-text_w-20*t:fontsize=14:fontcolor=yellow:shadowy=2" out4.gif
1.3.去水印
注意x,y不能從0開(kāi)始冠摄,會(huì)出錯(cuò)
ffmpeg -i a.mp4 -vf delogo=x=1:y=1:w=92:h=12:show=0 out.mp4
如果不確定水印位置可以使用ffplay
命令先確定位置在執(zhí)行去水印動(dòng)作。
ffplay -i a.mp4 -ss 00:00:15 -vf delogo=x=1:y=1:w=92:h=12:show=1
-ss 00:00:15
表示從15s開(kāi)始執(zhí)行几缭。
2. 視頻尺寸操作
2.1. 獲取視頻寬高
ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=p=0 a.mp4
2.2. 裁剪視頻尺寸
ffmpeg -i real.mp4 -vf "crop=718:1110:1:80" real_output.mp4
3. 裁剪視頻時(shí)長(zhǎng)
3.1. 裁剪視頻時(shí)長(zhǎng)
ffmpeg -y -i src.mp4 -c copy -to 00:00:16 out.mp4
3.2. 裁剪視頻時(shí)長(zhǎng)河泳,精確到毫秒。
ffmpeg -y -ss 0 -t 00:00:16 -i src.mp4 -c:v libx264 -preset superfast -c:a copy out.mp4
3. 音軌相關(guān)
3.1. 截取指定時(shí)間長(zhǎng)度的音頻
# 下面命令的意思是從50秒開(kāi)始年栓,截取2分鐘的音頻
# ss:指定開(kāi)始時(shí)間 t:指定提取時(shí)間
# 時(shí)間戳必須采用HH:MM:SS.xxx格式或以秒為單位拆挥;如果不指定t選項(xiàng),則一直到末尾
# 兩種寫(xiě)法都可以 下面是第一種
ffmpeg -i chain.mp4 -ss 00:00:50 -t 00:02:00.0 -q:a 0 -map a chainmusic.mp3
# 第二種
ffmpeg -i chain.mp3 -ss 00:00:50 -t 00:02:00 1m.mp3
3.2. 截取指定時(shí)間區(qū)間的音頻
# 截取50秒到1分鐘之間的音頻
ffmpeg -i chain.mp3 -ss 00:00:50 -to 00:01:00 10s.mp3
3.3. 從視頻中提取完整音頻
# 下面兩種方法都可以
ffmpeg -i chain.mp4 -q:a 0 -map a chain.mp3
# -i 要處理的視頻 -vn 禁用視頻
ffmpeg -i chain.mp4 -vn t.mp3
3.4. 使用 FFmpeg 添加音軌的方法取決于你想要實(shí)現(xiàn)的具體功能某抓。如果你想將一個(gè)音頻文件合并到一個(gè)視頻文件中纸兔,可以使用以下命令:
ffmpeg -i video.mp4 -i audio.mp3 -map 0:v -map 1:a -c:v copy -shortest output.mp4
其中,video.mp4 是你想要添加音軌的視頻文件否副,audio.mp3 是你想要添加的音頻文件汉矿,-map 0:v 表示使用視頻文件的視頻流,-map 1:a 表示使用音頻文件的音頻流备禀,-c:v copy 表示不對(duì)視頻進(jìn)行重新編碼洲拇,-shortest 表示在視頻和音頻結(jié)束時(shí)選擇最短的時(shí)間戳作為輸出的時(shí)間戳,output.mp4 是輸出文件的文件名曲尸。
3.5. 如果你想要給視頻添加背景音樂(lè)赋续,可以使用以下命令:
ffmpeg -i video.mp4 -i music.mp3 -filter_complex "[0:a]volume=1.0[a];[1:a]volume=0.5[b];[a][b]amix=inputs=2:duration=first" -c:v copy -shortest output.mp4
其中,video.mp4 是你想要添加背景音樂(lè)的視頻文件另患,music.mp3 是你想要添加的背景音樂(lè)文件蚕捉,-filter_complex 表示使用復(fù)雜的音頻濾鏡,[0:a]volume=1.0[a] 表示將視頻文件的音頻流音量調(diào)整為 1.0柴淘,[1:a]volume=0.5[b] 表示將音樂(lè)文件的音頻流音量調(diào)整為 0.5,[a][b]amix=inputs=2:duration=first 表示將兩個(gè)音頻流混合成一個(gè)流秘通,-c:v copy 表示不對(duì)視頻進(jìn)行重新編碼为严,-shortest 表示在視頻和音頻結(jié)束時(shí)選擇最短的時(shí)間戳作為輸出的時(shí)間戳,output.mp4 是輸出文件的文件名肺稀。