読者です 読者をやめる 読者になる 読者になる

QuickTime for Windows無しでMOVファイルの映像を読み込む

 下記投稿に詳細を記述しましたが、QuickTime for Windowsが事実上サポート終了しているため、セキュリティ上の危険性から直ちにアンインストールすべきであると各所で報じられています。
wave.hatenablog.com

 素直にアンインストールすると、QuickTimeに依存するソフトウェアでは、QuickTime形式のファイル(MOVファイル)が読めなくなります。
 

エラーメッセージ例

 一例として、Sony Creative SoftwareのMovie Studio Platinum 13.0のエラーメッセージを掲載します。(上位版のVegas Proシリーズでも同様ですし、QuickTimeに依存するソフトウェアは基本的に同様の事態になります。)

1.1 MOVファイルを読み込もうとすると、QuickTimeインストールしてよ的なダイアログが表示される
f:id:kachine:20160419194339p:plain

1.2 上記ダイアログで[OK]を押すとエラーダイアログが表示される
f:id:kachine:20160419194608p:plain
 

対策

 冒頭にリンクを張った投稿にも記載しましたが、QuickTime形式以外にコンテナ変換を行えばQuickTime for Windowsに依存せず読み込み可能です。
 本投稿ではffmpegを使用する場合の具体的なコマンド例を紹介します。

例1
ffmpeg -i INPUT.MOV OUTPUT.MP4

INPUT.MOVを変換したいQuickTime形式のファイル名、OUTPUT.MP4を変換後のファイル名に置き換えてください。
コマンドとしては一番簡単ですが、これだけでは、MP4形式に変換可能なものの、再エンコードされてしまいます。すなわち、映像・音声のクオリティの劣化とエンコードのための処理時間を必要とします。
本例は例2に繋がる説明用に掲載しただけで、推奨しません。
 

例2
ffmpeg -i INPUT.MOV -vcodec copy -acodec copy OUTPUT.MP4

例1に"-vcodec copy"と"-acodec copy"というオプションを加えたものです。
映像・音声共に、元のコーデックのまま複製せよという指定となり、再エンコードを実施しないため、高速かつオリジナル品質を維持したまま、MP4形式にコンテナ変換が可能です。
ほとんどの用途ではこの例に従ってコンテナ変換を行えば問題ないでしょう。
なお、最近の機材の多くはH.264で圧縮されているため、変換後ファイルはMP4を指定すれば問題ありませんが、古いデジタルカメラなどではMotionJPEGの場合があります。この場合はAVIに変換するなどすればよさそうですが、該当ファイルが手元にないため未検証。
 

(参考)間違った思考

「movファイルの拡張子をmp4に変えるだけなら、ffmpegなんて使わずにファイル名をリネームすればよいではないか?」という思考は間違っています。
(PDFファイルの拡張子をDOCXに変えても、ワードで文書編集できるようにならないのと同じです。)
そんなことをしても、拡張子がおかしい映像ファイルになるだけですので、単にファイルの拡張子を変えるのではなく、コンテナ形式を変える必要があります。
 



以上。