下記のコマンドのテスト中、image_source は処理する入力ファイルであり、out_source は処理が完了した出力ファイルです。
-
画像の圧縮:ffmpeg は完璧に画像を圧縮し、新しい画像を生成することができます。また、圧縮レベルを設定することもできます。
ffmpeg -i image_source -q compress_level out_source
#compress_level:圧縮レベルは正の整数で、値が大きいほど圧縮レベルが高くなります。 -
アスペクト比の制約付き圧縮
ffmpeg は画像を指定したサイズに圧縮することができます。
ffmpeg -i image_source -vf scale=width:height out_source
#widthは圧縮後の画像の幅です
#heightは圧縮後の画像の高さです
#widthまたはheightのいずれかが-1の場合、元の画像のアスペクト比を保ったまま圧縮されます
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 は画像にウォーターマークを追加することができます。ウォーターマーク画像のサイズ、位置、透明度を設定することができます。
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 は画像にテキストウォーターマークを追加することができます。フォント、色、サイズ、テキストの内容、位置を設定することができます。
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はフォントのパスです。この項目は必ず設定する必要があります。そうしないとフォントが見つからないエラーが発生します。
#フォントのパスは絶対パスで設定し、パスのスラッシュのエスケープに注意してください(例:C\\:/Windows/Fonts/simhei.ttf)
#font_colorはフォントの色です
#font_sizeはフォントのサイズです
#message_infoはウォーターマークのテキスト内容です
#from_xはウォーターマークの開始X軸の位置です
#from_yはウォーターマークの開始Y軸の位置です
#ウォーターマークの内容が中国語の場合は中国語フォントを設定する必要があります。そうしないと文字が化けて表示されます。
6. 指定した角度で画像を回転
ffmpeg は指定した角度で画像を回転し、新しい画像を生成することができます。
ffmpeg -i image_source -vf rotate=route_num*PI/180 -y out_source
#route_numは回転する角度です
#route_numが0より大きい場合、時計回りに回転します。route_numが0より小さい場合、反時計回りに回転します。
7. 特殊な簡易回転コマンド
上記のコマンドは理論的にはすべての画像の回転操作を完了することができますが、ffmpeg には特殊な簡易回転コマンドが存在します。
ffmpeg -i image_source -vf transpose=route_number -y out_source
#route_number=0の場合、時計回りに90度回転して左右反転します
#route_number=1の場合、時計回りに90度回転します
#route_number=2の場合、反時計回りに90度回転します
#route_number=3の場合、反時計回りに90度回転して左右反転します
8. 画像の左右反転
ffmpeg -i image_source -vf hflip out_source
- 画像の上下反転
ffmpeg -i image_source -vf vflip out_source