- 概述
- 常用視頻編輯命令
- 視頻截取
- 視頻合并
- 剝離視頻中的音頻
- 視頻加背景音樂
- 視頻加水印(文字)
- 視頻加水印(圖片)
- 視頻解析度調整
概述
在短視頻時代,雖然可以隨手拍了就發,但是要想稍微制作點內容,視頻的編輯是少不了的, 熟悉幾條簡單的命令,對于一些簡單的需求不至于束手無策,也不用為了個簡單的功能去安裝個視頻編輯軟體,
更大的好處是可以用來批量處理視頻,
常用視頻編輯命令
簡單整理目前自己常用到的幾個命令,以后多了再添加, 這里使用的是視頻編輯的神器:ffmpeg 不知道的可以去官網看看,支持各種平臺,
視頻截取
按照時間截取視頻中的一段,這個功能一般用來去除視頻中的一些多余的部分,
$ ffmpeg -i test.mp4 -vcodec copy -acodec copy -ss 00:00:05 -t 00:00:10 new.mp4
- 原始視頻 test.mp4
- 新生成的視頻 new.mp4
- 從 test.mp4 視頻的第 5 秒截取到第 10 秒,所以 new.mp4 一共是 5 秒的視頻
視頻合并
一般用來給視頻加個封面和結尾的部分, 注意,mp4 視頻不要直接合并,容易失敗,
# 先把mp4格式轉換成ts格式,直接合并mp4視頻有問題
$ ffmpeg -i 1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts
$ ffmpeg -i 2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 2.ts
$ ffmpeg -i 3.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 3.ts
# 合并3個ts檔案成1個mp4檔案
$ ffmpeg -i "concat:1.ts|2.ts|3.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4
# 洗掉中途產生的ts檔案
$ rm -rf 1.ts 2.ts 3.ts
剝離視頻中的音頻
洗掉音頻的原因是要更換背景音樂,
$ ffmpeg -i test.mp4 -map 0:0 -vcodec copy without-audio.mp4
視頻加背景音樂
剝離音頻之后可以更換自己喜歡的背景音樂
$ ffmpeg -i BGM.mp3 -i test.mp4 -y with-audio.mp4
這里需要注意,背景音樂的時長要和視頻保持一致, 如果音頻時長比視頻長,那么視頻播放完后停在最后一幀,等待音頻播放完之后才結束,也就是合并之后的 mp4 時長是音頻的時長; 如果音頻時長比視頻短,那么視頻沒播完就已經沒有背景音樂了,
音頻比視頻長的話,截取音頻:下面的示例截取 0 秒 ~ 50 秒的音頻
$ ffmpeg -i test.mp3 -ss 00:00:00.0 -t 00:00:50 -acodec copy new.mp3
音頻比視頻短的話,可以在視頻中重復播放此音頻,直至視頻結束, 下面的例子中,mp4 比 mp3 的時長要長
ffmpeg -stream_loop -1 -i test.mp3 -i test.mp4 -shortest -y repeat-audio.mp4
視頻加水印(文字)
文字加在左上角:
$ ffmpeg -i out.mp4 -vf "drawtext=fontfile=/path/to/Microsoft-Yahei-Mono.ttf: text='我的水印':x=10:y=10:fontsize=24:fontcolor=white:shadowy=2" output2.mp4
注意,如果要正常顯示中文,需要指定一個能顯示中文的字體,fontfile 后面是 字體的絕對路徑
文字加在右下角:
$ ffmpeg -i out.mp4 -vf "drawtext=fontfile=/usr/share/fonts/truetype/Microsoft-Yahei-Mono.ttf: text='我的水印':x=main_w-100:y=main_h-50:fontsize=24:fontcolor=white:shadowy=2" output2.mp4
其中,
- main_w 視頻的寬度
- main_h 視頻的高度
視頻加水印(圖片)
圖片水印加在右下角:
$ ffmpeg -i out.mp4 -i logo.png -filter_complex 'overlay=main_w-overlay_w-10:main_h-overlay_h-10' output.mp4
其中,
- main_w 視頻的寬度
- main_h 視頻的高度
- overlay_w 圖片水印的寬度
- overlay_h 圖片水印的高度
圖片水印加在其他位置可以通過調整 main_w/main_h 以及 overlay_w/overlay_h 來實作
視頻解析度調整
直接調整:
$ ffmpeg -i out.mp4 -strict -2 -s 640x480 output.mp4
640x480 是寬 x 高,這里如果變換后的比例不是視頻的原始比例,會導致視頻變形
按比例調整:
$ ffmpeg -i out.mp4 -strict -2 -vf scale=800:-1 output.mp4
這樣調整之后,寬度 800,高度按比例調整,視頻不會變形, 如果想調整視頻高度,可以設定 scale=-1:600
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/272144.html
標籤:其他
