12-26-2002, 10:52 PM
|
Free Member
|
|
Join Date: Apr 2002
Location: Puerto Rico, USA
Posts: 13,537
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Here's the manual way to do file size prediction. I assume you have your material already prepared and you have created your basic .avs script using FitCD. I also assume you have extracted your audio in AC3 or WAV format.
Step 1: Determine the Audio file size.
Say you want to put your movie on one CD. First thing you do is find out the size of your audio file. That's very easy with the help of HeadAC3he. Just run HeadAC3he and select your demuxed AC3 or WAV audio file. Select .mp2 as output and the audio bit rate you want to use. I usually select either 112Kbps for 120+ minute movies or 128Kbps for movies shorter than that. You'll see the audio size is automatically displayed in HeadAC3he. Make a note of the size.
Step 2: Determine the Video file size.
Suppose the audio in step 1 is 87MB, and our CD-R is 700MB 80 minutes. Remember that VCDs are written in what's called "Mode-2", so a 700MB data CD-R will actually fit ~800MB in VCD format. So we'll use an 80 minute CD-R for this example.
Now do this: 800 - 87 = 713. The ~800 is your VCD capacity. So you have ~713MB left for your video stream, and this will be the predicted file size for the video. Now apply the formula like this:
Predicted MPEG size = (( Total frames/MovieTimeInMinutes) / 24 ) * MPEG sample file size
Say your movie has 198,673 frames and is 138 minutes long. You would do this: 198673 / 138 / 24 = 59.98 and store the value 59.98 in your calculator's memory for a moment. Now do this: 713 / MemoryRecall(which is 59.98 ) = 11.88MB and that's what your sample size has to be. Now you encode with SansGrip "Sampler()" line at the end of your .avs. Here's what a basic .avs script looks like, with the file prediction line added at the end:
Code:
LoadPlugin("C:\encoding\MPEG2DEC.dll")
LoadPlugin("C:\encoding\fluxsmooth.dll")
LoadPlugin("C:\encoding\sampler.dll")
LoadPlugin("C:\encoding\legalclip.dll")
mpeg2source("K:\K19\VIDEO_TS\k19.d2v")
LegalClip()
BilinearResize(672,336,0,0,720,480)
FluxSmooth()
AddBorders(16,72,16,72)
LegalClip()
Sampler()
When the encoder finishes, which should take between 3 to 6 minutes depending on how fast your machine runs, take a look at the sample file size. This is what I do to zero in faster on the correct CQ value:
New_CQ_Value = WantedSize(11.88 in this case) / Encoded_Sample_Size * Current_CQ_Value
Say your sample comes out to 10.0MB, and you are encoding with a CQ value of 25. The new CQ value for the next run is: 11.88 / 10 * 25 = 29.7 So you change the CQ value in TMPEG to 29.7 and encode another sample. It usually takes 3 to 4 samples to hit your target this way.
When you get close to the wanted file size, say < 1%, just remove the line "Sampler()" from your .avs script and when you hit encode again, your complete movie will start to encode.
Hope this helps
-kwag
|
Someday, 12:01 PM
|
|
Site Staff / Ad Manager
|
|
Join Date: Dec 2002
Posts: 42
Thanks: ∞
Thanked 42 Times in 42 Posts
|
|
|
12-27-2002, 09:30 PM
|
Invalid Email / Banned / Spammer
|
|
Join Date: Aug 2002
Location: Brasil - MG - third stone from the sun
Posts: 5,570
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
|
01-27-2003, 07:05 PM
|
Free Member
|
|
Join Date: Jun 2002
Location: Paris, France
Posts: 54
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
If you past the following at the end of your movie avs script and open it in virtualdub or your favorite media player, this will show you movie total frames, movie lenght, sample total frames, and will calculate various sound file size (same accuracy as Headac3he).
Then you can write down these numbers, comment out "Prediction()" line putting a # in front of it, and go on with the prediction process described in black prince's or kwag's guides.
Code:
Prediction()
function Prediction (clip c) {
Movielenght=framecount(c)/framerate(c)
d=c.
\Subtitle("Movie framecount : " + String(framecount(c)),20,20).
\Subtitle("Movie lenght (sec) : " + String(round(Movielenght)),20,40).
\Subtitle("Test framecount : " + String(framecount(Sampler(c,length=24))),20,60).
\Subtitle("Audio@112bps (Mb) : " + String( (((112*1024)/8)*Movielenght)/1048576),20,80).
\Subtitle("Audio@128bps (Mb) : " + String( (((128*1024)/8)*Movielenght)/1048576),20,100).
\Subtitle("Audio@160bps (Mb) : " + String( (((160*1024)/8)*Movielenght)/1048576),20,120).
\Subtitle("Audio@192bps (Mb) : " + String( (((192*1024)/8)*Movielenght)/1048576),20,140).
\Subtitle("Audio@224bps (Mb) : " + String( (((224*1024)/8)*Movielenght)/1048576),20,160)
return d
}
|
01-30-2003, 10:21 AM
|
Free Member
|
|
Join Date: Sep 2002
Location: Massachusetts
Posts: 119
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Quote:
Originally Posted by Graal_CPM
:idea: If you past the following at the end of your movie avs script and open it in virtualdub or your favorite media player, this will show you movie total frames, movie lenght, sample total frames, and will calculate various sound file size (same accuracy as Headac3he).
Then you can write down these numbers, comment out "Prediction()" line putting a # in front of it, and go on with the prediction process described in black prince's or kwag's guides.
Code:
Prediction()
function Prediction (clip c) {
Movielenght=framecount(c)/framerate(c)
d=c
\Subtitle("Movie framecount : " + String(framecount(c)),20,20).
\Subtitle("Movie lenght (sec) : " + String(round(Movielenght)),20,40).
\Subtitle("Test framecount : " + String(framecount(Sampler(c,length=24))),20,60).
\Subtitle("Audio@112bps (Mb) : " + String( (((112*1024)/8)*Movielenght)/1048576),20,80).
\Subtitle("Audio@128bps (Mb) : " + String( (((128*1024)/8)*Movielenght)/1048576),20,100).
\Subtitle("Audio@160bps (Mb) : " + String( (((160*1024)/8)*Movielenght)/1048576),20,120).
\Subtitle("Audio@192bps (Mb) : " + String( (((192*1024)/8)*Movielenght)/1048576),20,140).
\Subtitle("Audio@224bps (Mb) : " + String( (((224*1024)/8)*Movielenght)/1048576),20,160)
return d
}
|
Quote:
I've taken your fine script and tweaked it a little bit further. I added the ability to get your predicted file size based on audio bitrate. This is based on 1 cd at 790mb (I allow 10mb for overhead and menus). If you want to figure for 2cds change the 808960 to 1617920).
Prediction()
function Prediction (clip c) {
Movielength=framecount(c)/framerate(c)
d=c.
\Subtitle("Total Frames : " + String(framecount(c)),20,20).
\Subtitle("Time(sec) : " + String(round(Movielength)),215,20).
\Subtitle("Sample FC : " + String(framecount(Sampler(c,length=24))),375,20).
\Subtitle("Desired Sampler Size (112 bps) : " + String(((808960-((112/8)*Movielength))/(((Framecount(c)/framerate(c))/((framecount(Sampler(c,length=24)))))*framerate(c) ))/0.98),90,80).
\Subtitle("Desired Sampler Size (128 bps) : " + String(((808960-((128/8)*Movielength))/(((Framecount(c)/framerate(c))/((framecount(Sampler(c,length=24)))))*framerate(c) ))/0.98),90,120).
\Subtitle("Desired Sampler Size (160 bps) : " + String(((808960-((160/8)*Movielength))/(((Framecount(c)/framerate(c))/((framecount(Sampler(c,length=24)))))*framerate(c) ))/0.98),90,160).
\Subtitle("Desired Sampler Size (192 bps) : " + String(((808960-((192/8)*Movielength))/(((Framecount(c)/framerate(c))/((framecount(Sampler(c,length=24)))))*framerate(c) ))/0.98),90,200).
\Subtitle("Desired Sampler Size (224 bps) : " + String(((808960-((224/8)*Movielength))/(((Framecount(c)/framerate(c))/((framecount(Sampler(c,length=24)))))*framerate(c) ))/0.98),90,240).
\Subtitle("Avg Bitrate " + " (kbps) : " + String( ((((808960-((128/8)*Movielength)))/Movielength)*8)*1),90,300).
\Subtitle("Predicted Audio File Sizes " + " (Mb)",140,410).
\Subtitle("112 bps = " + String( (((112*1024)/8)*Movielength)/1048576),80,430).
\Subtitle("128 bps = " + String( (((128*1024)/8)*Movielength)/1048576),80,450).
\Subtitle("160 bps = " + String( (((160*1024)/8)*Movielength)/1048576),80,470).
\Subtitle("192 bps = " + String( (((192*1024)/8)*Movielength)/1048576),270,430).
\Subtitle("224 bps = " + String( (((224*1024)/8)*Movielength)/1048576),270,450)
return d
}
|
|
01-30-2003, 12:18 PM
|
Free Member
|
|
Join Date: Apr 2002
Location: Puerto Rico, USA
Posts: 13,537
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Excelent guys
Here's further refinement, because the way the script is set, at 352x240 everything gets cut off.
So put the Prediction() statement AFTER the line where you open the .d2v, and the actual function at the end of the script. Like this:
Code:
LoadPlugin("C:\encoding\mpeg2dec.dll")
LoadPlugin("C:\encoding\fluxsmooth.dll")
LoadPlugin("C:\encoding\GripFit_preview.dll")
LoadPlugin("C:\encoding\blockbuster.dll")
LoadPlugin("C:\encoding\legalclip.dll")
LoadPlugin("C:\encoding\sampler.dll")
LoadPlugin("C:\encoding\dustv5.dll")
LoadPlugin("C:\encoding\temporalcleanerold.dll")
Mpeg2Source("K:\S1M0NE_WS\VIDEO_TS\simone.d2v")
Prediction()
LegalClip()
GripCrop( width=352, height=240, overscan=1 )
GripSize()
SpaceDust()
TemporalCleaner()
Blockbuster(method="noise", variance=.7, seed=1)
GripBorders()
LegalClip()
function Prediction (clip c) {
Movielength=framecount(c)/framerate(c)
d=c.
\Subtitle("Total Frames : " + String(framecount(c)),20,20).
\Subtitle("Time(sec) : " + String(round(Movielength)),215,20).
\Subtitle("Sample FC : " + String(framecount(Sampler(c,length=24))),375,20).
\Subtitle("Desired Sampler Size (112 bps) : " +
String(((808960-((112/8)*Movielength))/(((Framecount(c)/framerate(c))/((framecount(Sampler(c,length=24)))))*framerate(c)))/0.98
),90,80).
\Subtitle("Desired Sampler Size (128 bps) : " +
String(((808960-((128/8)*Movielength))/(((Framecount(c)/framerate(c))/((framecount(Sampler(c,length=24)))))*framerate(c)))/0.98
),90,120).
\Subtitle("Desired Sampler Size (160 bps) : " +
String(((808960-((160/8)*Movielength))/(((Framecount(c)/framerate(c))/((framecount(Sampler(c,length=24)))))*framerate(c)))/0.98
),90,160).
\Subtitle("Desired Sampler Size (192 bps) : " +
String(((808960-((192/8)*Movielength))/(((Framecount(c)/framerate(c))/((framecount(Sampler(c,length=24)))))*framerate(c)))/0.98
),90,200).
\Subtitle("Desired Sampler Size (224 bps) : " +
String(((808960-((224/8)*Movielength))/(((Framecount(c)/framerate(c))/((framecount(Sampler(c,length=24)))))*framerate(c)))/0.98
),90,240).
\Subtitle("Avg Bitrate " + " (kbps) : " + String( ((((808960-((128/8)*Movielength)))/Movielength)*8)*1),90,300).
\Subtitle("Predicted Audio File Sizes " + " (Mb)",140,410).
\Subtitle("112 bps = " + String( (((112*1024)/8)*Movielength)/1048576),80,430).
\Subtitle("128 bps = " + String( (((128*1024)/8)*Movielength)/1048576),80,450).
\Subtitle("160 bps = " + String( (((160*1024)/8)*Movielength)/1048576),80,470).
\Subtitle("192 bps = " + String( (((192*1024)/8)*Movielength)/1048576),270,430).
\Subtitle("224 bps = " + String( (((224*1024)/8)*Movielength)/1048576),270,450)
return d
}
This way, the script gets resized, and fits correctly on the screen at any resolution
-kwag
|
01-30-2003, 02:10 PM
|
Free Member
|
|
Join Date: Apr 2002
Location: Hawaii
Posts: 241
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Need a litle help here....exactly what is the going to do for me? I'm not sure I follow what this script is doing. Thanks in advance
Bud
|
01-30-2003, 03:53 PM
|
Free Member
|
|
Join Date: Apr 2002
Location: Puerto Rico, USA
Posts: 13,537
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Hi Bud,
The script above will display the audio file sizes with different audio bit rates, and give the sample file size you need for each different audio bit rates. So you don't have to manually calculate the stuff . It's pretty cool
-kwag
|
01-30-2003, 04:08 PM
|
Free Member
|
|
Join Date: Apr 2002
Location: Hawaii
Posts: 241
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Kwag
Thanks,,,i'll give it a try...been having great results by using the manual method on both the 352x240 and KVCDx3 templates for one CD.
Bud
|
01-30-2003, 04:09 PM
|
Free Member
|
|
Join Date: Sep 2002
Location: Massachusetts
Posts: 119
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Quote:
Originally Posted by kwag
Excelent guys
Here's further refinement, because the way the script is set, at 352x240 everything gets cut off.
So put the Prediction() statement AFTER the line where you open the .d2v, and the actual function at the end of the script. Like this:
Code:
LoadPlugin("C:\encoding\mpeg2dec.dll")
LoadPlugin("C:\encoding\fluxsmooth.dll")
LoadPlugin("C:\encoding\GripFit_preview.dll")
LoadPlugin("C:\encoding\blockbuster.dll")
LoadPlugin("C:\encoding\legalclip.dll")
LoadPlugin("C:\encoding\sampler.dll")
LoadPlugin("C:\encoding\dustv5.dll")
LoadPlugin("C:\encoding\temporalcleanerold.dll")
Mpeg2Source("K:\S1M0NE_WS\VIDEO_TS\simone.d2v")
Prediction()
LegalClip()
GripCrop( width=352, height=240, overscan=1 )
GripSize()
SpaceDust()
TemporalCleaner()
Blockbuster(method="noise", variance=.7, seed=1)
GripBorders()
LegalClip()
function Prediction (clip c) {
Movielength=framecount(c)/framerate(c)
d=c.
\Subtitle("Movie Title : 'Simone'",220,20).
\Subtitle("Total Frames : " + String(framecount(c)),40,50).
\Subtitle("Time(sec) : " + String(round(Movielength)),235,50).
\Subtitle("Sample FC : " + String(framecount(Sampler(c,length=24))),400,50).
\Subtitle("Desired Sampler Size (112 bps) : " + String(((808960-((112/8)*Movielength))/(((Framecount(c)/framerate(c))/((framecount(Sampler(c,length=24)))))*framerate(c)))/0.98 ),90,80).
\Subtitle("Desired Sampler Size (128 bps) : " + String(((808960-((128/8)*Movielength))/(((Framecount(c)/framerate(c))/((framecount(Sampler(c,length=24)))))*framerate(c)))/0.98 ),90,120).
\Subtitle("Desired Sampler Size (160 bps) : " + String(((808960-((160/8)*Movielength))/(((Framecount(c)/framerate(c))/((framecount(Sampler(c,length=24)))))*framerate(c)))/0.98 ),90,160).
\Subtitle("Desired Sampler Size (192 bps) : " + String(((808960-((192/8)*Movielength))/(((Framecount(c)/framerate(c))/((framecount(Sampler(c,length=24)))))*framerate(c)))/0.98 ),90,200).
\Subtitle("Desired Sampler Size (224 bps) : " + String(((808960-((224/8)*Movielength))/(((Framecount(c)/framerate(c))/((framecount(Sampler(c,length=24)))))*framerate(c)))/0.98 ),90,240).
\Subtitle("Avg Bitrate " + " (kbps) : " + String( ((((808960-((128/8)*Movielength)))/Movielength)*8)*1),90,300).
\Subtitle("Predicted Audio File Sizes " + " (Mb)",140,410).
\Subtitle("112 bps = " + String( (((112*1024)/8)*Movielength)/1048576),80,430).
\Subtitle("128 bps = " + String( (((128*1024)/8)*Movielength)/1048576),80,450).
\Subtitle("160 bps = " + String( (((160*1024)/8)*Movielength)/1048576),80,470).
\Subtitle("192 bps = " + String( (((192*1024)/8)*Movielength)/1048576),270,430).
\Subtitle("224 bps = " + String( (((224*1024)/8)*Movielength)/1048576),270,450)
return d
}
This way, the script gets resized, and fits correctly on the screen at any resolution
-kwag
|
Hey Kwag,
I added a line for movie title since I like to capture the image and keep it handy with the movie which I am encoding. I also cleaned up the code to avoid confusion for those cutting and pasting. Thanks for the code help about the resizaing ( I actually thought of that but forgot to implement. ), and thanks to Graal_CPM for coming up the initial idea. I was constantly opening Excel or calculator to calculate the sample sizes.
Racer99
|
01-30-2003, 05:17 PM
|
Free Member
|
|
Join Date: Apr 2002
Location: Puerto Rico, USA
Posts: 13,537
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
I can't wait for this to happen: http://www.avisynth.org/index.php?page=WhyPython
As Python is my favorite language of all times ( Been doing Python now for ~3 years ), the possibilities will be ENDLESS!
Imagine this: On one machine I can have a "Server" script running, and from remote machines, you can be encoding by serving via TCP/IP to a client where TMPEG is running
Frameserving through the internet
The future looks bright
-kwag
|
01-31-2003, 01:45 AM
|
Free Member
|
|
Join Date: Jun 2002
Location: São Paulo - Brasil
Posts: 879
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Hi all!
Here is my 2 cents for this great script:
Well I think that if we leave all these subtitles in all sample’s frames, it can disturb the prediction accuracy, so I created two frames, one at the beginning and one at the end of the sample, and I show all the information only in this two frames.
Other change is that I added the title of the movie as a parameter of the function. I did this because I have a file with many functions, and I just call this file when I need some of the functions. Here is how I call it:
Code:
Import("D:\DVD Rip Tools\AviSynth2\filters\functions.avs")
Mpeg2Source("D:\Videos\shows\the_corrs_royal_albert_hall\the_corrs.d2v")
Prediction("The Corrs at Royal Albert Hall")
The formula used still the same. I just make some cleaning on it. You can "cancel" (I don't know if this is the correct term in English) the two framerate(c).
I just have one doubt... in the end of the old (and the new) formula, we are dividing by .98! If we want to give a little breath of 2% shouldn't we multiply by .98?
Oh, I also make some cosmetic changes like font formatting and positioning. I have to move the top and bottom subtitles because they got cut by the LetterBox filter.
Here is the function:
Code:
Function Prediction (clip c, string "movie") {
MovieLength = framecount(c)/framerate(c)
FramesTotal = framecount(c)
FramesSample = framecount(Sampler(c,length=24))
d=BlankClip(c,1).
\Subtitle("Movie Title : " + movie, width(c)/2,40, text_color=$FFFFFF, size=22, align=5).
\Subtitle("Total Frames : " + String(FramesTotal),80,80).
\Subtitle("Sample Frames : " + String(FramesSample),80,100).
\Subtitle("Time (sec) : " + String(round(Movielength)),280,80).
\Subtitle("Time (min) : " + String(round(Movielength/60)),280,100).
\Subtitle("Desired Sampler Size (096 bps) : " + String((((808960-((096/8)*Movielength))*FramesSample)/FramesTotal)/0.98),80,145).
\Subtitle("Desired Sampler Size (112 bps) : " + String((((808960-((112/8)*Movielength))*FramesSample)/FramesTotal)/0.98),80,170).
\Subtitle("Desired Sampler Size (128 bps) : " + String((((808960-((128/8)*Movielength))*FramesSample)/FramesTotal)/0.98),80,195).
\Subtitle("Desired Sampler Size (160 bps) : " + String((((808960-((160/8)*Movielength))*FramesSample)/FramesTotal)/0.98),80,220).
\Subtitle("Desired Sampler Size (192 bps) : " + String((((808960-((192/8)*Movielength))*FramesSample)/FramesTotal)/0.98),80,245).
\Subtitle("Desired Sampler Size (224 bps) : " + String((((808960-((224/8)*Movielength))*FramesSample)/FramesTotal)/0.98),80,270).
\Subtitle("Avg Bitrate (kbps) : " + String( ((((808960-((128/8)*Movielength)))/Movielength)*8)*1),80,325).
\Subtitle("Predicted Audio File Sizes " + " (mb)", 140,380, text_color=$FFFFFF).
\Subtitle("096 bps = " + String( (((096*1024)/8)*Movielength)/1048576),80,400).
\Subtitle("112 bps = " + String( (((112*1024)/8)*Movielength)/1048576),80,420).
\Subtitle("128 bps = " + String( (((128*1024)/8)*Movielength)/1048576),80,440).
\Subtitle("160 bps = " + String( (((160*1024)/8)*Movielength)/1048576),270,400).
\Subtitle("192 bps = " + String( (((192*1024)/8)*Movielength)/1048576),270,420).
\Subtitle("224 bps = " + String( (((224*1024)/8)*Movielength)/1048576),270,440)
return d+c+d
}
|
01-31-2003, 02:15 AM
|
Free Member
|
|
Join Date: Apr 2002
Location: Puerto Rico, USA
Posts: 13,537
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
What can I say muaddib
Kudos
-kwag
|
01-31-2003, 02:47 AM
|
Free Member
|
|
Join Date: Jun 2002
Posts: 129
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
I couldn't get this to work.
Here's my script:
Code:
LoadPlugin("D:\avfilters\legalclip.dll")
LoadPlugin("D:\avfilters\MPEG2DEC.dll")
LoadPlugin("D:\avfilters\fluxsmooth.dll")
LoadPlugin("D:\avfilters\blockbuster.dll")
LoadPlugin("D:\avfilters\legalclip.dll")
LoadPlugin("D:\avfilters\Convolution3D.dll")
LoadPlugin("D:\avfilters\DecombLegacy.dll")
LoadPlugin("D:\avfilters\DustV5.dll")
LoadPlugin("D:\avfilters\GripFit_preview.dll")
LoadPlugin("D:\avfilters\Sampler.dll")
LoadPlugin("D:\avfilters\NoMoSmooth.dll")
Import("F:\sample avisynth scripts\function.avs")
mpeg2source("h:\lotr2\lotr2.d2v")
Prediction()
Telecide()
Decimate()
LegalClip()
Gripcrop(528,480)
Gripsize(resizer="bicubicresize")
Spacedust()
Convolution3d(preset="movieLQ")
Gripborders()
Letterbox(0,0,8,8)
LegalClip()
and i have the
Code:
Import("F:\sample avisynth scripts\function.avs")
to call to this:
Code:
Function Prediction (clip c, string "movie") {
MovieLength = framecount(c)/framerate(c)
FramesTotal = framecount(c)
FramesSample = framecount(Sampler(c,length=24))
d=BlankClip(c,1).
\Subtitle("Movie Title : " + movie, width(c)/2,40, text_color=$FFFFFF, size=22, align=5).
\Subtitle("Total Frames : " + String(FramesTotal),80,80).
\Subtitle("Sample Frames : " + String(FramesSample),80,100).
\Subtitle("Time (sec) : " + String(round(Movielength)),280,80).
\Subtitle("Time (min) : " + String(round(Movielength/60)),280,100).
\Subtitle("Desired Sampler Size (096 bps) : " + String((((808960-((096/8)*Movielength))*FramesSample)/FramesTotal)/0.98),80,145).
\Subtitle("Desired Sampler Size (112 bps) : " + String((((808960-((112/8)*Movielength))*FramesSample)/FramesTotal)/0.98),80,170).
\Subtitle("Desired Sampler Size (128 bps) : " + String((((808960-((128/8)*Movielength))*FramesSample)/FramesTotal)/0.98),80,195).
\Subtitle("Desired Sampler Size (160 bps) : " + String((((808960-((160/8)*Movielength))*FramesSample)/FramesTotal)/0.98),80,220).
\Subtitle("Desired Sampler Size (192 bps) : " + String((((808960-((192/8)*Movielength))*FramesSample)/FramesTotal)/0.98),80,245).
\Subtitle("Desired Sampler Size (224 bps) : " + String((((808960-((224/8)*Movielength))*FramesSample)/FramesTotal)/0.98),80,270).
\Subtitle("Avg Bitrate (kbps) : " + String( ((((808960-((128/8)*Movielength)))/Movielength)*8)*1),80,325).
\Subtitle("Predicted Audio File Sizes " + " (mb)", 140,380, text_color=$FFFFFF).
\Subtitle("096 bps = " + String( (((096*1024)/8)*Movielength)/1048576),80,400).
\Subtitle("112 bps = " + String( (((112*1024)/8)*Movielength)/1048576),80,420).
\Subtitle("128 bps = " + String( (((128*1024)/8)*Movielength)/1048576),80,440).
\Subtitle("160 bps = " + String( (((160*1024)/8)*Movielength)/1048576),270,400).
\Subtitle("192 bps = " + String( (((192*1024)/8)*Movielength)/1048576),270,420).
\Subtitle("224 bps = " + String( (((224*1024)/8)*Movielength)/1048576),270,440)
return d+c+d
}
I end up with:
Script error: Subtitle does not have a named argument "align"
(F:\sample avisynth scripts\function.avs, line 29)
(H:\lotr2\lotr2~1.avs, line 16)
Any ideas?
|
01-31-2003, 06:50 AM
|
Free Member
|
|
Join Date: Jun 2002
Location: São Paulo - Brasil
Posts: 879
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Quote:
Originally Posted by Smoochie3
I end up with:
Script error: Subtitle does not have a named argument "align"
(F:\sample avisynth scripts\function.avs, line 29)
(H:\lotr2\lotr2~1.avs, line 16)
Any ideas?
|
The "align" argument was created in the last avisynch.
Donload avisynch 2.07.
edit: BTW, you have to specify the video title or it will not work.
How can I set a default value for an argument in an avisynch function?
|
01-31-2003, 07:14 AM
|
Free Member
|
|
Join Date: Jun 2002
Location: São Paulo - Brasil
Posts: 879
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Quote:
Originally Posted by kwag
What can I say muaddib
Kudos
|
Quote:
Originally Posted by muaddib
...in the end of the old (and the new) formula, we are dividing by .98! If we want to give a little breath of 2% shouldn't we multiply by .98?
|
What about this
|
01-31-2003, 10:55 AM
|
Free Member
|
|
Join Date: Apr 2002
Location: Puerto Rico, USA
Posts: 13,537
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Quote:
Originally Posted by muaddib
Quote:
Originally Posted by muaddib
...in the end of the old (and the new) formula, we are dividing by .98! If we want to give a little breath of 2% shouldn't we multiply by .98?
|
What about this
|
We multiply the sample size result by .98. Not divide.
-kwag
|
01-31-2003, 11:41 AM
|
Free Member
|
|
Join Date: Jun 2002
Posts: 129
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
OOPS! I thought i had 2.07 this whole time!!! Thanks!
|
01-31-2003, 12:19 PM
|
Free Member
|
|
Join Date: Jun 2002
Posts: 129
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Why wouldn't the prediction() line be after the filters? When i put it right after the mpeg2source everything is still cut off.
|
01-31-2003, 02:17 PM
|
Free Member
|
|
Join Date: Apr 2002
Location: California
Posts: 21
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Smoochie3 -
I think you're correct - if the Prediction("movie") line is placed right before the Sampler(length=24) line (at the end of the script after all filters), everything displays correctly, otherwise it's cut off.
Excellent script!
Thanks, --TonyK.
|
01-31-2003, 02:34 PM
|
Free Member
|
|
Join Date: Apr 2002
Location: Puerto Rico, USA
Posts: 13,537
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Quote:
Originally Posted by Smoochie3
Why wouldn't the prediction() line be after the filters? When i put it right after the mpeg2source everything is still cut off.
|
That's why I put the prediction() line after the resize, so that no matter what resolution you use in GripCrop, it will be properly resized and displayed
-kwag
|
All times are GMT -5. The time now is 02:31 PM — vBulletin © Jelsoft Enterprises Ltd
|