天天看點

FFmpeg 簡單使用

FFmpeg 簡單使用

1、視訊轉換格式----将test.avi格式的軟體轉換為test.mp4

   ffmpeg -i test.avi test.mp4

2、視訊截圖儲存為圖檔

   ffmpeg -i inputfile.avi -r 1 -q:v 2 -f image2 image-%05d.jpg

   -r:指定抽取的幀  即從視訊中每秒抽取圖檔的數量 1代表每秒抽取一幀

   -f:儲存圖檔使用的格式  可省略

   Image-%05d.jpg:指定檔案的輸出名字

3、截取與合并視訊

截取:

ffmpeg  -i 0005.mp4 -vcodec copy -acodec copy -ss 00:00:00 -to 00:00:100 d:/cutout1.mp4 -y   -ss:指定從什麼時候開始

   -t:指定需要截取多長時間

   -i:指定輸入檔案  

   截取視訊如果出現時間點不對,出現這種情況的原因是因為截取到的地方不是關鍵幀,如果項目中對時間要求比較精确的話,需要先将視訊将所有的幀提前轉換關鍵幀----将所有的幀編碼方式轉變為幀内編碼

   具體操作:老版本:ffmpeg -i input -samep -intra output

             -i:輸入視訊檔案

             -sameq :保持同樣的視訊品質

             -intra :幀内編碼

             output:輸出檔案名

             新版本:ffmpeg -i inputfile -strict -2 -qscale 0 -intra output.mp4

合成:

ffmpeg -ss 00:00:00 -t 00:00:20 -i input.mp4 -vcodec copy output.mp4

ffmpeg -f concat -i list.txt -c copy concat.mp4

list.txt檔案中的書寫方式:

 file video1.mp4

 file video2.mp4  

4、給視訊添加水印

ffmpeg -i xiaozheng.mp4 -i mark.png -filter_complex overlay test1.mp4  

給視訊添加文字水印:

ffmpeg -i xiaozheng.mp4 -vf "drawtext=fontfile=simsunb.ttf: text='zhengqijia':x=100:y=10:fontsize=24:fontcolor=yellow:shadowy=2" drawtext.mp4

文字水印filter是drawtext simsunb.ttf:text=’zhengqijia’

x:y是顯示位置

fontsize:文字大小

fontcolor:文字顔色

給視訊添加圖檔水印:

ffmpeg -i input.mp4 -vf "movie=mark.png[watermark];[in][watermark] overlay=10:10[out]" output.mp4