私のAndroid電話で撮影されたMP4ビデオがありますが、男は私の電話を奇妙な方法で持って撮影しました。
QuickTimeで表示する場合、ラップトップを90度回転させる必要があります。そうすると、通常のワイドスクリーンビデオとして表示され、すべてが良好に見えます。
VLCでは、ビデオはすでに適切なサイズのワイドスクリーンですが、逆さまになっているため、ラップトップを逆さまにする必要があります。
それをiMovieにインポートしたとき、90度回転させて右側を上にしましたが、ビデオは押しつぶされ、それでも背が高く、幅が広くなりました。
何が起こっているのかわかりませんが、どうすればワイドスクリーンで右側を上にすることができますか?
MP4ファイルにはrotate
フラグを付けることができます。これは、実際のビデオビットストリームのエンコードと方向付けの方法を変更せずに、再生中にビデオを回転するようにプレーヤーに指示します。バージョン 2.2. 以降、VLCはこのフラグをサポートします。
問題は、ビデオで何をしたいのかということです。基本的に2つの選択肢があります。
ffmpeg
ですべてを行うことができます。 静的ビルドをダウンロード オペレーティングシステム用に、ディレクトリに抽出します。例: ffmpeg
実行可能ファイルが~/Downloads
にあるようにします。次に、ターミナルウィンドウを開き、上記のディレクトリに移動します。
cd ~/Downloads
./ffmpeg
これにより、ffmpeg
バイナリが実行されます。詳細については、 ffmpeg
に関するブログ記事 をお読みください。
使用できる実際のコマンドは次のとおりです。実際のビデオビットストリームを保持してローテーションフラグを削除する場合は、最初のビデオストリームv:0
のメタデータを削除し、ビデオとオーディオのビットストリーム(-c copy
)をコピーするだけです。
ffmpeg -i input.mp4 -c copy -metadata:s:v:0 rotate=0 output.mp4
ビデオを180°反転させてトランスコードする場合は、ビデオエンコーダー(ここではlibx264
)と反転フィルターを指定する必要があります。オーディオストリームがコピーされます。
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -filter:v "hflip,vflip" -c:a copy output.mp4
CRF( Constant Rate Factor )を調整して、ビデオの品質を変更できます。正常な値は、入力品質に応じて18〜28の範囲です。低いほど品質が高くなるため、ビデオの外観が元のビデオよりも悪くなる場合は、CRF値を低くしてみてください。