[FFmpeg-user] ffmpeg extremely high consumption

Henk D. Schoneveld belcampo at zonnet.nl
Sat Jun 13 16:04:48 CEST 2015


On 13 Jun 2015, at 15:42, En Figureo Canal <figureo56.com at gmail.com> wrote:

> On Sat, Jun 13, 2015 at 8:08 AM, Moritz Barsnick <barsnick at gmx.net> wrote:
> 
>> Hi En,
>> 
>> On Fri, Jun 12, 2015 at 14:23:24 -0400, En Figureo Canal wrote:
>>> Now, what other options are there using libx264, if any?
>> 
>> Well, have you read my email? Why do I go to the trouble of writing
>> those things if you don't engage with it.
>> 
>> E.g.:
>> 
>>>> If you showed us the complete, uncut output, we could see what the
>>>> specs of your streams are and whether something is wrong. This way,
>>>> without more info, we don't even know which resolution your material
>>>> has.
>> 
>> Have you shown us your uncut console output?
>> 
>> And:
>> 
>>>> - use a different preset (e.g. "-preset fast")
>>>> and experiment with both.
>>>> You could even copy the input stream, if its specs are sufficient. That
>>>> reduces CPU significantly.
>> 
>> Have you tried these things? What have you experimented? If the "fast"
>> preset doesn't suffice, try "ultrafast". Honestly, there can be a large
>> CPU difference. (I have achieved 3x from "faster" to "ultrafast" with
>> SD TV material.)
>> 
>> Another thing: Is your libx264 and ffmpeg compiled with proper yasm
>> support?
>> 
>> Moritz
>> 
>> A: Because it messes up the order in which people normally read text.
>> Q: Why is top-posting such a bad thing?
>> A: Top-posting.
>> Q: What is the most annoying thing in e-mail?
>> _______________________________________________
>> ffmpeg-user mailing list
>> ffmpeg-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>> 
> 
> 
> Thank you Moritz Barsnick for replying again and taking your time to help
> me out with my problem.
> 
> I do read your emails, if I'm top posting please pardon me. Gmail input is
> what might be top posting.
> 
> I experimented using "ultrafast" and indeed lowered the cpu stress to 50%
> which is a great improvement this is how I run the command:
> 
> ffmpeg -re -i /video.mp4 -vcodec libx264 -s 640x360 -vb 1024k -crf 23
> -preset ultrafast -pix_fmt yuv420p -maxrate 1256k -bufsize 1256k -ab 96k -f
> flv rtmp://ip/live/test
> 
> And this is the output:
> 
> ffmpeg version 2.5.4 Copyright (c) 2000-2015 the FFmpeg developers
>  built on Apr 27 2015 21:49:23 with gcc 4.7 (Debian 4.7.2-5)
>  configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=--static
> --extra-cflags=-I/root/ffmpeg_build/include
> --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --enable-gpl
> --enable-libass --enable-libfdk-aac --enable-libfreetype
> --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis
> --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
>  libavutil      54. 15.100 / 54. 15.100
>  libavcodec     56. 13.100 / 56. 13.100
>  libavformat    56. 15.102 / 56. 15.102
>  libavdevice    56.  3.100 / 56.  3.100
>  libavfilter     5.  2.103 /  5.  2.103
>  libswscale      3.  1.101 /  3.  1.101
>  libswresample   1.  1.100 /  1.  1.100
>  libpostproc    53.  3.100 / 53.  3.100
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/video.mp4':
>  Metadata:
>    major_brand     : mp42
>    minor_version   : 0
>    compatible_brands: isommp42
>    creation_time   : 2015-03-03 16:28:42
>  Duration: 01:41:30.90, start: 0.000000, bitrate: 712 kb/s
>    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 /
> 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 638 kb/s, 29.97 fps,
> 29.97 tbr, 30k tbn, 59.94 tbc (default)
If you look at the line above you see that your source already is h264, and the bitrate being 712kb/s.
So encoding doesn’t make sense, at least not to me. -vcodec copy should result in almost no CPU consuming at all.
Beside that -vb 1024k followed by -crf 23 also doesn’t make sense, the last overrules the former, -crf  ’takes’ what it needs for that quality thereby ignoring -vb #
Further the used x264 library is from 2012, the last binary is from 24 feb 2015, r2538 121396c, the newer versions will be more efficient. 
>    Metadata:
>      handler_name    : VideoHandler
>    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono,
> fltp, 72 kb/s (default)
>    Metadata:
>      creation_time   : 2015-03-03 16:29:33
>      handler_name    : IsoMedia File Produced by Google, 5-11-2011
> [libx264 @ 0x255e260] using SAR=1/1
> [libx264 @ 0x255e260] using cpu capabilities: MMX2 SSE2Slow SlowCTZ
> [libx264 @ 0x255e260] profile Constrained Baseline, level 3.0
> [libx264 @ 0x255e260] 264 - core 123 r2189 35cf912 - H.264/MPEG-4 AVC codec
> - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=0
> ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00
> mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11
> fast_pskip=1 chroma_qp_offset=0 threads=3 sliced_threads=0 nr=0 decimate=1
> interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0
> keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc_lookahead=0 rc=crf
> mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=1256
> vbv_bufsize=1256 crf_max=0.0 nal_hrd=none ip_ratio=1.40 aq=0
> Output #0, flv, to 'rtmp://69.64.49.252/live/test':
>  Metadata:
>    major_brand     : mp42
>    minor_version   : 0
>    compatible_brands: isommp42
>    encoder         : Lavf56.15.102
>    Stream #0:0(und): Video: h264 (libx264) ([7][0][0][0] / 0x0007),
> yuv420p, 640x360 [SAR 1:1 DAR 16:9], q=-1--1, 1024 kb/s, 29.97 fps, 1k tbn,
> 29.97 tbc (default)
>    Metadata:
>      handler_name    : VideoHandler
>      encoder         : Lavc56.13.100 libx264
>    Stream #0:1(und): Audio: mp3 (libmp3lame) ([2][0][0][0] / 0x0002),
> 44100 Hz, mono, fltp, 96 kb/s (default)
>    Metadata:
>      creation_time   : 2015-03-03 16:29:33
>      handler_name    : IsoMedia File Produced by Google, 5-11-2011
>      encoder         : Lavc56.13.100 libmp3lame
> Stream mapping:
>  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
>  Stream #0:1 -> #0:1 (aac (native) -> mp3 (libmp3lame))
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user



More information about the ffmpeg-user mailing list