iPhoneでの動画鑑賞を1.2倍グレードアップするためのTips

iPhoneで動画を楽しむ場合……特に、FileMagnet辺りを使って、iTunesを介さずにファイルをパラパラ出し入れしたい場合は、1ファイル辺りを細かく分割するのが望ましい。
(長時間のファイルだと、タイムバーをスライドさせて、頭出し等がやりづらくなるため。また、ファイルの転送が面倒……失敗した際に巨大ファイルを頭からコピーし直す気力は私にはない……という問題も解決する)

具体的な例、方法に入ろう。

mp4コンテナで、H.264(まあMPEG4でもいいのだが)で圧縮している場合は、以下のような一連のコマンド(これはシェルスクリプトだ……なので、以下ではスクリプトと書く)で分割ができる。なお、以下はMac OS X Leopardの場合なので、適宜読み替えて欲しい。

#!/bin/bash
#
# Split *.mp4 file to 100MB-File (per a file)
#

mp4box -splits 104000 $1
for FILENAME in `ls ${1%.mp4}?*.mp4`
do
ffmpeg -i $FILENAME -acodec copy -vcodec copy ${FILENAME%.mp4}s.mp4
mv $FILENAME ‾/.Trash/`date +%Y%m%d_%H%M%S`_$FILENAME
done

ここで利用している外部プログラムについては、以下のように手に入れることが可能だ。

 ・mp4box …… ffmpegXのパッケージに入っているので、取り出す。あるいは、ソースからビルドする。BSD系だとportsinstall、Ubuntu系だとaptから手に入れられると思う。

 ・ffmpeg …… macportsからインストールする。ffmpegXにも入っていそうな予感はする。もしなくても、MPEG StreamClipかiSquintには入っているだろう。

なお。上のスクリプトで、実際にmp4を分割するのは、「mp4box -splits 指定サイズ(KB) ファイル名」の部分だけで実行している。後ろのおまじないは、オーディオ部分とのタイムスケールの違いからか、超長時間のコンテナとしてファイル生成されてしまう問題に対応するものである(これは、環境によっては発生しない問題であろう)。

といっても、分割した全ファイルについて、ffmpegで、エンコード内容を変えずにコンテナを作り直しているだけだが。

貴方のムービーライフに幸あれ。

最後に……上記のスクリプトを利用することにより、いかなる不利益が発生しても当方としては関知しないのでそのつもりで。なお、このスクリプトは一切のエラー処理を含んでいない。




Additional comments powered by BackType