I am trying to flip video using avconv
on Ubuntu. When it flips 1 minute video, it takes 12 to 40 seconds for processing and conversion.
Video file size : 7mb, Duration : 1 minute
avconv -i 1_1.mp4 -c:v libx264 -c:a copy -vf "vflip" conv.mp4
and the result is:
avconv version 0.8.12-4:0.8.12-0ubuntu0.12.04.1, Copyright (c) 2000-2014 the Libav developers
built on Jun 10 2014 15:32:44 with gcc 4.6.3
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1_1.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41
creation_time : 2013-06-06 07:42:07
Duration: 00:03:45.15, start: 0.000000, bitrate: 266 kb/s
Stream #0.0(eng): Video: h264 (High), yuv420p, 640x360 [PAR 1:1 DAR 16:9], 216 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc
Metadata:
creation_time : 2013-06-06 07:42:07
Stream #0.1(eng): Audio: aac, 32000 Hz, mono, s16, 46 kb/s
Metadata:
creation_time : 2013-06-06 07:42:07
[buffer @ 0x972c240] w:640 h:360 pixfmt:yuv420p
[libx264 @ 0x9745e20] using SAR=1/1
[libx264 @ 0x9745e20] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
[libx264 @ 0x9745e20] profile Main, level 3.0
[libx264 @ 0x9745e20] 264 - core 120 r2151 a3f4407 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=0 b_adapt=1 b_bias=0 direct=1 weightb=0 open_gop=1 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.25 aq=1:1.00
Output #0, mp4, to 'conv.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41
creation_time : 2013-06-06 07:42:07
encoder : Lavf53.21.1
Stream #0.0(eng): Video: libx264, yuv420p, 640x360 [PAR 1:1 DAR 16:9], q=-1--1, 25 tbn, 25 tbc
Metadata:
creation_time : 2013-06-06 07:42:07
Stream #0.1(eng): Audio: libvo_aacenc, 32000 Hz, mono, 46 kb/s
Metadata:
creation_time : 2013-06-06 07:42:07
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libx264)
Stream #0:1 -> #0:1 (copy)
Press ctrl-c to stop encoding
frame= 5627 fps=153 q=-1.0 Lsize= 7880kB time=225.04 bitrate= 286.9kbits/s
video:6487kB audio:1271kB global headers:0kB muxing overhead 1.580010%
[libx264 @ 0x9745e20] frame I:27 Avg QP:15.59 size: 19598
[libx264 @ 0x9745e20] frame P:1478 Avg QP:20.11 size: 3175
[libx264 @ 0x9745e20] frame B:4122 Avg QP:29.13 size: 344
[libx264 @ 0x9745e20] consecutive B-frames: 1.9% 0.5% 2.1% 95.5%
[libx264 @ 0x9745e20] mb I I16..4: 20.1% 0.0% 79.9%
[libx264 @ 0x9745e20] mb P I16..4: 1.2% 0.0% 1.7% P16..4: 23.9% 12.3% 5.6% 0.0% 0.0% skip:55.2%
[libx264 @ 0x9745e20] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 18.4% 2.3% 0.2% direct: 0.3% skip:78.8% L0:41.7% L1:51.7% BI: 6.6%
[libx264 @ 0x9745e20] coded y,uvDC,uvAC intra: 64.4% 44.0% 15.7% inter: 4.3% 4.8% 0.2%
[libx264 @ 0x9745e20] i16 v,h,dc,p: 40% 19% 13% 28%
[libx264 @ 0x9745e20] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 29% 22% 17% 5% 7% 6% 6% 5% 4%
[libx264 @ 0x9745e20] i8c dc,h,v,p: 65% 13% 19% 3%
[libx264 @ 0x9745e20] Weighted P-Frames: Y:1.9% UV:1.2%
[libx264 @ 0x9745e20] ref P L0: 72.8% 7.2% 13.5% 6.4% 0.0%
[libx264 @ 0x9745e20] ref B L0: 91.2% 8.8%
[libx264 @ 0x9745e20] kb/s:236.07
And time taken is 13 seconds.
You are approaching the problem from the wrong angle. The size of the file is not the problem here. In order to run vflip
the avconv
must do the following:
┌──────────┐ ┌──────────┐ ┌────────────┐
│ Decode a │⇨⇨⇨⇨⇨⇨⇨⇨ │ Run vlip │ │ Reencode │
│ frame │ │ filter │⇨⇨⇨⇨⇨⇨⇨⇨ │ the frame │
└──────────┘ └──────────┘ └────────────┘
So you cannot approach the question by asking "How long can the rotation of 7MiB file take?" but rather "How long does it take to decode every frame, rotate it, and reencode it back again?"
13 seconds is not as horrible as you may think. You have 5627 frames 640x360 in size. Try to create this many pictures and see how long some other application will take to flip them upside down. My guess would be that it'll take a good part of 13 seconds. The rest of the time your avconv
is busy doing decoding and reencoding.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.