ImageMagick – 画像から EXIF 情報や余分なコメント領域を削除するには

ImageMagick の convert では画像を加工しても基本的にコメント領域など付属的なデータを維持してくれます。
 
これはこれで便利なのですが画像サイズを削減したい場合はアプリケーション固有の情報(JPEG の Exif など)やコメントなどは極力取り除きたいものです。
 
ImageMagick でこれを実現するには -strip オプションを使います。
ImageMagick Command-line Options – -thumbnail

-strip
strip the image of any profiles or comments.

 
用例は次のとおりです。
 
– in.jpg から EXIF 情報等を除去し、out.jpg として保存する。

convert in.jpg -strip out.jpg

 
他の方法としては
-profile,+profile (任意のプロファイルを削除/追加する。-profile * で全てのプロファイルを削除)や,
-thumbnail (-thumbnail 320×240 は -strip と -resize 320×240 を指定するのとほぼ同じ) といったものがあります。

フリーで使えるフォント集

【英字フォント】
1001 Free Fonts
 
細かい利用条件などはそれぞれのフォントによって異なるようで各フォント付属の readme.txt 参照とのことですが、ほとんどのフォントが無償で商用でも自由に使えるようです。
 
misprinted type 3.0


【日本語フォント】
8*8ドット日本語フォント「美咲フォント」
 
フォントブログフリー日本語フォント配布サイトリンク
 
漢字が使える日本語フォント 無料ダウンロード46種類

最新版の ffmpeg をダウンロードするには

以前 ffmpeg クライアントを探し回った事があったため、配布サイトをまとめてみました。
 
ffmpeg.org
公式サイト。
 
Windows用のffmpegバイナリは以下のサイトで配布されています。
 
お気に入りの動画を携帯で見よう
SVN の HEAD を追いかけて Windows 用にビルドしたバイナリを配布しているサイト。
MingW での ffmpeg のビルド方法や依存するライブラリについても書かれています。
 
ImageMagick
ImageMagick は一部のビデオフォーマットを扱うために ffmpeg を使っているため、ffmpeg.exe をバンドルしています。
Windowsユーザでインストーラが不要な方はImageMagickのFTPサーバから、実行ファイルだけのダウンロードもできます。ファイル名が”ImageMagick-(バージョン番号)-Q16-windows.zip”のものがインストーラなし版です。
 
携帯動画変換君
ffmpegのインターフェイスとして動作するソフトです。ffmpeg が同梱されていますが、2010年9月現在、何年も更新されていないためバージョンは古めの様子。
 


Linux用 RPM は http://packages.sw.be/ffmpeg/ で最新版が順次配布されているようです。

SUPER C – マルチメディアファイル相互変換をするフリーソフト

http://www.erightsoft.net/Superdc.html
 
未使用ですが、携帯動画変換君のように 3gp など携帯向けの動画、音声も変換することができるようです。
 
参考:
あらゆるマルチメディアファイルを相互変換するフリーソフト「SUPER C」(GIGAZINE)

ffmpeg 使い方

ソースのダウンロードは SVN から

 svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

 また、Windows バイナリは携帯電話用の動画をなるべく簡単に作りたかったので作ってみた変換君(3GP Converter)に含まれているものを使うのが簡単な方法です(cores ディレクトリ内)。
Windows用バイナリは「お気に入りの動画を携帯で見よう」からダウンロードできます。
他の入手方法についてはこちらの記事を参照してください。
 

 
– MP3 から PCM 形式オーディオファイル out.wav に変換

ffmpeg -i in.mp3 out.wav

 このように指定した場合、入出力ともに拡張子から自動判別します。
 (指定できる拡張子は後述の「対応フォーマット/コーデック一覧」を参照してください)
 ただしデフォルトのままだとビットレートやサンプリングレート等が変わって劣化やサイズ肥大してしまうことがあります。この場合、次のように明示することで任意の画質、音質で出力することが可能です。
 
– Windows Media Audio 形式(WMA)から MP3 形式にビットレート(128kb/s)、サンプリングレート(44100Hz)指定で変換

ffmpeg -i in2.wma -ab 128 -ar 44100 out2.mp3

 
– Flash 動画ファイル(flv)から、音声を抽出してモノラルで MP3 で保存する
( -vn オプションによるビデオ消去, -ac 1 でチャンネル数を1 = モノラルに)

