このツールについて
MP4・MOV・WebM・MKVをドロップして、プレビューが正しく見えるまで「左に回転」「右に回転」「180°」を押し、書き出すだけです。長い動画でも数秒で終わります。何もデコードしないからで、ファイルの中の映像と音声はそのままコピーし、コンテナにある「向きの印」だけを書き換えます。ファイルはパソコンの外に出ません。スマホで撮った動画がパソコンやテレビで横向きに再生される、スマホを逆さに持って撮ってしまった、という場面のためのページです。
「向きの印」とは
スマホを横に構えても、映像そのものが回転して記録されるわけではありません。センサーが見たままのフレームを記録し、ファイルに「表示するときは90°回して」という小さなメモを添えるだけです。プレイヤーはフレームを描く前にこのメモを読みます。スマホでは正しく見えるのに別の場所では横向きになるのは、片方がメモを読み、もう片方が読まなかったからです。このツールは、ファイルに元からある印を読み取り、選んだ角度を足して書き戻します。元から90°のクリップで90°を選べば結果は180°になるので、プレビューは常に最終ファイルが示す向きを表しています。書き出した後は新しいファイルを読み直し、印が指定と違えばファイルを渡しません。
WebM・MKVがMP4になる理由
MP4とMOVには、プレイヤーが長年共通して読んでいる向きの項目があります。この2つは元のコンテナのままです。WebMとMKVには、プレイヤーが揃って従う向きの項目がないため、回転したWebMやMKVはMP4として書き出します。パケットには一切手を付けず、外側の箱を替えるだけです。現時点でこの経路に通せるのは、映像がH.264・HEVC・VP9・AV1、音声がAAC・Opus・MP3・FLACのファイルだけです。VP8の映像やVorbis・PCMの音声もMP4に入れること自体はできますが、MP4の中にあることを想定していないプレイヤーが多いので、再生できないかもしれないファイルを作る代わりに、コーデック名を示して止まります。
正直な限界
書き換えるのは印だけなので、結果はプレイヤーがそれを尊重するかどうかにかかっています。ほとんどのプレイヤーとスマホは従いますが、一部のプレイヤー、古いテレビ、一部のサイトのアップロード処理は印を無視して横向きのまま表示することがあります。どれがそうなのかは検証していません。映像そのものを回転させるには再エンコードが必要で、このページでは行いません。角度は90°の倍数だけで、任意の角度や左右・上下反転はできません。1回に1本です。プレビューが黒いままなら、ブラウザがそのコーデックをデコードできないということです(HEVCのデコーダーがないパソコンでHEVCを開いた場合など)。回転自体はそのままできて、出力は元の動画が再生できた場所ならどこでも再生できます。
デスクトップ版のChromium系ブラウザでは、選んだファイルへ直接ストリーミングで書き込むので、大きな動画でもメモリに全部載せる必要がありません。それ以外のブラウザではメモリ上で組み立てるため、上限は約1 GBです。出力は新しいコンテナで、映像と音声のパケットだけが入ります。元ファイルのタイトル・撮影日・GPS位置といった説明用のタグは引き継がれません。前後も切りたいならVideo Trimmerが同じコピー方式で開始点と終了点を扱います。Mute Videoは音声を外し、Video Infoは今の向きを含めてファイルが自分について何を書いているかを見せてくれます。