Я пробовал следующее:
$ 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
Все с одинаковым результатом.
Оказалось, что необходимо было установить пакет 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
К вашему сведению, принятый ответ с использованием 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