ffmpeg -i in3.flv -vn -ac 1 out3.mp3

  
 
参考:
FFmpeg
 公式.
http://www.xucker.jpn.org/keyword/ffmpeg.html
 aki さんのサイト。日本語でのFFmpeg の情報が豊富です。
 
ffmpeg 対応フォーマット(-f)/コーデック(-acodec, -vcodec)一覧:

(ffmpeg -formats で得られる表示)
それぞれ先頭に D がついているものは入力として指定可能(Decordable),
E がついてるものは出力として指定可能(Encordable)です。
また、Codecs: については、先頭に A がついているものは音声コーデック(Audio Codecs),
V がついているものは動画コーデック(Video Codecs)を指します。

ffmpeg version CVS, build 4759, Copyright (c) 2000-2004 Fabrice Bellard
  configuration: –enable-mp3lame –enable-faac –enable-faad –enable-amr_nb –enable-amr_wb –disable-ffplay –enable-small –enable-memalign-hack –enable-gpl –enable-xvid –enable-dts –enable-a52 –disable-vhook –enable-pthread –enable-x264
File formats:
  E 3g2 3gp2 format
  E 3gp 3gp format
 D 4xm 4X Technologies format
 D RoQ Id RoQ format
 DE ac3 raw ac3
 DE alaw pcm A law format
 DE amr 3gpp amr file format
 DE asf asf format
  E asf_stream asf format
 DE au SUN AU Format
 DE audio_device audio grab and output
 DE avi avi format
 D avs Avisynth script
  E crc crc testing format
 D dts raw dts
 DE dv DV video format
  E dvd MPEG2 PS format (DVD VOB)
 D ea Electronic Arts Multimedia Format
 DE ffm ffm format
 D film_cpk Sega FILM/CPK format
 D flic FLI/FLC animation format
 DE flv flv format
 DE gif GIF Animation
 DE h261 raw h261
 DE h263 raw h263
 DE h264 raw H264 video format
 D idcin Id CIN format
 DE image image sequence
 DE image2 image2 sequence
 DE image2pipe piped image2 sequence
 DE imagepipe piped image sequence
 D ipmovie Interplay MVE format
  E ipod iPod MP4 format
 DE m4v raw MPEG4 video format
 D matroska Matroska file format
 DE mjpeg MJPEG video
 DE mmf mmf format // SMAF 形式オーディオ
  E mov mov format
 D mov,mp4,m4a,3gp,3g2 QuickTime/MPEG4 format
  E mp2 MPEG audio layer 2
 DE mp3 MPEG audio layer 3
  E mp4 mp4 format
 DE mpeg MPEG1 System format
  E mpeg1video MPEG video
  E mpeg2video MPEG2 video
 DE mpegts MPEG2 transport stream format
 D mpegvideo MPEG video
  E mpjpeg Mime multipart JPEG format
 DE mulaw pcm mu law format
 D nsv NullSoft Video format
  E null null video format
 DE nut nut format
 D ogg Ogg
  E psp psp mp4 format
 D psxstr Sony Playstation STR format
 DE rawvideo raw video format
 D redir Redirector format
 DE rm rm format
  E rtp RTP output format
 D rtsp RTSP input format
 DE s16be pcm signed 16 bit big endian format
 DE s16le pcm signed 16 bit little endian format
 DE s8 pcm signed 8 bit format
 D sdp SDP
 D shn raw shn
 D sol Sierra SOL Format
  E svcd MPEG2 PS format (VOB)
 DE swf Flash format
 DE u16be pcm unsigned 16 bit big endian format
 DE u16le pcm unsigned 16 bit little endian format
 DE u8 pcm unsigned 8 bit format
  E vcd MPEG1 System format (VCD)
 D vmd Sierra VMD format
  E vob MPEG2 PS format (VOB)
 DE wav wav format
 D wc3movie Wing Commander III movie format
 D wsaud Westwood Studios audio format
 D wsvqa Westwood Studios VQA format
 DE yuv4mpegpipe YUV4MPEG pipe format
  
Image formats (filename extensions, if any, follow):
 DE gif gif
  
