昔々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に取り込むことができた。目的達成である。