★カシオ EX-V7で撮影されたH.264 QuicktimeムービーをMP4形式に変換★
公開日 2007.07.01
最終更新日 2008.12.07
written by fashi
CASIO EXILIM EX-V7で撮影したQuicktime動画は音声部が特殊なため互換性の低いプレーヤーや編集ソフトに読ませると音声がノイズまみれになってしまったりエラーが出て開けなかったりします。(よく「H.264だからダメ」と言う人がいますがH.264は全く関係ありません。H.264のせいではなく、Quicktime形式の音声部の扱いに不備があるのだと思います)
ちなみにQuicktime Pro、QT Converter、MPEG Streamclip、TMPGEnc 4.0 XPressなどのQuicktimeリーダー経由でファイルを読み込む編集ソフトでは問題は起きません。 → 一応AviSynth経由で読み込む方法も紹介
ここではQuicktimeを用いて音声部のみAACに変換し、映像は再圧縮することなしに汎用性の高いMP4形式にする方法を紹介します。
<前提>
まずQuicktime 7以降が導入されていることが大前提です。Quicktime 6では映像部のH.264がデコードできません。なぜか無料版で大丈夫です。iTunesを導入している方は一緒に入っているはずです。
Quicktime Playerを使うのでAlternativeは不可です。
動作確認はWindows XP Pro SP2 / Windows 2000 SP4 で行いました。2000/XPなら多分大丈夫でしょう。
<スクリプトで変換する>
実作業としてはQuicktime Proでムービーを開き、エクスポートで「ムービーからMPEG-4」を選択してビデオを「そのまま」で書き出すだけなのですが、ファイルが多いと面倒なので一括変換できるスクリプトを作りました。スクリプトから操作すると無償版のQuicktimeでもエクスポート可能なようです。
ダウンロードファイル:mov2mp4.zip
解凍すると mov2mp4.vbs と QTExportSettings.xml が出てきます。
vbsファイルはVBScriptプログラムです。WinXPならそのまま実行できるはずです。Win2000の場合はWindows Script 5.6あたりを導入すれば実行できるのではないかと思います。
チェックが厳しいウイルス対策ソフトを導入していると警告が出るかもしれません。中身はテキストなので、メモ帳などで開けば怪しい処理がないか等確認することもできます。
ちなみにダブルクリックしてもエラーメッセージが出るだけで何も起こりません。
mov2mp4.vbsに撮影動画ファイルをD&Dします。(ダブルクリックして出てくるダイアログにD&Dするのではなく直接ファイルにD&Dします)
しばらくするとQuicktimeプレーヤーが起動してD&Dした動画を読み込みエクスポート処理が走ります。画面は真っ白だったりしますが大丈夫です。
元ファイルと同じ場所に拡張子MP4のファイルが生成されます。
なお、出力ファイルと同名のファイルが存在した場合は上書きされます。
MP4形式ならば、携帯動画変換君などでも普通に変換できます。
動画で説明
<注意事項>
- EX-V7で撮影したMOVファイル以外は変換できません(多分壊れたファイルが出来ます)
- EX-V7で撮影したMOVファイルでもLPモードは対象外です。
自動判定とかはしないので混ぜないように気をつけて下さい。
途中でキャンセルしても「出力しました」のダイアログが出ます。仕様です。
- 検証が不十分なので動作しないかもしれません。すいません。
- たまに例外エラーが出ます。もう一度やるとうまくいったりします。原因不明です。
Vistaでは動作しません(1ファイル変換したところで不正終了します) Vistaでは終了時にエラー吐きます。
<TIPS>
スクリプト中の settingmode = 0 を settingmode = 1 に変えると変換設定画面を表示します。
一度設定するとxmlファイルが更新されます。settingmode = 0 に戻すことで前回の設定で固定化されます。
<応用例>
- 携帯で撮影した3gp/3g2ファイルのmp4化
携帯で撮ったムービーや携帯のICレコーダ機能で録音した音声が3gp/3g2形式で、
そこらへんのプレーヤーで再生すると3秒ないし15秒で止まってしまう(断片化)
→ ビデオもオーディオも「そのまま」にしてMPEG-4形式(.mp4)でエクスポートすればOK
<開発/更新メモ>
履歴:
- 2007.7.1 作成
- 2007.7.5 メモ追加
- 2007.7.12 動画解説追加
- 2007.8.24 iPod 5.5Gでは再生できないことを確認。iPodにはビットレート高すぎてダメか。独自プロファイルらしいし。
- 2008.3.14 設定ダイアログを出す前に既存の設定を読み込むようにした。
- 2008.3.29 更新日時を維持するようにした(keeptimestamp=1) / 例外抑制措置
- 2008.4.15 ソース整理 / Vistaでは動作しないことを確認
- 2008.4.29 Vistaでもとりあえず1回は動くようにしていたらXPでも1回しか動かなくなっていたのを修正
- 2008.12.3 Vistaでもとりあえず動くようにした(終了時に必ずエラーが出ます)
- 2008.12.7 応用例追加
ToDo:
タイムスタンプを元ファイルに揃えられるようにする R3で対応
- 設定ファイルを作ってHTAで設定GUI作って上書きorリネームとか設定できるようにする
- MJPEG動画機対象にH.264に再エンコードするバージョンとか作るのも面白いかもしれない (R2以降手動で設定すれば可)
- VBScriptをちゃんとする
(変数宣言とか) R4でとりあえず変数宣言
板
(´-`).。oO(EX-V7で直接MP4形式で撮れるようにならんものか… AACのライセンスとかあるからダメなのかな…)
(´-`).。oO(MP4Cam2AVIの使い勝手が良くなってきてEX-V8でも使えるようになったらしいので元々の目的ではお役目終了かな…)
(´-`).。oO(qtControl.Movie.Rotate使って90度回転させながら一括エクスポートとか出来るのかな?と思ったけどダメだった)