Page 1 of 2

increase convert speed for my computer's hardware ?

Posted: Thu Mar 27, 2014 7:44 am
by minhcute
Hi,

I used VSO Video Converter to converte a video to 720p Bluray structure (BDMV folder and CERTIFICATE folder) and convert speed is very slow.Here is Mediainfo of that video :

General
Complete name : E:\Phim\Creepshow 1 (1982)\Creepshow 1.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 957 MiB
Duration : 2h 0mn
Overall bit rate mode : Variable
Overall bit rate : 1 111 Kbps
Encoded date : UTC 2013-09-17 08:24:54
Tagged date : UTC 2013-09-17 08:24:54

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.0
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 2h 0mn
Bit rate : 980 Kbps
Maximum bit rate : 9 279 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.044
Stream size : 843 MiB (88%)
Writing library : x264 core 133 r2334 a3ac64b
Encoding settings : 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=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=4 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=980 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=25000 / vbv_bufsize=31250 / nal_hrd=none / ip_ratio=1.40 / aq=1:1.00
Encoded date : UTC 2013-09-17 07:21:49
Tagged date : UTC 2013-09-17 08:25:22

Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 2h 0mn
Bit rate mode : Variable
Bit rate : 128 Kbps
Maximum bit rate : 132 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Stream size : 110 MiB (12%)
Title : 1982.1080p.BluRay.x264.anoXmous_track2.aac#trackID=1:lang=en@GPAC0.5.1-DEV-rev4283
Language : English
Encoded date : UTC 2013-09-17 08:25:03
Tagged date : UTC 2013-09-17 08:25:22

The converte time is very long : 3 hours 57 minutes.How to increase the convert speed of my computer's hardware? My hardware's properties are below :

Windows 7 Ultimate 32 bit
Processor : IntelR) Celeron(R) CPU G550 @ 2.60GHz 2.60GHz
Installed memory (RAM) : 2,00 GB (1,70 GB usable)

Wait for your reply
Best regards

Re: increase convert speed for my computer's hardware ?

Posted: Thu Mar 27, 2014 5:57 pm
by skoenig1
Few things I can suggest

- VC supports CUDA encoding via an Nvidia Graphics card
This is probably the quickest and easiest route to improving performance on your setup providing you have a desktop you can upgrade in this way. Most of the low end nVidia based cards have CUDA processing on board. Google it to find out. OK cards should be in the 90 euro plus range and will improve you overall desktop speed too.

- 2 GB of ram is pretty low
I'm not totally sure of the impact ram has but if your operating system uses at least 1 GB that leaves 1GB free, the OS can supply more memory but it's virtual memory meaning it's actually using your hard drive for some of it. This can be severely detrimental to performance for this kind of operation. I'd have at least 4Gb if not 8 or 16, ram is fairly cheap now days.

- The Celeron G550 is very slow for this sort of thing
Have a look at http://www.cpubenchmark.net/cpu.php?cpu ... 40+2.60GHz so whilst the celeron is good in terms of cost/performance it's just not a high performing CPU at all and might simply lack some of the silicon to optimize some of the operations properly. In normal use the Celeron is perfectly acceptable for web browsing and everyday computing of course.

To give you an idea of the frames per second on another machine

In software on my computer I usually gets about 100-130 frames per second per stream for two SD simultaneous streams (this doesn't necessarily mean I'll get 220 fps for one stream though) with a 3 years old Intel i7-2600k under the hood
In hardware (CUDA - Nvidia) I usually see up to 300 fps per stream for two 720p streams on an nVidia GTX 760
In hardware (QuickSync - Intel) I usually see up to 350 per stream for two 720p streams depending on video definition - not with VC but just for comparison

So where possible you want to use hardware encoding instead of software encoding as h/w is optimize for the purpose where normal CPU are general computing devices so must 'emulate' what the hardware performs. With yoru current setup I'd have processing only 1 file at a time too I'm not sure of the thread management on that CPU and in any case you don't have the ram to do support it.

Hope this helps

~Steph

Re: increase convert speed for my computer's hardware ?

