q prediction with hc?
how can i make a q prediction with this encoder?
thanks |
Just like we used to when there were no automatic tools. See the prediction forum.
|
|
That one for example. It'll give you the basics.
|
For CQ prediction you can take a sample of your movie. Perhaps 10 minutes. Then encode it with your settings in HCE with 2pass. After encoding look at the produced log file and see the quantisation level. You take this value and encode this sample with CQ and this value of 2pass and you can see you got the average Bitrate like 2pass encoding. I've tested this method and the encoder gives me only 10kbps to big or to small movies. On my first test I got with 2pass a value of 2500Kbps and with this method and CQ 2499Kbps. I think this is very good.
Hope this can help you. :wink: |
Quote:
:) I ever wondered why TmpgEnc or Quenc/Nuenc don't use float Quantizer Values for Q/CQ encoding settings like HCEnc does instead of these Integer Values from 0-100 for instance. ;) |
Quote:
But if you do this thinks then is this method very good and exact. :D |
It could not be better a sampler() avs sample?
|
I do not understand?
Which kind of sample? A sample script using sampler() ? |
Quote:
In this way it takes pieces of the whole film, and not a single lineal 10 minutes sample. If Im not wrong, Sampler(300,50) takes 300 x 2'' samples, 10' for PAL and a little bit more for NTSC. |
The purpose of Sampler() IS to provide a more or less representative reflect of what composes the movie. So yes, if you need to use a part of the source as sample, it's better to use a "Samplered" one.
|
For my encodes I used the integrate sampler function of AviSynth with a lengh of 15 for example like the GOP lengh of my video. And this seems to be very good.
|
First 3 tries, same movie:
1 - With sampler(150,50), it is to say 5 minutes total time (2 seconds each cut). 2 - With sampler(300,50), it is to say 10 minutes total time (2 seconds each cut). 3 - With trim(7501,22500), it is to say 10 minutes (only one 10 minutes sample). Three encodes oversized. |
Try SelectRangeEvery(300,15) or (500,15) instead of Sampler.
|
Quote:
|
(300,15) creates a 5% sample, 15 frames per slice and (500,15) creates a 3% one. In fact, Tylo has said that even a 1% sample should be enough (that's SelectRangeEvery(1500,15)).
I've mostly undersized so I adjust the prediction by adding 3% to the desired sample size. This is with CCEFront which uses the SelectRangeEvery method. |
Or try my latest update of slicer() :
Code:
function slicer(clip input, int percent, int Goplenght, int Gopmulti, string "ping") slicer(2,15,1,"ping") 2= 2% to be predictioned of the whole movie 15 = Length of the GOP in frames of the later Encoding 1 = GOP Lenght multiplier (for longer slices) "Ping" = A Ping will be done "Pong" would mean a Pong would be done WHERE the offset is done automatically by the function internally. The offset is calculated so the pong prediction samples exactly between the ping slices. Advantage of the update: a) Much shorter function b) Pong Offset is set automatically c) No more Sampler.dll needed ... this will be done by avs's internal Selectrangeevery() routine :wink: |
Why it don't worked with sampler()?
@Inc: I like this new slicer function much more that your original one. |
Quote:
Again you amaze us with your nice and usefull functions. Slicer has always been one of my favorites. IMHO it is a must if you want filesize prediction. So Andrej, I haven't checked yet, but please don't forget to update Slicer's original thread with this new code ;-) Anyway will this work with any AviSynth version 2.5.x or just the latest 2.5.5? Cheers buddy |
This filter is available starting from v2.5.
|
Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.