Reputation: 35
I'm trying to resize a movie and to rotate it counter-clockwise using ffmpeg. I can achieve one or the other ok individually
ffmpeg -i MVI_8189.MOV -vf "transpose=2" -ss 00:00:12 -t 00:00:05 rotate.MOV
OR
ffmpeg -i MVI_8189.MOV -s 720x406 -ss 00:00:12 -t 00:00:05 resize.MOV
but if I try to do both, either-
ffmpeg -i MVI_8189.MOV -s 720x406 -ss 00:00:12 -t 00:00:05 resize.MOV
ffmpeg -i resize.MOV -vf "transpose=2" toutp.MOV
OR
ffmpeg -i MVI_8189.MOV -vf "transpose=2" -ss 00:00:12 -t 00:00:05 rotate.MOV
ffmpeg -i rotate.MOV -s 406x720 toutp.MOV
the final movie does not play, only audio, no video; neither previewing in Finder, nor in Quicktime. More seriously once I have attempted to play it, I can't then play any other movie whatsoever (only audio) - quicktime won't quit, constantly need to force-quit it. The only way to then restore seems to be reboot OS-X
This though does work -
ffmpeg -i MVI_8189.MOV -vf "transpose=2" -ss 00:00:12 -t 00:00:05 rotate.MOV
ffmpeg -i rotate.MOV -s 720x406 toutp.MOV
but doesn't do what I want - it stretches the movie in the wrong direction
Any ideas?
ffmpeg version 1.0.git Copyright (c) 2000-2012 the FFmpeg developers built on Dec 24 2012 18:43:25 with llvm-gcc 4.2.1 (LLVM build 2336.1.00)
MAC OSX 10.7.5
========== output from
ffmpeg -i MVI_8189.MOV -vf "transpose=2" -ss 00:00:12 -t 00:00:05 rotate.MOV
ffmpeg -i rotate.MOV -s 406x720 toutp.MOV
ffmpeg version 1.0.git Copyright (c) 2000-2012 the FFmpeg developers
built on Dec 24 2012 18:43:25 with llvm-gcc 4.2.1 (LLVM build 2336.1.00)
configuration: --prefix=/usr/local --enable-shared --disable-mmx --enable-libmp3lame --enable-gpl --enable-zlib --enable-libvorbis --enable-libfaac --enable-nonfree --enable-libx264 --enable-pthreads
libavutil 52. 12.100 / 52. 12.100
libavcodec 54. 81.100 / 54. 81.100
libavformat 54. 49.102 / 54. 49.102
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 29.101 / 3. 29.101
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MVI_8189.MOV':
Metadata:
major_brand : qt
minor_version : 537331968
compatible_brands: qt CAEP
creation_time : 2014-08-17 23:13:43
Duration: 00:01:32.40, start: 0.000000, bitrate: 44677 kb/s
Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p, 1920x1080, 43132 kb/s, 25 fps, 25 tbr, 25k tbn, 50k tbc
Metadata:
creation_time : 2014-08-17 23:13:43
Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s
Metadata:
creation_time : 2014-08-17 23:13:43
[libx264 @ 0x7fc67c043600] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
[libx264 @ 0x7fc67c043600] profile High, level 4.0
[libx264 @ 0x7fc67c043600] 264 - core 128 - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mov, to 'rotate.MOV':
Metadata:
major_brand : qt
minor_version : 537331968
compatible_brands: qt CAEP
encoder : Lavf54.49.102
Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), yuvj420p, 1080x1920, q=-1--1, 12800 tbn, 25 tbc
Metadata:
creation_time : 2014-08-17 23:13:43
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, s16, 128 kb/s
Metadata:
creation_time : 2014-08-17 23:13:43
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libx264)
Stream #0:1 -> #0:1 (pcm_s16le -> libfaac)
Press [q] to stop, [?] for help
frame= 125 fps=5.7 q=-2.0 Lsize= 6394kB time=00:00:05.00 bitrate=10470.5kbits/s /s
video:6322kB audio:67kB subtitle:0 global headers:0kB muxing overhead 0.079207%
[libx264 @ 0x7fc67c043600] frame I:1 Avg QP:25.87 size:113032
[libx264 @ 0x7fc67c043600] frame P:65 Avg QP:25.78 size: 64251
[libx264 @ 0x7fc67c043600] frame B:59 Avg QP:26.73 size: 37017
[libx264 @ 0x7fc67c043600] consecutive B-frames: 5.6% 94.4% 0.0% 0.0%
[libx264 @ 0x7fc67c043600] mb I I16..4: 10.7% 79.9% 9.3%
[libx264 @ 0x7fc67c043600] mb P I16..4: 3.6% 12.0% 0.3% P16..4: 52.0% 19.1% 11.3% 0.0% 0.0% skip: 1.7%
[libx264 @ 0x7fc67c043600] mb B I16..4: 0.9% 1.7% 0.0% B16..8: 45.4% 5.1% 0.8% direct:24.2% skip:21.9% L0:50.1% L1:44.5% BI: 5.3%
[libx264 @ 0x7fc67c043600] 8x8 transform intra:74.5% inter:79.5%
[libx264 @ 0x7fc67c043600] coded y,uvDC,uvAC intra: 59.4% 94.3% 79.5% inter: 38.2% 80.5% 30.1%
[libx264 @ 0x7fc67c043600] i16 v,h,dc,p: 30% 21% 22% 28%
[libx264 @ 0x7fc67c043600] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 14% 24% 6% 8% 9% 7% 8% 7%
[libx264 @ 0x7fc67c043600] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 18% 17% 6% 7% 8% 6% 6% 4%
[libx264 @ 0x7fc67c043600] i8c dc,h,v,p: 60% 14% 18% 8%
[libx264 @ 0x7fc67c043600] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x7fc67c043600] ref P L0: 43.9% 12.6% 26.8% 16.7%
[libx264 @ 0x7fc67c043600] ref B L0: 68.6% 31.4%
[libx264 @ 0x7fc67c043600] kb/s:10357.28
ffmpeg version 1.0.git Copyright (c) 2000-2012 the FFmpeg developers
built on Dec 24 2012 18:43:25 with llvm-gcc 4.2.1 (LLVM build 2336.1.00)
configuration: --prefix=/usr/local --enable-shared --disable-mmx --enable-libmp3lame --enable-gpl --enable-zlib --enable-libvorbis --enable-libfaac --enable-nonfree --enable-libx264 --enable-pthreads
libavutil 52. 12.100 / 52. 12.100
libavcodec 54. 81.100 / 54. 81.100
libavformat 54. 49.102 / 54. 49.102
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 29.101 / 3. 29.101
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'rotate.MOV':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
encoder : Lavf54.49.102
Duration: 00:00:05.01, start: 0.010667, bitrate: 10446 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p, 1080x1920, 10358 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc
Metadata:
handler_name : DataHandler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 109 kb/s
Metadata:
handler_name : DataHandler
[libx264 @ 0x7fcf1c05ba00] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
[libx264 @ 0x7fcf1c05ba00] profile High, level 3.0
[libx264 @ 0x7fcf1c05ba00] 264 - core 128 - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mov, to 'toutp.MOV':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
encoder : Lavf54.49.102
Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), yuvj420p, 406x720, q=-1--1, 12800 tbn, 25 tbc
Metadata:
handler_name : DataHandler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, s16, 128 kb/s
Metadata:
handler_name : DataHandler
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libx264)
Stream #0:1 -> #0:1 (aac -> libfaac)
Press [q] to stop, [?] for help
frame= 125 fps= 32 q=-2.0 Lsize= 469kB time=00:00:05.01 bitrate= 766.2kbits/s
video:396kB audio:68kB subtitle:0 global headers:0kB muxing overhead 1.088481%
[libx264 @ 0x7fcf1c05ba00] frame I:1 Avg QP:24.20 size: 31395
[libx264 @ 0x7fcf1c05ba00] frame P:42 Avg QP:24.51 size: 7137
[libx264 @ 0x7fcf1c05ba00] frame B:82 Avg QP:27.71 size: 893
[libx264 @ 0x7fcf1c05ba00] consecutive B-frames: 0.8% 16.0% 57.6% 25.6%
[libx264 @ 0x7fcf1c05ba00] mb I I16..4: 7.0% 62.2% 30.8%
[libx264 @ 0x7fcf1c05ba00] mb P I16..4: 0.2% 0.8% 0.1% P16..4: 52.8% 18.7% 12.5% 0.0% 0.0% skip:14.9%
[libx264 @ 0x7fcf1c05ba00] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 30.0% 0.8% 0.1% direct: 0.9% skip:68.2% L0:36.0% L1:62.1% BI: 2.0%
[libx264 @ 0x7fcf1c05ba00] 8x8 transform intra:66.4% inter:78.3%
[libx264 @ 0x7fcf1c05ba00] coded y,uvDC,uvAC intra: 79.3% 93.6% 84.9% inter: 13.6% 32.2% 10.4%
[libx264 @ 0x7fcf1c05ba00] i16 v,h,dc,p: 50% 19% 7% 24%
[libx264 @ 0x7fcf1c05ba00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 20% 11% 5% 8% 10% 9% 7% 8%
[libx264 @ 0x7fcf1c05ba00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 27% 22% 8% 5% 8% 8% 10% 5% 5%
[libx264 @ 0x7fcf1c05ba00] i8c dc,h,v,p: 42% 22% 24% 13%
[libx264 @ 0x7fcf1c05ba00] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x7fcf1c05ba00] ref P L0: 48.7% 16.3% 25.6% 9.4%
[libx264 @ 0x7fcf1c05ba00] ref B L0: 73.7% 21.3% 5.0%
[libx264 @ 0x7fcf1c05ba00] ref B L1: 90.7% 9.3%
[libx264 @ 0x7fcf1c05ba00] kb/s:647.04
Upvotes: 0
Views: 4629
Reputation: 1622
Simpler version:
ffmpeg -i input.mp4 -vf "transpose=2,scale=720:-2" output.mp4
The above command will:
Upvotes: 4
Reputation: 2316
I would rotate, and then resize (or vice versa). Let's assume you want the output video to be 1280 pixels wide, and the height to be proportional to the input aspect ratio.
ffmpeg -i movie.mp4 -filter_complex " [0] transpose=dir=2 [rotated] ; [rotated] scale=1280:-2 " fixed_movie.mp4
The -2
argument makes the output height equal to the appropriate aspect ratio, but divisible by 2.
Upvotes: 1