Posted: Sat Mar 29, 2014 5:49 am
by minhcute
Thank skoenig1 very much for suggesting me.With the hardware I have been using,in ConvertXtoDVD,the convert speed is about 102 fps.With me,this speed is not bad.And I am sastisfied enough with this speed.So I only need VSO Video Converter also has this speed.If this may be happened,I will be very sastified.(at present,conversion speed of VSO Video Converter in my computer is only 12 fps - a very small number !).

So I hope VSO team will support my computer's hardware in VSO Video Converter in the near future.I only need VSO Video Converter's conversion speed is also 102 fps as in ConvertXtoDVD.I am satisfied enough with this speed.And,may be you don't know,in my country (Vietnam),the hardware type which I have been using is very popular now.

Wait for your reply

Re: increase convert speed for my computer's hardware ?

Posted: Mon Apr 07, 2014 1:27 pm
by minhcute
VSO team,why don't you have any reply for me ?

Re: increase convert speed for my computer's hardware ?

Posted: Mon Apr 07, 2014 1:53 pm
by cedric
Hello minhcute,

The problem is you're comparing DVD-Video and Blu-ray encoding, and for sure they are really different formats.
Like Video Converter use ConvertX DVD encoder engine, converting to DVD-Video will take same time in Video converter and Cx...

Like Steph said "The Celeron G550 is very slow for this sort of thing", and converting to HD format (1920x1080 resolution) request high resources computer.
The only thing you can do to increase encoding speed is to enable CUDA (hardware encoding) if you have an Nvidia graphic card (otherwise buy one...)

Regards,

Re: increase convert speed for my computer's hardware ?

Posted: Mon Apr 07, 2014 2:38 pm
by igor_lvk
Just for testing i run a conversion of a 720x368 xvid movie to blu-ray structure of a 1080p and got only 47fps too. Using CUDA on Geforce590 and 3.3Ghz core2duo. Not using best video option.

Re: increase convert speed for my computer's hardware ?

Posted: Mon Apr 07, 2014 2:47 pm
by cedric
Hello igor_lvk,

Why do you said: got "only" 47fps too?

Regards,

Re: increase convert speed for my computer's hardware ?

Posted: Mon Apr 07, 2014 3:19 pm
by igor_lvk
cedric wrote:Hello igor_lvk,

Why do you said: got "only" 47fps too?

Regards,
Hm, I said what it is.

Re: increase convert speed for my computer's hardware ?

Posted: Mon Apr 07, 2014 3:22 pm
by cedric
Why "only"?

Re: increase convert speed for my computer's hardware ?

Posted: Mon Apr 07, 2014 3:38 pm
by igor_lvk
cedric wrote:Why "only"?
it's not growing up to 300 as skoenig1 wrote in his message. If i convert just video to video(any to xvid) with cuda without best quality then i got 300fps.

Re: increase convert speed for my computer's hardware ?

Posted: Mon Apr 07, 2014 3:48 pm
by cedric
Ok,

Like CUDA is not used for Xvid output (CUDA is only used for H264 encoding...) I think the speed difference is due to output resolution difference.
skoenig1 use 720p output profile when you use 1080p so, another time you can't compare speed there.
Do you have same graphic card "GTX 760" as skoenig1?

Regards,

Re: increase convert speed for my computer's hardware ?

Posted: Mon Apr 07, 2014 3:57 pm
by igor_lvk
cedric wrote:Ok,

Like CUDA is not used for Xvid output (CUDA is only used for H264 encoding...) I think the speed difference is due to output resolution difference.
skoenig1 use 720p output profile when you use 1080p so, another time you can't compare speed there.
Do you have same graphic card "GTX 760" as skoenig1?

Regards,
I've got GTX 590 Asus. I know that card is working because the temperature is 74C of two processors and all time process is 45 min to convert. But maybe there's something displaying wrong. I just don't know.

Re: increase convert speed for my computer's hardware ?

Posted: Mon Apr 07, 2014 4:00 pm
by cedric
Maybe you enabled hardware DECODING? that's why your graphic card is working when encoding to Xvid...

Re: increase convert speed for my computer's hardware ?

