Как повернуть видео 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
задан 27 May 2013 в 00:59

2 ответа

Оказалось, что необходимо было установить пакет x264 и использовать -codec:video libx264 вместо copy для этой работы. Как ни странно, в выводе ничего не указывалось на отсутствующие кодеки или конфликтующие опции. Рабочие команды:

$ sudo apt-get install x264
$ avconv -i in.mov -codec:video libx264 -codec:audio copy -vf transpose=clock out.mov
0
ответ дан 27 May 2013 в 00:59

К вашему сведению, принятый ответ с использованием libx264 не является полностью полным, по крайней мере, 12.04.4. Вы должны установить другой пакет (и все его зависимости), чтобы библиотека libx264 подключилась к avconv.

См. этот пост на форумах Ubuntu.

$ 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

0
ответ дан 27 May 2013 в 00:59

Другие вопросы по тегам:

Похожие вопросы: