最近在學(xué)習(xí)的時(shí)候發(fā)現(xiàn)了一個(gè)功能強(qiáng)大的軟件ffmpeg,可以用它很完美的處理視頻夜焦、音頻、圖片巷波,并且該軟件可以命令行執(zhí)行可以完美的融入代碼程序抹镊,運(yùn)行速度也不錯(cuò)荤傲。
說明:下面測(cè)試命令中image_source 是要處理的輸入文件,out_source是處理完成之后的輸出文件
1.圖片壓縮
ffmpeg可以很完美的壓縮圖片生成新圖片终佛,并可以設(shè)置壓縮等級(jí)
ffmpeg -i image_source -q compress_level out_source
#compress_level:壓縮等級(jí)為正整數(shù),數(shù)值越大壓縮等級(jí)越高
2.約束比例壓縮
ffmpeg可以將圖片壓縮成指定的尺寸
ffmpeg -i image_source -vf scale=width:height out_source
#width為壓縮后的圖片寬度
#height為壓縮后的圖片高度
#當(dāng)width或height其中有一個(gè)數(shù)值為-1時(shí)將保持原來圖片尺寸比例壓縮
3.圖片裁剪
ffmpeg可以指定圖片裁剪位置和裁剪的圖片尺寸
ffmpeg -i image_source -vf crop=width:height:from_x:from_y out_source
#width是要裁剪出的圖片的寬度
#height是要裁剪出的圖片的高度
#from_x是裁剪的起始X軸的位置
#from_y是裁剪的起始Y軸的位置
#如果不指定from_x和from_y表示從原始圖片中心位置開始裁剪
4.添加水印圖片
ffmpeg可以為圖片添加水印绍豁,可以設(shè)置水印圖片的大小竹揍、位置和透明度
ffmpeg -i image_source -vf movie=logo_source,scale=logo_width:logo_height,lut=a=val*opacity_num[watermask];[in][watermask] overlay=from_x:from_y[out] -y out_source
#logo_source為水印圖片地址
#logo_width為水印圖片的寬度
#logo_height為水印圖片的高度
#opacity_num為水印圖片的透明度
#from_x為水印的起始X軸的位置
#from_y為水印的起始Y軸的位置
5.添加文字水印
ffmpeg可以為圖片添加文字水印鹃共,可以設(shè)置字體驶拱、顏色、尺寸阴孟、文字內(nèi)容税迷、文字位置
ffmpeg -i image_source -vf drawtext=fontfile=font_ttf_path:fontcolor=font_color:fontsize=font_size:text=message_info:x=from_x:y=from_y out_source
#font_ttf_path為字體路徑,此項(xiàng)必須設(shè)置否則會(huì)出現(xiàn)字體無法找到的錯(cuò)誤;
#字體路徑要設(shè)置絕對(duì)路徑并且要注意路徑正反斜線轉(zhuǎn)義(例如C\\:/Windows/Fonts/simhei.ttf)
#font_color為字體的顏色
#font_size為字體的大小
#message_info為水印文字內(nèi)容
#from_x為水印的起始X軸的位置
#from_y為水印的起始Y軸的位置
#如果水印內(nèi)容是中文需要設(shè)置中文字體否則會(huì)文字顯示亂碼
6.圖片旋轉(zhuǎn)指定的角度
ffmpeg可以將圖片按照指定的角度旋轉(zhuǎn)生成新圖片
ffmpeg -i image_source -vf rotate=route_num*PI/180 -y out_source
#route_num是要旋轉(zhuǎn)的角度
#當(dāng)route_num大于0的時(shí)候順時(shí)針旋轉(zhuǎn),當(dāng)route_num小于0的時(shí)候逆時(shí)針旋轉(zhuǎn)
7.圖片旋轉(zhuǎn)特殊簡便命令
上面的命令理論上可以完成所有的圖片旋轉(zhuǎn)操作慕嚷,但ffmpeg仍然存在特殊簡便旋轉(zhuǎn)命令
ffmpeg -i image_source -vf transpose=route_number -y out_source
#route_number=0順時(shí)針旋轉(zhuǎn)90度再左右鏡像
#route_number=1順時(shí)針旋轉(zhuǎn)90度
#route_number=2逆時(shí)針旋轉(zhuǎn)90度
#route_number=3逆時(shí)針旋轉(zhuǎn)90度再左右鏡像
8.圖片左右鏡像
ffmpeg -i image_source -vf hflip out_source
9.將圖片上下鏡像
ffmpeg -i image_source -vf vflip out_source