Posted: Mon Apr 07, 2014 4:15 pm
by igor_lvk
cedric wrote:Maybe you enabled hardware DECODING? that's why your graphic card is working when encoding to Xvid...
Yes, it's enabled. Ok, i found that 2-pass not working. I marked that but nothing happend. Only one pass goes. And without cuda i've got only 12fps converting to 720p BD-Ray as minhcute complain. So he is kinda right. ))

Re: increase convert speed for my computer's hardware ?

Posted: Mon Apr 07, 2014 4:24 pm
by cedric
"without cuda i've got only 12fps converting to 720p"
-> this result is normal, H264 is resource greedy for HD conversions.

If CPU usage is near to 100% while converting, that mean your CPU can't convert faster (and we can't do anything more).

Will check your double pass issue soon.
Thank you for your feedback...

Regards,

Re: increase convert speed for my computer's hardware ?

Posted: Mon Apr 07, 2014 4:27 pm
by igor_lvk
cedric wrote:"without cuda i've got only 12fps converting to 720p"
-> this result is normal, H264 is resource greedy for HD conversions.

If CPU usage is near to 100% while converting, that mean your CPU can't convert faster (and we can't do anything more).

Will check your double pass issue soon.
Thank you for your feedback...

Regards,
Ok, thanks for replying Cedric.

Re: increase convert speed for my computer's hardware ?

Posted: Mon Apr 07, 2014 4:41 pm
by igor_lvk
Discovered that 2-pass not working when you converting anything to DVD or BD or any other format except Xvid. When you converting video to video to xvid then it's working.

Re: increase convert speed for my computer's hardware ?

Posted: Tue Apr 08, 2014 7:37 am
by skoenig1
Hi Igor,

Few things I've noticed that might help you understand whats going on.

Slight more useful number for you now that I've used VC a lot more.

If it's just converting 720p (or there abouts) to 720p then it's about 300fps
if it's 480p (cartoons/ sd tv) to 480p then it can go as high as 400-440 FPS.
if I'm doing 720p/1080p -> 480p I typically see around 170-180 FPS

