[FFmpeg-user] ffmpeg: parallel encoding and cpu utilization.
Jonathan Isom
jeisom at gmail.com
Tue Apr 30 16:00:32 CEST 2013
On Tuesday, April 30, 2013, theairkit wrote:
> Hi.
> First of all, sorry for my probably bad english (i`m russian).
>
> I test scheme for online conferences (using bmdcapture, ffmpeg,
> nginx-rtmp).
>
> So, i used ffmpeg to parallel encode to some formats at the same time.
>
> For clean test, i record rawvideo to file:
>
> bmdcapture -M 2 -A 2 -V 3 -m 8 -F nut -f ./rawvideo
>
> Then, i run command:
>
> cat ./rawvideo | \
> /usr/bin/ffmpeg -re -i - \
> -vcodec libx264 -acodec libfdk_aac -b:a 128k -ar 44100 -y -f flv
> rtmp://$url_1080p \
> -vcodec libx264 -acodec libfdk_aac -b:a 128k -ar 44100 -s 1280x720 -y -f
> flv rtmp://$url_720p \
> -vcodec libx264 -acodec libfdk_aac -b:a 128k -ar 44100 -s 720x404 -y -f
> flv rtmp://$url_pal \
> -vcodec libx264 -acodec libfdk_aac -b:a 128k -ar 44100 -s 960x640
> -pix_fmt yuv420p -y -f flv rtmp://$url_hls
>
>
I don't see a "-threads" option in the command above. If this is indeed the
command you are using, ffmpeg will not use more than 1 core/processor by
default. Try adding "-threads X" where X is the number of Threads you want
to use.
Later
Jonathan
> When it running, i see 'top -H' (fragment):
>
> 15672 root 20 0 1852m 1.2g 3988 R 94 15.1 0:52.96 ffmpeg
>
> That is, one thread utilizes up to 100% of one core.
> Other threads utilizes much less (each - about 20%).
>
> So, result video (i see in from web-page as flash, or as HLS from ipad) -
> is show very slowly, and some time not load.
>
> I suppose, that this thread is not enough CPU frequency, now its: 2 x
> Intel(R) Xeon(R) CPU E5520 @ 2.27GHz
>
> I trying to ran this command on other CPU (Intel(R) Xeon(R) CPU E5645 @
> 2.40GHz), it looked the same...
>
> So, my questions is:
> 1. Will help me increasing cpu frequency (if i use corei7 with frequency >
> 3GHz)?
> 2. Why this silngle ffmpeg thread uses so much single CPU (i would like to
> understand this...)?
> 3. Do you have any recommendations about hardware for using this scheme;
>
> Thanks in advance!
>
>
> Info about host and ffmpeg:
>
> ffmpeg version 1.2 Copyright (c) 2000-2013 the FFmpeg developers
> built on Apr 16 2013 13:46:11 with gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
> configuration: --prefix=/usr --enable-gpl --enable-nonfree
> --disable-yasm --enable-libx264 --enable-libmp3lame --enable-libfdk-aac
> libavutil 52. 18.100 / 52. 18.100
> libavcodec 54. 92.100 / 54. 92.100
> libavformat 54. 63.104 / 54. 63.104
> libavdevice 54. 3.103 / 54. 3.103
> libavfilter 3. 42.103 / 3. 42.103
> libswscale 2. 2.100 / 2. 2.100
> libswresample 0. 17.102 / 0. 17.102
> libpostproc 52. 2.100 / 52. 2.100
>
> Host:
> Distributor ID: Ubuntu
> Description: Ubuntu 10.04.4 LTS
> Release: 10.04
> Codename: lucid
> Linux 2.6.32-41-server #94-Ubuntu SMP Fri Jul 6 18:15:07 UTC 2012 x86_64
> GNU/Linux
> 2 x Intel(R) Xeon(R) CPU E5520 @ 2.27GHz
> 8GB RAM
>
> --
> theairkit.
> ______________________________**_________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/**listinfo/ffmpeg-user<http://ffmpeg.org/mailman/listinfo/ffmpeg-user>
>
More information about the ffmpeg-user
mailing list