昔々Vodafon時代のシャープの携帯電話で撮った写真と動画をディスク上に発見した。2003〜2005年頃のモノのようだ。貴重な思い出の品なので、iPhoneやデジカメでそうしているように写真、動画共にiPhotoに取り込むことにしたが、動画だけは取り込むことができない。さてさて…。
まず動画のフォーマットを調べてみる。mediainfoの結果は以下のとおり。拡張子はASFである。
General Complete name : MOL009.ASF Format : Windows Media File size : 428 KiB Duration : 8s 717ms Overall bit rate : 402 Kbps Maximum Overall bit rate : 458 Kbps Encoded date : UTC 2005-05-03 04:46:58.000 Video ID : 1 Format : MPEG-4 Visual Codec ID : M4S2 Codec ID/Hint : Microsoft Description of the codec : ISO MPEG-4('M4S2') Duration : 8s 733ms Bit rate : 346 Kbps Width : 320 pixels Height : 240 pixels Display aspect ratio : 4:3 Frame rate : 15.000 fps Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Bits/(Pixel*Frame) : 0.300 Stream size : 368 KiB (86%) Audio ID : 2 Format : ADPCM Codec ID : 45 Codec ID/Info : G.726 Codec ID/Hint : Microsoft Description of the codec : G.726 Duration : 8s 717ms Bit rate : 32.0 Kbps Channel(s) : 1 channel Sampling rate : 8 000 Hz Bit depth : 4 bits Stream size : 34.1 KiB (8%)
動画のフォーマットはiPhotoがサポートしているmovコンテナに乗りそうなので、ffmpegを使ってコンテナのみロスレス変換(ASF⇛MOV)してみることにした。
for i in *.ASF ; do ffmpeg -i $i -acodec copy -vcodec copy ${i%.*}.mov; done
変換は終了したが、QuickTime Playerで再生しても音声が鳴らない。ADPCMはサポートしない?
今度は動画はそのままで、音声をAACにエンコードしてmovにしてみた。
for i in *.ASF ; do ffmpeg -i $i -acodec libfaac -ac 1 -ab 48000 -vcodec copy ${i%.*}.mov; done
今度はうまくいったようだ。ちなみにオーディオのビットレート48000は、それ以上にするとエラーになるぎりぎりの値にしてある。
iPhotoに取り込む前にタイムスタンプを元の動画にそろえておこう。
for i in *.ASF ; do touch -r $i ${i%.*}.mov ; done
うまくiPhotoに取り込むことができた。目的達成である。