Ubuntuを使用してビデオファイルを90度回転させます


18

Ubuntuとできればffmpegなどの標準パッケージを使用して、.3gpビデオファイルを任意の方向に90度回転させたいと思います。コマンドラインまたはPythonスクリプトが望ましい。

どうやってやるの?


ffmpegでこれができることがわかりました。たとえば、Ubuntuフォーラムを
Simon

回答:


9

VLCを使用すると、[ツール] >> [設定...]に移動してビデオを回転できます。

そして、ショーの設定のために「すべて」を選択します。次に、ビデオ>>フィルタ>>回転に移動します

必要な角度を設定した後、[ツール]> [効果とフィルター]> [ビデオ効果]> [ジオメトリ...]に移動して回転できます。

代替テキスト

私がテストしたのはmp4ですが、VLCは3gpもサポートできると信じています。お役に立てれば。:)


13
私は、ビデオを回転表示することができますが、どのように変更が持続作るのです
justinhj


17

ffmpegを使用して、コマンドラインから:

ffmpeg -i input.3gp -filter:v transpose=1 \
-c:v libx264 -preset veryfast -crf 22 \
-c:a copy \
-metadata:s:v rotate="" \
output.3gp
  • transpose=1ビデオを時計回りに90度回転します。反時計回りに回転するには、を使用しますtranspose=2。詳細については、転置のドキュメントを参照してください。

  • -metadata:s:v rotate=""既存のビデオストリームローテーションメタデータを削除します。そうしないffmpegと、プレーヤーが追加の不要な回転を適用する原因となる可能性があります。

  • ここでのビデオエンコーディング設定の詳細については、ストリームコピーの代わりにオーディオを再エンコードする場合は、このH.264エンコーディングガイドAACエンコーディングガイドを参照してください。


これは、元の質問で指定されているように、ffmpegを使用してコマンドラインから実行する方法を説明しているため、質問によく答えます。この答えは正しいとマークされるべきだと思います。2017年5月のFedora 25では、MP4コーデックの非推奨メッセージがありますが、これはまだ機能します。
ジャスティンW.フローリー

4

Avidemuxはこれを実行できるはずです。

やるVideo->Filters->Rotate(x degrees)->Closeその後、File->Save->Save Video


2

同様の問題を解決しました。逆さまにした(つまり、180度回転させた).MOVを正しく設定したかったのです。

Ubuntu 14.04システムでavconvffmpegevilsoupの回答で指定されたものと本質的に同じコマンドラインオプションを使用して実行しました。どうやら、transpose180度回転のオプションをサポートしていないため、時計回りに90度(つまりtranspose=1)を2回行いました。

最小限のオプションを試してみると、次のようなメッセージが表示されました。

encoder 'aac' is experimental and might produce bad results.

Add '-strict experimental' if you want to use it.

出力ファイルの長さはゼロだったので、を追加しました-strict experimental

動作したコマンドラインは次のとおりです。

avconv -i IMG_orignl.MOV -filter:v 'transpose=1' -strict experimental IMG_interm.MOV
avconv -i IMG_interm.MOV -filter:v 'transpose=1' -strict experimental IMG_result.MOV

結果は満足のいくもので、説明のつかない副作用がありました。

  1. 中間ファイルは元のファイルよりも約14%小さくなりました。
  2. 結果ファイルは、中間より約18%小さく、元のファイルよりも約30%小さかった。
  3. 結果ファイルにはサムネイルが表示されますが、元の画像と中間画像には単なる一般的なアイコンが表示されます。

私が不満を言っているわけではありません。これらは望ましいものです。なぜ彼らが来たのか理解できない...


スーパーユーザーへようこそ。(1)回答の背景情報が役立つ場合がありますが、問題の解決策に焦点を当てるのが最善です。説明のために回答を編集しました。気軽に編集あなたは私はあまり変更されたことを信じている場合は、さらに、それを。(2)回答の表示順序は異なる場合があります。「上」と言うよりも、他の回答を明示的に識別する方が良いでしょう。(2.5)avconvコマンドとの違いだけでなく、コマンドライン全体を提示してくださいffmpeg。あなたの答えは自給自足でなければなりません。他の答えはなくなるかもしれません。(3)がんばって!
G-Manが「Reinstate Monica」と言う

また、「結果は満足できる」と言うときは、「結果」ファイル元のファイルと同じように見えたことを意味すると思います。あなたはそう明示的に言って(メッセージを編集する)したいかもしれません。(このような情報-つまり、目に見えるビデオ品質を失ったかどうか-はあなたの答えにとって重要であり、コメントに隠されてはいけません。)また、引用符を省いてちょうど言うことができます-filter:v transpose=1 …
G-Manが「Reinstate Monica」と言う

2

この質問が最初に回答された時からlibavにいくつかの変更がありました。これを最新かつ有用に保つために、以下を提供します。

あなたは最近のバージョンでこれを達成することができますffmpegし、avconv転置ビデオフィルタを使用することによって。

avconv -i inputfile -vf transpose=clock outputfile

時計回りに回転します。

ffmpegの構文は同じです。

ffmpeg -i inputfile -vf transpose=clock outputfile

どこINPUTFILEはサポートされている入力ビデオファイルで、outputfileは目的の出力ファイルです。

反時計回りに交換するには 時計cclockにます

ドキュメントからの抜粋を次に示します。

‘cclock_flip’

    Rotate by 90 degrees counterclockwise and vertically flip. (default)
‘clock’

    Rotate by 90 degrees clockwise.
‘cclock’

    Rotate by 90 degrees counterclockwise.
‘clock_flip’

    Rotate by 90 degrees clockwise and vertically flip. 

ソース:

https://libav.org/avconv.html#transpose

https://ffmpeg.org/ffmpeg-filters.html#transpose-1

Ubuntu 14.04.5 LTS、Ubuntu 16.04、Ubuntu 18.04でのテスト


1
最小限のパラメーターをありがとう。ffmpeg私のために働いた(試しませんでしたavconv
Amil Waduwawara

優秀な!はい、多くの投稿ffmpefには多くの不要な引数が含まれています、ありがとう!
マリアーノルイス

@MarianoRuizお役に立ててうれしいです。ffmpegは常に開発中なので、時間の経過とともに変化します。古い回答のいくつかよりも簡単な方法が存在することは驚くことではありません。乾杯!
オタク長老
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.