Most hardware compression doesn't really do 2 pass. In old days 2-pass was used to help optimize the bit usage intra scene by 'pre-packing' bits a head of scene changes or key frames. So that would help quality with short fast motion scenes where the compressor knew in advance when more bps was need (a log file of some sort is typically the result of pass 1) and somehow use this information to do a better job of compression. With hw encoding the hw does the heavy lifting quantising etc. and it just wants a single stream of images to compress, it has it's own buffers for temporal analysis. Most hw encoder that I've messed with don't do anything with 2 pass, you simply set a quality value (qf it's sometimes called) and the hw encodes it very very fast. I could be wrong but that's my take on 2-pass - you get slightly better bit-efficiency but with h264 and onwards it's hardly noticeable for the cost. The cost is 2 passes using software compression or, for me, roughly 6-10 times slower overall for the compression and an almost locked up machine (assuming you use all cores).

Also, Cedric jump in if I'm off base, if you're scaling the image before compression the actual scaling probably occurs on the CPU not the GPU, I've seen my CPU cores jump to 50% usage with VC and I think this is the because the CPUs are handling software scaling of the HW decoded images before passing them to the GPU for CUDA compression. Scaling it's fairly simple if your CPU has a good ALU with multiple streams/threads laid out in hardware. If my guess is right then the flow is as follows:

HW Decode -> CPU Scaling -> HW Encoding

In this case, once again your CPU is the limiting factor. Celerons lack silicon to do some of these things in hardware very quickly and if they have the silicon then for sure the cache size is too small for the CPU to do it all within the CPU silicon. Without a big enough cache (and if you have multiple encoding threads) then the CPU needs to copy the image in and out of memory. This is especially time consuming with HD image data because once it's decompressed a single raw 720p image can take up 1280x720x24bit = 2.7MB. Your Celeron has 2MB of cache compared to a modern i5/i7 which can have almost 8MB. Thus the CPU has two issues: Relatively slow ALU units coupled with small cache. It simply can't scale images as fast as the GPU can decode or encode them.

If this is true then the CPU is definitely the limiting factor. The GTX 560 will HW encode frames at a decent speed but it needs to be fed the frames fast enough.

One way to speed this up is to possibly scale the image in HW using a DirectX surface. This way the frames are decoded on the GPU, they stay in the GPU ram, get scaled on the GPU and then encoded on the GPU. DirectX has very good support for blt+scaling including interpolation of various flavors. Nvidia cards can easily handle this multiple use - I often play a game whilst I'm encoding for these various test I'm doing to help VC get better and it works just fine. This would also help all those people with any make of GPU since all come with DX drivers and image scaling was supported from the very beginning.

If you want to test this you can try an to encode a single stream 480p content (640x480x24bit = 900kB) set the Max Simultaneous = 1 and use both your cores. The input content needs to be exactly 640x480 or you might trigger the VC scaling algorithm. If you do that test you'll get an idea of the maximum throughput your system can do. Note: your task manager may tell you you have 4 cores but you actually have 2 cores each with 2 threads so make sure you only use 2 cores.

Your GTX has a lot more local memory available but you CPU does not (yes it has 2GB of 'slower-than-cache-system ram which other stuff in it too). Once your CPU gets a cache miss it has to got to main ram to copy data about and manipulate it. With 720P content and your cache your CPU will always be going to main ram because of course the CPU cache also contains program stuff/ os variables and all sorts of other data that the CPU thinks it uses every cycle. This means the other sub systems on your system board have an effect besides just the CPU and GPU. The main board for a Celeron processor simply isn't designed for speed and the RAM you have is probably the same, it's all selected to be cost effective and it's good at that, but this sort of operation is incredibly intensive especially once you start breaking caches and doing scaling etc. with the kind of image sizes these days.

To give you an idea I have an older but still good rig, the only things that turn on the fans on my system are games and encoding.

So what I'm trying to say is that you can probably double the speed with careful configuration (with 4-8GB of system RAM) and maybe triple it if the scaling is done in HW eventually too but you're still asking an OK car like a Peugeot or Ford to do the job of BMW or Mercedes. Some people build Ferrari's but they're crazy.

Hope this helps.

~Steph

Re: increase convert speed for my computer's hardware ?

Posted: Tue Apr 08, 2014 8:20 am
by cedric
Thank you Steph for all these usefull informations.

Just a little addition:
"HW Decode -> CPU Scaling -> HW Encoding"
-> that's right for video streams, but if you seen that your CPU is working when using hardware optimizations it's because audio processing is always done by CPU.

We already tried HW DirectX upscaling/downscaling filters but they don't do a work as good as VSO filters.
In all cases, we need to work (and resize first) on picture incoming from decoders to apply all filters available in Video converter (padding/cropping, rotation, luminosity, contrast...)
Our resize filters use the more recent CPU optimizations (sse1, sse2, sse3, ssse3, sse41, sse42, sse4A, sse5, avx) and using Dx resize do not increase speed a lot.
Resize process time take ~2% of overall process, so we decided to use our resize filter to avoid hardware relative issues and better image quality.

Regards,

Re: increase convert speed for my computer's hardware ?

Posted: Tue Apr 08, 2014 1:58 pm
by minhcute
Thank Cedric,skoenig1 and igor_lvk very much for your replies.After reading your replies,I understand that the conversion speed depends on 3 things below :

1.Computer's hardware :

This is the most important thing.My computer's hardware is not strong and latter-day,so it can't attain high conversion speed as I wish.And at present,the NVidia CUDA seem to be the most modern technique.So the unique way for me is have to upgrade the hardware to NVidia CUDA.(May be next year or 2 years later,I will do this).

2.Output format :

This is also a very important thing.Because each output format has various resolution,bit rate,... So the conversion speed which is correlative with each output format is very different and unable to compare together.My above case is an example.The reason why the conversion speed of DVD-Video is faster than 720p Bluray structure is : Bluray's technical parameters (resolution,bit rate,....) are higher than DVD-Video very much.So evidently the conversion speed of Bluray is lower than DVD-Video.So I can't compare the conversion speed of these 2 formats as above.This is my mistake.I'm sorry.

3.The users' personal settings :

When the users change any default settings,the conversion speed may be also changed.This is evident.

Are the things which I have just said full and exact ?

I also understand that with the users are cognizant as skoenig1,it is very easy for you to explain.But with the user isn't cognizant as me,the explaining affair is very daedalian and wasting much time.So I apologize to you.

Once again thank you very much !