Codecs:
 D V 4xm
 D V D 8bps
 DEA aac
 D V D aasc
 DEA ac3
 DEA adpcm_4xm
 DEA adpcm_adx
 DEA adpcm_ct
 DEA adpcm_ea
 DEA adpcm_ima_dk3
 DEA adpcm_ima_dk4
 DEA adpcm_ima_qt
 DEA adpcm_ima_smjpeg
 DEA adpcm_ima_wav
 DEA adpcm_ima_ws
 DEA adpcm_ms
 DEA adpcm_swf
 DEA adpcm_xa
 DEA adpcm_yamaha
 D A alac
 DEA amr_nb
 DEA amr_wb
 DEV D asv1
 DEV D asv2
 D V D camtasia
 D V D cinepak
 D V D cljr
 D V D cyuv
 D A dts
 DES dvbsub
 D S dvdsub
 DEV D dvvideo
 DEV D ffv1
 DEVSD ffvhuff
 D A flac
 D V D flic
 DEVSD flv
 D V D fraps
 DEA g726
 DEV D h261
 DEVSDT h263
 D VSD h263i
  EV h263p
 DEV DT h264
 DEVSD huffyuv
 D V D idcinvideo
 D V D indeo2
 D V indeo3
 D A interplay_dpcm
 D V D interplayvideo
  EV ljpeg
 D V D loco
 D A mace3
 D A mace6
 D V D mdec
 DEV D mjpeg
 D V D mjpegb
 DEA mp2
 DEA mp3
 D A mp3adu
 D A mp3on4
 DEVSDT mpeg1video
 DEVSDT mpeg2video
 DEVSDT mpeg4
 D A mpeg4aac
 D VSDT mpegvideo
 DEVSD msmpeg4
 DEVSD msmpeg4v1
 DEVSD msmpeg4v2
 D V D msrle
 D V D msvideo1
 D V D mszh
 DEV pam
 DEV pbm
 DEA pcm_alaw
 DEA pcm_mulaw
 DEA pcm_s16be
 DEA pcm_s16le // Windows PCM 形式オーディオ(*.wav)
 DEA pcm_s8
 DEA pcm_u16be
 DEA pcm_u16le
 DEA pcm_u8
 DEV pgm
 DEV pgmyuv
 DEV png
 DEV ppm
 D V D qdraw
 D V D qpeg
 D V D qtrle
 DEV rawvideo
 D A real_144
 D A real_288
 D A roq_dpcm
 D V D roqvideo
 D V D rpza
 DEV D rv10
 DEV D rv20
 D A shorten
 D V D smc
 DEV snow
 D A sol_dpcm
 DEA sonic
  EA sonicls
 D V D sp5x
 DEV D svq1
 D VSD svq3
 D V theora
 D V D truemotion1
 D V D ultimotion
 D V vc9
 D V D vcr1
 D A vmdaudio
 D V D vmdvideo
 D A vorbis
 D V vp3
 D V D vqavideo
 D A wmav1
 D A wmav2
 DEVSD wmv1
 DEVSD wmv2
 D V wmv3
 D V D wnv1
 D A ws_snd1
 D A xan_dpcm
 D V D xan_wc3
 D V D xl
  EV xvid
 DEV D zlib

IE で PNG-24 が透過されない

IE6 でアルファチャンネルで透過している PNG を単純に<img>で表示させるとαチャンネルが無視されるという仕様のようです。
この対策を調べたところ、filter を使った解決方法がありました。
 
ieでPNGを表示させる
 
ここを参考に IE の時のみ

<img src=”blank.gif” style=”filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’<画像のURL>’,sizingmethod=image);”>

のように、空画像へのフィルタとして実体画像を指定することで表示できました。

αチャンネルを画像から取り出す

convert drawn.png -channel matte -separate +matte matte.png

これで、drawn.png のαチャンネル(透過度)だけをモノクロで取得した画像を得ることができます。
参考:
http://www.cit.gu.edu.au/~anthony/graphics/imagick6/channels/#matte
情報元:
http://blawat2015.no-ip.com/~mieki256/diary/0623.html

画像ファイルの EXIF 情報を表示する

Exif 2.2 対応してるものは数が少ないですが、CUI で対応しているものを見付けました。
 
Exifファイルの情報表示プログラム(ナカタの Digital Wonder Land)
 
対応は Windows(バイナリ配布), Linux 他(ソース配布)。
記事を書いている現在、ソース(sanyo.c)が不足しているようですが、工夫すればコンパイル可能です。
 
なお、このプログラムはライセンス形態が特殊なため、ダウンロードの際は注意してください。