web-dev-qa-db-ja.com

H264ビデオを回転させる方法は?

私は以下を試しました:

$ avconv -i in.mov -codec:video copy -codec:audio copy -filter transpose=clock out.mov
avconv version 0.8.6-6:0.8.6-1ubuntu2, Copyright (c) 2000-2013 the Libav developers
  built on Mar 30 2013 22:23:21 with gcc 4.7.2
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'in.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 537331968
    compatible_brands: qt  CAEP
    creation_time   : 2013-03-03 15:47:47
  Duration: 00:00:18.97, start: 0.000000, bitrate: 45882 kb/s
    Stream #0.0(eng): Video: h264 (Constrained Baseline), yuvj420p, 1920x1080, 44343 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 48k tbc
    Metadata:
      creation_time   : 2013-03-03 15:47:47
    Stream #0.1(eng): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
    Metadata:
      creation_time   : 2013-03-03 15:47:47
Output #0, mov, to 'out.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 537331968
    compatible_brands: qt  CAEP
    creation_time   : 2013-03-03 15:47:47
    encoder         : Lavf53.21.1
    Stream #0.0(eng): Video: avc1 / 0x31637661, yuvj420p, 1920x1080, q=2-31, 44343 kb/s, 24k tbn, 24k tbc
    Metadata:
      creation_time   : 2013-03-03 15:47:47
    Stream #0.1(eng): Audio: pcm_s16le, 48000 Hz, stereo, 1536 kb/s
    Metadata:
      creation_time   : 2013-03-03 15:47:47
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press ctrl-c to stop encoding
frame=  455 fps=379 q=-1.0 Lsize=  106291kB time=18.94 bitrate=45983.9kbits/s    
video:102724kB audio:3558kB global headers:0kB muxing overhead 0.008270%

結果のout.movは問題なく再生されますが、ビデオは回転されません。私は多くの異なるフィルターを試しました:

transpose=1
rotate=1
rotate=clock

すべて同じ結果になります。

1
l0b0

これを機能させるには、x264パッケージをインストールし、copyではなく-codec:video libx264を使用する必要があることがわかりました。奇妙なことに、出力にはコーデックの欠落やオプションの競合を示すものは何もありません。作業コマンド:

$ Sudo apt-get install x264
$ avconv -i in.mov -codec:video libx264 -codec:audio copy -vf transpose=clock out.mov
1
l0b0

ちなみに、少なくとも12.04.4では、libx264を使用した承認済みの回答は完全ではありません。エンコーダーライブラリlibx264をavconvにフックするには、別のパッケージ(およびそのすべての依存関係)をインストールする必要があります。

参照 buntuフォーラムのこの投稿

_$ Sudo apt-get install libavcodec-extra-53
_

次に、それがインストールされていることを確認できます。

$ avconv -codecs|grep 264 avconv version 0.8.10-4:0.8.10-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers built on Feb 6 2014 20:56:59 with gcc 4.6.3 D V D h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 D V D h264_vdpau H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (VDPAU acceleration) EV libx264 libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10

3
core24