I modified this script again to show a recommended cq to use using the simple formula new cq= (wanted sample size*cq used)/sample size). After you've encoded a sample put the size (mb) and cq at the top of the script and open it in WMP. I haven't decided whether this is totally useless yet because it's probably easier to use a calculator :lol: :lol:
Code:
Prediction("Band of Brothers", 1, 0.99, SampleSize, CQ, MinAudioBitrate=320). Sampler(length=24) edit: I cleaned up the code a little bit |
Hi Kwag
Just wondered if the formula for prediction: Predicted MPEG size = (( Total frames/MovieTimeInMinutes) / 24 ) * MPEG sample file size is the same for NTSC and PAL. Cheers Jeff |
Quote:
-kwag |
Quote:
|
evening guys.. rendalunit,
can I ask a really shtupid question..?? ..?? can this now be incorporated in FitCD's calculations ?? ..or is this not necessary ?? Told ya it would be shtupid, he he.. Have a good evening all. -vhelp |
Quote:
ren |
here spot, i mean rendalunit, he he..
I was having a looksees at FitCD's code and doing a few what-if's while I was reading some of these posts here (yestday I think) anyways.. then I came accross this post, and thought I'd just ask a really shtupid question..?? ..?? w/out actually thinking it out through.. hence the shtupid'ness of the question :roll: (soon or later, I have ta ask a shtupid question) after looking around where's at the source code, (I can't remember) I stopped and gave up on it for something more appealing (my project) but I remembered roming around in it, and this thread jarred my memory. Thats all. -vhelp |
Quote:
"...is much easier than using a calculator ... ....avs into Tmpg and hit "preview"- ..." "Thanks Graal_CPM, Mauddib, Racer99, Kwag-- you guys rock!!!!" you too rendalunit! :wink: |
Sorry for the long post :? I copied and pasted the code by rendalunit and ran it in WMP and got an error stating:
http://www.digitalfaq.com/archives/error.gif This refers to the line I highted in red. When I comment it out the script works fine. Am I missing something?? Below the quote is my script. Also, where do you put in the CQ and sample size because it states "After you've encoded a sample put the size (mb) and cq at the top of the script and open it in WMP." Thank you for your time and patience :) Quote:
Code:
LoadPlugin("C:\WINDOWS\Desktop\VCD Filters\MPEG2DEC.dll") |
SampleSize and CQ need defining with =x added to them
i put the Prediction function variables at the top of the script so it's easier to edit. Code:
LoadPlugin("C:\encoding\MPEG2DEC2.dll") CQ=0 with the sample size in mb and CQ value used: i.e. SampleSize=7.143 CQ=76.5 |
ok I copied the above script and substituted my filters in instead but the sample size of my first run with a CQ of 60 is giving me a 1.3MB size :?: And what usually takes about 15min to do a sample is taking like 2 mins.
Also, where do you comment out the prediction function when you're ready to encode the whole movie :?: Thanks Here it is Code:
LoadPlugin("C:\WINDOWS\Desktop\VCD Filters\MPEG2DEC.dll") |
Quote:
Quote:
Boy, do I feel like I'm back in school :lol: |
Quote:
Quote:
Quote:
-kwag |
FINALLY :!: :!: :yippie: It's working :)
Thanks rendalunit and kwag. http://www.digitalfaq.com/archives/error.gif Now I can go to sleep while it encodes :lol: |
Here's my 2 cents: I modified the prediction function to take 2 sample sizes as input. Provides for a bit better accuracy. I also called it predict2 so that it will not be confused with the original.
Code:
#------------------------------# |
Hyia Kwag.. Been a LONG while since I last posted here. I have been watching this thread for little while and am very interested in what I have been reading.. I understand most of it since the scripts seem to be doing most of the work. I do have a question tho. What if you are not ripping but recording straight to MPEG-2 (DVD specs) and re-compress from there? I have a Dazzle DVC-II and recording Indy Jones and the Temple of Doom. I maxed out all my settings for maxium quality when recording. I am trying to adjust your scripts for the KDVD D1 template and I seem to be overshooting my target filesize by at least 20 MBs!! I was using CQ_VBR. I can assume that this is incorrect now. I am re-encoding right now at just CQ. Since this is for KDVD, I set the number of CDs at 2 (this is pretty close to my final target filesize). The formula states that I should use CQ 29.3(ish). That seems awefully low but will try it next. Is there any special modifications to make to allow for KDVD D1 (or even half D1)?
My apologies for the long winded post :) |
Hi SodGawd,
Long time no see :lol: Are you sure you're using the latest KDVD templates :?: It seems to me that the value of CQ you calculated is extremely low for CQ templates. That would be about the right CQ for the old CQ_VBR templates. So please check your template again agains the ones currently posted :) -kwag |
Quote:
Quote:
Also, since I am compressing VHS (29.97fps/interlaced) I am trying to see if I get a noticable diff between IVTC and Interlaced. |
Newton's Method to predict CQ
Hi, Kwag. Long time no see ;)
I've been doing mostly CCE lately and playing with Q prediction. I implemented a variant of Newton's method to find roots of an equation to find a suitable Q for RoBa in 3 to 4 tries, outsmarting binary search. I recently expanded my simulator spreadsheet to support TMPGEnc's CQ mode. I though you might be interested in taking a look at this thread in Doom9's forum: http://forum.doom9.org/showthread.php?s=&threadid=60191 This stuff might turn out to be useful for CQMatic. Best regards, |
Hey thanks r6d2 :D
I'll take a look now! -kwag |
i don't know if this question has already been answered inside this thread, but i don't want to read the whole thing. does the prediction method also work for CQ_VBR?
|
Quote:
-kwag |
*A LITTLE OFFTOPIC*
I predict my file with CQMatic with a Max. Bitrate of 2500kbps first and then I choose the TEST Sample and put it into BitrateView and look how high the max bitrate is and I change the Value and predict again. If I can put the max bitrate lower again I do it and I think it's a very good way to find out the relation between a good CQ and Max. Bitrate. |
That also depends on the CQ Value and the main problem is that by just taking a sample (no matter if continous one or sliced one) this won't include *all* peaks of your movie so this will be just a "guess" based on your "sampler" peaks.
|
Is there a way to do manual file size predicition using the new avisynth 2.5? Unless I'm missing something everything here is for the 2.X version of avisynth?
I like Kwags simple script at the top of this thread but how to make it work with avisynth 2.5? nighthawk |
Quote:
SCRIPT LoadPlugin("C:\encoding\MPEG2DEC2.dll") LoadPlugin("C:\encoding\legalclip.dll") LoadPlugin("C:\encoding\Dustv5.dll") LoadPlugin("C:\encoding\BlockBuster.dll") LoadPlugin("C:\encoding\FluxSmooth.dll") LoadPlugin("C:\encoding\Sampler.dll") SampleSize=0 CQ=0 movie="The Bourne Identity" cds=2 cdtime=80 MinAudioBitrate=128 factor=0.98 Mpeg2Source("D:\THE_BOURNE_IDENTITY\VIDEO_TS\bourn e.d2v") LegalClip() BilinearResize(512,344,3,0,714,480) temporalSmoother(2,2) AddBorders(8,68,8,68) LegalClip() trim(0,round(framecount/10)) # 'mini'-prediction 1/10 prediction- comment this line when cq in range prediction(movie, cds , cdtime, factor, SampleSize, CQ, MinAudioBitrate). Sampler(length=24) #------------------------------# # Prediction Function # #------------------------------# function Prediction (clip c, string "movie", int "cds", int "cdtime", float "factor", float "SampleSize", float "CQ", int "MinAudioBitrate") { movie = default(movie,"No_Title_Defined") factor = default(factor,0.98) cds = default(cds,0) cdtime = default(cdtime,80) SampleSize = default(SampleSize,0) CQ = default(CQ,0) MinAudioBitrate = default(MinAudioBitrate,128) # lowest audio bitrate wanted MovieLength = framecount(c)/framerate(c) FramesTotal = framecount(c) FramesSample = framecount(Sampler(c,length=24)) CD_Size = (((cdtime*10)-5)*1024)*cds MinAudio = (((((CD_Size-((MinAudioBitrate/8)*Movielength))*FramesSample)/FramesTotal)*factor))/1000 EncodedSample = (SampleSize==0)? false: true #-------------------------------------------------------------------- SampleSize = (SampleSize==0)? 1: SampleSize # if sample size =0 mb then no previous sample. CQ = (CQ<=0)? 1 :CQ # set cq between 1-100 CQ = (CQ>100)?100 : CQ #--------------------------------------------------------------------- SampleSizeMessage=(EncodedSample==false)?"no sample encoded yet **********": "Sample Size (mb) : " SampleCQMessage=(EncodedSample==false)?"no sample encoded yet **********":"Sample CQ : " TryCQValueMessage=(EncodedSample==false)?"no sample encoded yet ******":"Try CQ value of : " d=BlankClip(c,1,544,480). \Subtitle(movie, 272,40, halo_color=$5500FF, text_color=$FFFFFF, font="Courier", size=27, align=5). \Subtitle("Total Frames : " + String(FramesTotal), 80,60). \Subtitle("Sample Frames : " + String(FramesSample), 80,80). \Subtitle("Time (sec) : " + String(round(Movielength)), 80,100). \Subtitle("Time (min) : " + String(round(Movielength/60)), 80,120). \Subtitle(SampleSizeMessage+LeftStr(String(SampleS ize),5), 270,60,text_color=$FF0000). \Subtitle(SampleCQMessage + LeftStr(String(CQ),4),270,80,text_color=$FF0000). \Subtitle("Min. Audio Bitrate : "+ String(MinAudioBitrate)+" kbps",270,100,text_color=$FF0000). \Subtitle("Desired Sample Size (mb) : " + LeftStr(String(MinAudio),5),270,120,text_color=$FF 0000). \Subtitle(TryCQValueMessage + LeftStr(String((MinAudio*CQ)/SampleSize),4),270,140,text_color=$FF0000). \Subtitle("Desired Sample Size (mb) for " + String(cds) + " CD(s):", 80,165, text_color=$FFFFFF). \Subtitle("- audio at 96 kbps : " + LeftStr(String((((((CD_Size-((096/8)*Movielength))*FramesSample)/FramesTotal)*factor))/1000),5),80,185). \Subtitle("- audio at 112 kbps : " + LeftStr(String((((((CD_Size-((112/8)*Movielength))*FramesSample)/FramesTotal)*factor))/1000),5),80,205). \Subtitle("- audio at 128 kbps : " + LeftStr(String((((((CD_Size-((128/8)*Movielength))*FramesSample)/FramesTotal)*factor))/1000),5),80,225). \Subtitle("- audio at 160 kbps : " + LeftStr(String((((((CD_Size-((160/8)*Movielength))*FramesSample)/FramesTotal)*factor))/1000),5),80,245). \Subtitle("- audio at 192 kbps : " + LeftStr(String((((((CD_Size-((192/8)*Movielength))*FramesSample)/FramesTotal)*factor))/1000),5),80,265). \Subtitle("- audio at 224 kbps : " + LeftStr(String((((((CD_Size-((224/8)*Movielength))*FramesSample)/FramesTotal)*factor))/1000),5),80,285). \Subtitle("Average Bitrate (kbps) : "+ String(Round(((((CD_Size-((128/8)*Movielength)))/Movielength)*8)*1)), 80,328). \Subtitle("Predicted Audio File Sizes (mb):", 80,373, text_color=$FFFFFF). \Subtitle(" 96 kbps = " + String(Round(((( 96*1024)/8)*Movielength)/1048576)),80,395). \Subtitle("112 kbps = " + String(Round((((112*1024)/8)*Movielength)/1048576)),80,416). \Subtitle("128 kbps = " + String(Round((((128*1024)/8)*Movielength)/1048576)),80,437). \Subtitle("160 kbps = " + String(Round((((160*1024)/8)*Movielength)/1048576)),270,395). \Subtitle("192 kbps = " + String(Round((((192*1024)/8)*Movielength)/1048576)),270,416). \Subtitle("224 kbps = " + String(Round((((224*1024)/8)*Movielength)/1048576)),270,437). \BilinearResize(width(c), height(c)) return d+c+d } You must replace the text in red, with your own script. Take care with the text in green. You must comment (#) the line in blue for full encode. |
where can I find athe sampler dll for avisynth ver 2.5?
|
Quote:
http://wald.heim.at/redwood/511999//...ampler-2.5.dll or http://wald.heim.at/redwood/511999//...ampler-2.5.rar Incredible, thanks for that . |
:D :D
Thanks for the links!!! |
Quote:
|
Do these plugins work with AviSynth 2.5?
LoadPlugin("C:\encoding\legalclip.dll") LoadPlugin("C:\encoding\Dustv5.dll") LoadPlugin("C:\encoding\FluxSmooth.dll") Cos.. I think when I tried opening a AVS which used the functions (in these dlls), WMP displayed... it is not a valid Avisynth 2.5 function. |
Legalclip is now built-in into avs2.5 and is called "Limiter".
DustV5 don't have any equivalent in 2.5 (and some are sad about that). Fluxsmooth has a 2.5 version that you can load here : http://www.avisynth.org/warpenterprises/ Note: as said in the hints in bottom of the message, you are not mandatory to use the provided script ! You can use your own script. So the lack of Dustv5 is not a problem. |
Quote:
|
Re: Manual File Prediction: A Mini "How-To"
Quote:
The som from the calculate ( 11.88 Mb ) is that the sample size for only the video stream or video + audio stream? 24 where is that number for? And is there a simple calculate for audio + video stream sample together??? |
Nobody has a answer?
|
Quote:
1-the sample size for the video stream only. 2-where?...easy to understand but for me is hard to explain, please see the read-me that came with sampler! 3-your question here answer your first question ! 8O no, cos don't need. you know the media and audio size before the prediction and the prediction will find the CQ to get the video size needed just follow the examples posted in steps one and two! :wink: |
Quote:
|
Re: Manual File Prediction: A Mini "How-To"
Quote:
-kwag |
Thx kwag
|
CQ_VBR
Hi Kwag
I was wondering if your prediction method works with CQ_VBR as well as CQ or is it a CQ only thing... |
Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.