digitalFAQ.com Forums [Archives]

digitalFAQ.com Forums [Archives] (http://www.digitalfaq.com/archives/)
-   Video Encoding and Conversion (http://www.digitalfaq.com/archives/encode/)
-   -   What's next for kvcd as a format? (http://www.digitalfaq.com/archives/encode/3052-kvcd-format.html)

PyRoMaNiA 04-20-2003 10:20 AM

I'm the one still doing 20 hours... :(

Don't see what it could be....encoding to 7200rpm Hard Drive, with 512MBs SDRAM and a 1GHz Athlon Thunderbird. I normally encode to 480x480...using this kind of script:
Code:

LegalClip()
GripCrop(480,480)
GripSize(resizer="BicubicResize")
STMedianFilter(10, 50, 0, 0, 10, 50)
PixieDust()
unfilter(50,50)
mergechroma(blur(1.58))
mergeluma(blur(0.3))
GripBorders()
LegalClip()

Defragmented a few days ago and it didn't seem to make any difference...what could it be? :(

vhelp 04-20-2003 11:11 AM

hi PyRo..

I wish I could help ya, but I'm still using AVIsynth v1.0 beta 5, and most
of those filters mergechroma(blur( 1.58 )) and mergeluma(blur( 0.3 )) for ie,
don't work, not to mention the others that require v2.x and higher.
I'd give that script a test, but I can't :cry:

Well, I don't use that many filters anyways, and I guess that one of my
delimas in making the switch. Besides, I had so many issues w/ color in
my privious encodes of yesterdays, (the past) that I'm just fighting the switch.

Defraging your hd won't do much for your processing time, but it can't hurt.

I have an idea though.. :idea:

How about running a few tests.. for instance, just take ONE item out, and
run an encode. But, don't "go all the way" he he.. actually, just wait to see
TMPG give you an estimation. Then, do the same with each, and also do
a few combinations of filters and see what TMPG's estimation is. Once you
have found a short time estimate, you're on your way to finding the cause
of your filter that is causing your "slow up". If I had only had the exper.
w/ those filters, I'd of probably guesed what was causing the slowness :cry:

Good luck anyways.
-vhelp

kwag 04-20-2003 12:50 PM

Quote:

Originally Posted by vhelp
Kwag, curious.. do you have a DV cam yet ??

Nope. My camera is a ~4 year old Sony Hi-8 :?

-kwag

vhelp 04-20-2003 12:58 PM

hi Kwag,

ok.. just thought that you had one.. being that you love so much being
on top of latest in just aobut everything :wink:

Well, I'm waiting for my Osprey-210 analog capture card - - ta add to my
list of video devices. I heard a few GOOD things about it, and want to
give it a try. Don't get me wrong. I LOVE my ADVC-100 but lets face it,
and don't forget.. that its video source is "compressed" hence DV. Anyways..
And, there IS a difference between DV vs. Analog (uncompressed) but not
by much. But I believe it is depend (quantity'wise) per Capture card and
Maker - we'll see in my next testings of my Osprey-210. I hope it proves
positive :wink:

I'm always looking for the best Analog Capture card out there, and I think
the Osprey-210 is it (so far) after shopping around on-line, I was able to
locate a fair price @ $165 (retail $199) - - should arrive around Monday
or Tuesday - can't wait :D :D

-vhelp

vhelp 04-20-2003 01:13 PM

.
And, here is a comment snipped on it's notary from:
ducas NEWS..

Quote:

"The Osprey-210 and Osprey-540 are examples of professional grade digital and analog captures devices specifically designed for streaming media applications. Both provide the audio and video inputs, outputs and advanced features required for optimized live rich media content creation. Osprey Video products have been named the "de facto standard" by DV Magazine and recently voted best streaming media hardware in the 2002 Streaming Magazine readers choice aware."
.
.
http://www.digitalfaq.com/archives/error.gif
just realized that it may have ben modified, being that there's TWO pics.
FROM: RealNetworks - read the specs there too.
.
or
.
http://www.digitalfaq.com/archives/error.gif
And, the on-line store, where I ordered it from: DV Direct

and some specs from www.ht.com

Quote:

The Osprey-210 ships with a breakout cable for video and audio inputs.
Features:
- Multiple Osprey-210’s per chassis (Windows NT, 2000 and XP)
- Advanced DMA for ultra-high performance (full 30fps)
- BNC composite video input
- Audio Loop-back
- Hardware audio gain control
- Closed Caption
- Compatible with SimulStream
Benefits:
- Increased integration flexibility by allowing multiple cards to operate within a single PC
- Captures full frame video at 30 frames per second for maximum quality
- Supports most popular video and audio APIs
- Professional video connector enhances reliability
- Monitoring of audio capture without impacting rich media delivery
- Enhanced sound capture at lower bit rates
- Windows 95/98, NT, 2000 and XP support
- Linux support
-vhelp

kwag 04-20-2003 01:24 PM

What chipset is in that card :?: That's the most important thing :!:
Is the ADC 8, 9 or 10 bit :?:

-kwag

vhelp 04-20-2003 01:42 PM

Hay Kwag..

I just edited the previous page. Apparently, there may have ben a revision made
to the 210 model. The first pic looks like my ATIW cards' breakout connection
(the one w/ the circle at top) so do have a look - at least out of curiosity.

Kwag Wrote:
Quote:

What chipset is in that card That's the most important thing
Is the ADC 8, 9 or 10 bit
I'll let you know when I get my hands on the card itself !! But, w/ my luck,
it's probably 8 bits 8O

* Any chance you might know what our WinTV-GO is rate at ??
* And, how about the ATI-TV Wonder pci card ??
* Oh, and the DC10+ ??

Thanks for bringing this up though. I didn't realise how important this is to an
Analog Capture device. I'm sure the higher the bits, the better!

I just did a search on vcdhelp, but they don't have a review. Guess no one has it
there yet or they just didn't post a review for it (probably bad) Maybe I'll post
first he he..

In any event, I'll give you a heads up :wink:
-vhelp

kwag 04-20-2003 01:56 PM

Quote:

Originally Posted by vhelp

* Any chance you might know what our WinTV-GO is rate at ??
* And, how about the ATI-TV Wonder pci card ??
* Oh, and the DC10+ ??

Not sure about the DC10+, but the WinTV and the ATI are 8 bits for sure :x
Quote:


I'm sure the higher the bits, the better!
You bet!. There was a review of a card, not so long ago at vcdhelp, about a cheap card that is 10 bits. I can't recall the name, but 10 bits is a huge improvement over any 8 bit capture card. You could also go and grab this: http://www.avland.co.uk/panasonic/dm...d-recorder.htm and then I guarantee you will never look back at any capture card :mrgreen:

-kwag

vhelp 04-20-2003 07:04 PM

hay Kwag..

..back again, after a tiring search.

ok, here is what I found on this card, though it's only hear-say from another
forum.. basically, it's basd on a BT878 chipset, but again, this is not
conclusive, rather someone's assumption. But, I'm tempted to believe the above
anyways though. It's looking more so, an 8bit card.

There is a cheap 10 bit card out there, that I'm researching on.
I think PixelView is using the chipset in one.

I started a thread on the Osprey-210 card, for discussions, so not to taint
THIS thread's original topic. You can find the link below:
--> Capture card: Osprey-210.. my experience..

Kwag.. Thanks for the heads-up on the 10 bit.
-vhelp

black prince 04-20-2003 09:14 PM

@Kwag,

Kwag wrote:
Quote:

Hi MrTibs,

Actually we can tell the compressibility of the source. The problem is that we can't tell the compressibility of the mpeg that TMPEG will create
That is why I suggested a "scan" of bitrate per frame on the source, and then scale that to MIN/MAX/AVG and feed TMPEG the data directly as picture type. This way, TMPEG will encode each frame at the specified bit rate, which it does provide for that on the advanced/force picture type settings. I'm currently hacking into DVD2AVI source, as I believe it's the ideal program to genete the raw frame/bit rate data. This way, after we finish saving DVD2AVI's project file, we'll have the .d2v, the AC3 or MP2, and a "someName.txt" file that we can process with a "soon-to-be-made" program that will analyze the data, normalize it, guarantee that the average bit rate will be the one we tell it to be, and generate a TMPEG .txt file ready to be processed. I already have the frame numbers identified in DVD2AVI and I'm looking at the source to find out where/if the bit rate information is available on a per frame basis. If anyone ( sh0dan, canman, sansgrip ) or any developer here that has worked a lot with mpeg2dec sources ( dvd2avi sources ), I'd appreciate if they help me identify the module, or the proper call to identify bit rate information on current processed frames
Interesting program. I used divx4log, which did something similar for
Divx 2-pass. You run VirtualDub using 2-pass and after the first pass
run divx4log to normalize the bitrate allocated to each frame. Then
substitute the log created by div4log to do the second pass. It forced
Divx to follow the bitrate normalized by divx4log. It didn't work well,
but only due to the developer's algo. His algo was suppose to improve
allocating bitrates to fast scenes and complicated (e.g. water, smoke)
scenes. :)

-black prince

kwag 04-20-2003 09:20 PM

Quote:

Originally Posted by baker

Next up I know kwags going to get wary wary angry when I start to mention CCE as he's actually got a wee personal vendandatta(how close was that spelling :lol: ) going against it.

Not at all! CCE is fine for high bit rates and MPEG-2, specially for DVD encodings >5Mbps. But for low bitrates, TMPEG just wins hands down every time :)


-kwag

kwag 04-20-2003 10:12 PM

Quote:

Originally Posted by black prince
@Kwag,

Kwag wrote:
Quote:

Hi MrTibs,

Actually we can tell the compressibility of the source. The problem is that we can't tell the compressibility of the mpeg that TMPEG will create
That is why I suggested a "scan" of bitrate per frame on the source, and then scale that to MIN/MAX/AVG and feed TMPEG the data directly as picture type. This way, TMPEG will encode each frame at the specified bit rate, which it does provide for that on the advanced/force picture type settings. I'm currently hacking into DVD2AVI source, as I believe it's the ideal program to genete the raw frame/bit rate data. This way, after we finish saving DVD2AVI's project file, we'll have the .d2v, the AC3 or MP2, and a "someName.txt" file that we can process with a "soon-to-be-made" program that will analyze the data, normalize it, guarantee that the average bit rate will be the one we tell it to be, and generate a TMPEG .txt file ready to be processed. I already have the frame numbers identified in DVD2AVI and I'm looking at the source to find out where/if the bit rate information is available on a per frame basis. If anyone ( sh0dan, canman, sansgrip ) or any developer here that has worked a lot with mpeg2dec sources ( dvd2avi sources ), I'd appreciate if they help me identify the module, or the proper call to identify bit rate information on current processed frames
Interesting program. I used divx4log, which did something similar for
Divx 2-pass. You run VirtualDub using 2-pass and after the first pass
run divx4log to normalize the bitrate allocated to each frame. Then
substitute the log created by div4log to do the second pass. It forced
Divx to follow the bitrate normalized by divx4log. It didn't work well,
but only due to the developer's algo. His algo was suppose to improve
allocating bitrates to fast scenes and complicated (e.g. water, smoke)
scenes. :)

-black prince

But with divx4log you had to wait for one full pass right? Which is what I'm trying to substitute for a one pass "Fast Scan", because it's just reading the stream, and not encoding to a temporary "one pass" file for later analysis and encoding of the second pass!.
I've chosen DVD2AVI for this purpose, as we all use DVD2AVI to process our files. So I've integrated this functions transparently in DVD2AVI, so that there is no user interaction. This is how it works: You run DVD2AVI as usual. When you save your project file, say you saved to a name like "movie.d2v". This is an example of what you'll get:

Code:

movie.d2v
movie.d2v.stats
movie AC3 T01 3_2ch 448Kbps DELAY 0ms.ac3

The file movie.d2v.stats, right now just contains the frame number and the type of frame. Like this:

Code:

0 -> I Frame
1 -> B Frame
2 -> P Frame
3 -> B Frame
4 -> B Frame
5 -> P Frame
6 -> B Frame
7 -> B Frame
8 -> P Frame
9 -> B Frame
10 -> B Frame
11 -> P Frame
12 -> B Frame
13 -> B Frame
14 -> I Frame
15 -> B Frame
16 -> B Frame
17 -> P Frame
18 -> B Frame
19 -> B Frame
20 -> P Frame
21 -> B Frame
22 -> B Frame
23 -> P Frame
24 -> B Frame
25 -> B Frame
26 -> I Frame
27 -> B Frame
28 -> B Frame
29 -> P Frame
30 -> B Frame
31 -> B Frame

Etc, etc, etc.. :D
If I get this to work, and I find out how to get the bit rate for each B, P, and I frame, then the actual information will be something like this:

Code:

0,I,5203121
1,B,2000000
2,P,3500121
3,B,1891212
4,B,1708765

Which will contain the exact information for each frame, and this is the information that will be "massaged" with a small external program that will create the ascii file ready to be imported into TMPEG.

Here's the executable so you can try it. It's DVD2AVI 1.76 modified, now named DVD2AVI+Stats. Also I compiled it with full speed optimizations with VC++ Enterprice Edition, so it should be a little bit faster than the regular DVD2AVI 1.76 :wink:. http://www.kvcd.net/dvd2avis.exe
Try it :D

-kwag

black prince 04-21-2003 12:51 PM

@Kwag,

Kwag wrote:
Quote:

Here's the executable so you can try it. It's DVD2AVI 1.76 modified, now named DVD2AVI+Stats. Also I compiled it with full speed optimizations with VC++ Enterprice Edition, so it should be a little bit faster than the regular DVD2AVI 1.76 . http://www.kvcd.net/dvd2avis.exe
This sounds like an interesting problem for SansGrip :wink: And BTW,
where is SansGrip these days. :?: If this could work, WOW!!! What
control you would have over Tmpgenc for bitrate and motion search.
Keep working on this Kwag, it has great possibilities :D

-black prince

vhelp 04-21-2003 07:29 PM

hi Kwag..

wrote..
Code:

0,I,5203121
1,B,2000000
2,P,3500121
3,B,1891212
4,B,1708765

Some quesitons..
* But, how or where would you plug in those values in TMPG ??

* or, how would TMPG use those values, if it uses ANY form of numbers
.. for any special purpose ??

* I take it that the 1st digit (before the P/B's) are the actual FRAME no's ??

* And, would this (the numbers) be fed in like "frameserved" or something,
.. or would it just be you tipicle .TXT file of some sort ??

Yes, VERY http://www.digitalfaq.com/archives/error.gif interesting http://www.digitalfaq.com/archives/error.gif in deed

Thanks,
-vhelp

black prince 04-21-2003 08:07 PM

@vhelp,

vhelp wrote:
Quote:

Some quesitons..
* But, how or where would you plug in those values in TMPG ??

* or, how would TMPG use those values, if it uses ANY form of numbers
.. for any special purpose ??

* I take it that the 1st digit (before the P/B's) are the actual FRAME no's ??

* And, would this (the numbers) be fed in like "frameserved" or something,
.. or would it just be you tipicle .TXT file of some sort ??
Tempgenc>Settings>GOP Structure>Force Picture Type>Settings>
Load>movie.txt (this contains frame number, p or b or I frame type and
hopefully in the future bitrate). An external program will need to be
developed to change the bitrate for each frame to force Tmpgenc
to do a better job with normailzation and motion search. 8) The
end result will be a smaller encode and an improvement in picture
quality :D Some avs filters won't be needed and that increases
the encoding speed. This could be a BIG step forward to improving
KVCD even more.

-black prince

kwag 04-21-2003 09:04 PM

Hi vhelp,

That code sniplet, 0,I,5203121, etc., would be the intermediate data spitted out by the modified version of DVD2AVI. This text file is then processed by another program that I still have to make, and that program would process that data and create a file in TMPEG's "Force Picture Type" format which is something like this:

Code:

0,I,BitRate=CBR:1800
1,B,BitRate=CBR:1233
2,B,BitRate=CBR:1123
3,P,BitRate=CBR:1500

Etc.

Go into TMPEG and under GOP tab, click on "Force Picture Type", and there you'll see what we're talking about :)

-kwag

vhelp 04-21-2003 10:33 PM

hi Kwag.. black_prince.. and guys,

Thanks for response. Hay, something's wrong w/ your FORUM Kwag..
cause I didin't get any e-mail noticifcation on any responds after my last
one !! 8O

What's up w/ that 8O 8O 8O

Anyhows.. I think I know what you're talking about (got too envolved w/
WWF.. Trish got her ahzz whipped) but I'll have another look into TMPG's
GOP tab.

@Kwag.. I had time earlier to check out your revised DVD2AVI.
Worked like a char !! :lol: :lol: ..what calculating statistics from these
numbers. Are their any uses for them in addition to ??

Code:

0,I,BitRate=CBR:1800
1,B,BitRate=CBR:1233
2,B,BitRate=CBR:1123
3,P,BitRate=CBR:1500

* Does TMPG generate a silimar table of "values" during certain encodes ??
.. and/or that can be.. say.. "switched" w/ your NEW table of values he he..
.. "obviously, you're working on this, I realize, but.."

Here's what DVD2AVI+ outputed for an encodes (based on a captured source)
Thanks to good old Excel..
Code:

FRAMES  --  "B" count  --  "P" count
-------------------------------------
1725          1150          479

* I guess you'll have CBR and VBR values in this project ?

* also, are you taking into consideration that not all TMPG version are or
.. may not act alike in features. You know how THAT song goes.. w/ each
.. version tsumi (<-- spelling) makes.

-vhelp

kwag 04-21-2003 11:38 PM

I'm still not sure if I can set bit rate independently for each I, B and P frame. I might just write a dummy ascii file, and then load it with TMPEG's "Load" button under "Force Picture Type", and see if it follows the forced pattern I set in the ascii file. Have a lot to test :roll:

-kwag

rhino 04-22-2003 07:45 AM

Hey Kwag,

if you can tell me processing needs to be done with your stats file to create the appropriate tmpgenc file, i'll write a perl or php script to do this until an app is developed (i'm a *nix developer, don't have any coding packages for windows). People could either use it locally on a web server on their PC or it could be run off a few websites and people can load their stats log file into the webpage and it would spew out the appropriate tmpgenc file.

Would do in the meantime,

Cheers,

black prince 04-22-2003 07:57 AM

@Kwag,

Kwag wrote:
Quote:

I'm still not sure if I can set bit rate independently for each I, B and P frame. I might just write a dummy ascii file, and then load it with TMPEG's "Load" button under "Force Picture Type", and see if it follows the forced pattern I set in the ascii file. Have a lot to test

-kwag
I tried this and Tmpgenc hung up my computer. My syntax for each
frame must be the problem. Next, I want to use auto-setting for a
.d2v input file and save this as text. If this works, I'm going to play
with bitrate for each frame and try to create a small .mvp file to
look at my results. I can control the frame range with source range.
If I'm lucky, I can pick scenes that could be tested (e.g. water, fire,
smoke, etc.) adjusted for bitrate. The magic is using a program to
do this auomatically :)

-black prince

kwag 04-22-2003 12:21 PM

Ok, now I have a hint on how to process and find the bit rate information ( Thanks Arno :wink: ), so I'm going to play with this later tonight :D

@rhino,

The file analysis would be very slow on anything but a compiled language ( I'm a U*IX programmer too ;) ), because it has to take the complete file that is processed with DVD2AVI+Stats and normalize the data before writing the new TMPEG compatible file. This is time consuming, and Perl, Python, etc., are not good candidates for that! ( I think, maybe not?). But hey, if this gets done, the beauty of it is that you or anyone can write different algos for that data, and we can all optimize the bit rate allocation, etc :)
Stay tunned!

-kwag

rhino 04-23-2003 04:23 AM

@kwag

Its a fair point - compiled is faster than scripting. I generated a 5Mb file of the format you are hoping to output from dvd2avi and to read this in and break it up into an array takes about 16 seconds on a 296Mhz sparc box. So good to prototype with then maybe someone could code the routines into a dll so ToK or MovieStacker could become a front end to it?

Cheers,

rhino 04-23-2003 09:33 AM

@kwag

can you make available your src of DVD2AVI? I hope to have VC++ in the next couple of days and plan to have a poke about dvd2avi.

cheers,

kwag 04-23-2003 09:34 AM

Quote:

Originally Posted by rhino
@kwag

and to read this in and break it up into an array takes about 16 seconds on a 296Mhz sparc box.

That's not bad at all!
Quote:

So good to prototype with then maybe someone could code the routines into a dll so ToK or MovieStacker could become a front end to it?

Cheers,
Right!, we could use any scripting language ( I personally would use Python or Ruby ) to play with algos and optimizations, but then for the actual program, I would just write it in C :)
So a standalone .exe and/or a .dll can be created. And great idea on the integration of that with ToK and/or MovieStacker ;)

Here's something you could try, and see how fast it works on a scripting language: Create an array of ~170,000 integers (about the size of an average film in frames). No need to be unsigned, because the MAX bit rate on a DVD is ~9Mbps. So fill the array with random values from 2000 to 9000. Now normalize the array with a scale, simulating our bit rates that we will use with TMPEG. That is MIN=300, MAX=2,500 so 2,000(DVD) would be 300(KVCD) low watermark, and 9,000(DVD) would be 2,500(KVCD) high watermark. See how long it takes to process that :!:
Then of course there's one more step, and that is to arrange the bit rate and trim and adjust, to create the average bit rate that MovieStacker suggests for the movie being processsed. That is the step that will take the longest time and the trickiest of all ;)

-kwag

kwag 04-23-2003 09:37 AM

Quote:

Originally Posted by rhino
@kwag

can you make available your src of DVD2AVI? I hope to have VC++ in the next couple of days and plan to have a poke about dvd2avi.

cheers,

I will, when it actually works and does something usefull! Right now it's just a dummy write of the frames and frame type into the x.stats file.

-kwag

rhino 04-24-2003 04:31 AM

To read in 170,000 entries of format "Frame No,Frame Type,Value", then process the array converting from scale 2000-9000 to 300-2500 takes about 27 seconds using perl.

Now, this is with hard coding the scale ranges and mappings. If we don't know the MIN MAX values (ie. 2000 to 9000) at the beginning then we need to process the array and find the MIN and MAX values. Which is fine, it will not add much time onto the 27 seconds and we can do this whilst reading in the file and it will not take any user time to calulate the scale to scale mappings.

As for the last step, I'm not sure what needs to be done to align to the MovieStacker average, but if you can expain the theory I'll code it up. Then all we need is your modified DVD2AVI to do a few tests.

Cheers :)

kwag 04-24-2003 11:08 AM

Quote:

Originally Posted by rhino
As for the last step, I'm not sure what needs to be done to align to the MovieStacker average, but if you can expain the theory I'll code it up.

That's the best part of all :lol:
First, after normalizing the DVD->KVCD bit rates, we have to scan the array and find the average bit rate. Then using MovieStacker (or other VBR calculator), the array has to be balanced to the wanted average bit rate. This is the part that will take the longest time to process, because if the average bit rate is above wanted, you have to lower bitrates!. So the array will probably have to be sorted by bit rate, and then clip down from the high bit rate part of the array in order to bring down the average. This will require many many passes to fine tune and trim, until the average bit rate is obtained again by reading the complete array again and again after adjustments for re-computing the average bit rate. Fun isn't it :mrgreen:
Well, that would be my algorythm, just off the top of my head. Of course, in reality, it will probably be slightly different (but not much!) :wink:

-kwag

black prince 04-24-2003 11:44 AM

@Kwag,

Can a weighted average be used??? The number of frames divided into
the sum of the bitrates for each frame, or is this too simplistic??

-bp

kwag 04-24-2003 12:02 PM

Quote:

Originally Posted by black prince
@Kwag,

Can a weighted average be used??? The number of frames divided into
the sum of the bitrates for each frame??

-bp

Yes, I believe so. There are probably many ways to skin this cat :lol:
This might just be another "Fine tunning" adventure, just like the file prediction method :D

-kwag

rhino 04-24-2003 12:04 PM

@Kwag

that actually does not sound too bad. So basically we get an average from our normalised KVCD data and then either scale up to the movie stacker average or down.

Do we then cap at 2500 for any value that goes over it and anything that drops below 300 we fix at 300 (or whatever MIN MAX values are set - this will obviously be configurable:)

I'll crank something out later with the fudged data I am using and we'll see what it comes out with

Cheers,

kwag 04-24-2003 12:17 PM

Quote:

Originally Posted by rhino
@Kwag

that actually does not sound too bad. So basically we get an average from our normalised KVCD data and then either scale up to the movie stacker average or down.

Right!
Quote:


Do we then cap at 2500 for any value that goes over it and anything that drops below 300 we fix at 300 (or whatever MIN MAX values are set - this will obviously be configurable:)
Exactly :D
Quote:


I'll crank something out later with the fudged data I am using and we'll see what it comes out with
That sounds great!. We can really generate dummy data, even if it looks like hell!, but then we can try and feed TMPEG with the data just to see if it does work before actually proceeding with more serious stuff. Just in case it doesn't work!

-kwag

black prince 04-24-2003 03:10 PM

@Kwag,

Can't wait to hear about the results (good or bad) from this dummy data.
A crude start like file prediction, but over time the refinements would
prove very interesting. :D

-bp

kwag 04-24-2003 03:20 PM

Quote:

Originally Posted by black prince
A crude start like file prediction, but over time the refinements would
prove very interesting. :D

Just like the "CQ Crap thread". Remember that "?"
And look where we are today :mrgreen:

-kwag

rhino 04-25-2003 05:37 AM

Was talking to a friend last night (far better at maths than i am - he remember things from school!), and he was making a few suggestions on how to take our normalised KVCD data and scale it against MovieStackers average Bit Rate.

So for the first draft, I'll calculate the KVCD average and rescale against MovieStacker, but ideally we says we need to plot the bell curve and factor out redundant points. He suggested that once we get the I, P and B frame information we generate a few graphs from various films to see what kind of curves we get.

Long term it would be good to be able to have a graph plotted in our app so that we can manually tweak upper/lower values to optimise our KVCD average.

Anyway I digress, I'll have a script ready for later. Its written in perl and only about 70 lines long, so rewrite, fix, etc in the language of choice.

Cheers,

rhino 04-25-2003 05:51 AM

Here is a sample of the output I have generated. The Frames are based on the output from Kwags version of Dvd2Avi. I changed the output from "0 -> I Frame" to "0,I,3456" where the bitrate value was created randomly between 2000 and 9000 (see the SRC_MIN and SRC_MAX parameters).

The data is rescaled to the KVCD scale, then re-averaged against the average value in MovieStacker. So based on The Matrix you can see the sample output below.

The re-average of KVCD data is slightly out as I rounded values instead of keeping them as floats till the output section but for now its close enough.

Will upload script later with a pointer so you can mess over the weekend,

Cheers,


Code:

Using the Samlin Ritchenson method:)
SRC_MIN value is 2000
SRC_MAX value is 9000
KVCD_MIN value is 300
KVCD_MAX value is 2500
Using SRC_STEP 3.181818 and KVCD_STEP 0.314286

Read in File
Normalise values to KVCD scale

MovieStacker Average is 679
KVCD Average is 1398
Rescale value is 2.058910
Re-average KVCD data to MS average
KVCD Re-Averaged is 689
Output new file
0,I,BitRate=CBR:551
1,B,BitRate=CBR:626
2,B,BitRate=CBR:603
3,P,BitRate=CBR:734
4,B,BitRate=CBR:557
5,B,BitRate=CBR:1141
6,P,BitRate=CBR:991
7,B,BitRate=CBR:583
8,B,BitRate=CBR:370
9,P,BitRate=CBR:300
10,B,BitRate=CBR:300
11,B,BitRate=CBR:1008
12,P,BitRate=CBR:1020
13,B,BitRate=CBR:780
</code>


kwag 04-25-2003 07:36 AM

Hi rhino,

I just tested your data, but we have a problem with TMPEG :evil:
When I import your data under "Force Picture Type", the frame order is correct just like you specified here:

Code:

0,I,BitRate=CBR:551
1,B,BitRate=CBR:626
2,B,BitRate=CBR:603
3,P,BitRate=CBR:734
4,B,BitRate=CBR:557
5,B,BitRate=CBR:1141
6,P,BitRate=CBR:991
7,B,BitRate=CBR:583
8,B,BitRate=CBR:370
9,P,BitRate=CBR:300
10,B,BitRate=CBR:300
11,B,BitRate=CBR:1008
12,P,BitRate=CBR:1020
13,B,BitRate=CBR:780
13,B,BitRate=CBR:780

But TMPEG is not following the bit rate specified for each frame, but instead it's setting an (sort of) average bit rate on every frame by averaging the bitrates on your table 8O
When I load your data, I get this on TMPEG's frame timeline:

Frame 0 (I Picture ) 551Kbps, New Group
Frame 1 (B Picture ) 551Kbps
Frame 2 (B Picture ) 551Kbps
Frame 3 (P Picture ) 551Kbps
Frame 4 (B Picture ) 551Kbps
Frame 5 (B Picture ) 551Kbps

Etc. :x
Something is not correct in TMPEG, or it just works that way :!:
If this can be fixed or made to work the way it should, were fine. If not, we're screwed :cry:
I'm going to play with TMPEG and see exactly why it behaves like this.

-kwag

black prince 04-25-2003 07:55 AM

@Kwag,

This could be important. It's from vcdhelp:

Quote:

III. "Under the GOP structure tab"

I really have no clue about this whole tab other than..
Force picture type settings: this is used with the manual VBR MPEG-2 setting And under its settings click auto setting (only if you are using manual VBR) and click start. If using anything else but the VBR family of encoding methods turn off for a slight performance gain.
-bp

kwag 04-25-2003 08:16 AM

Thanks bp,

Yes that's the way I have it set (MVBR), but it behaves the same either with MPEG-1 and MPEG-2.
I'm going to try older versions of TMPEG, and see if it does the same :roll:

-kwag

rhino 04-25-2003 08:32 AM

I have been messing with Tmpgenc today (as i'm working from home:) and I noticed that I couldnot set the bitrate for P and B frames. And man does it take a long time to load in 192,422 frames. This could be a big downside to the process.

I'm currently fighting with my webhost - they took away my ssh access because some users screw things up when using shell access.

kwag 04-25-2003 08:35 AM

Quote:

Originally Posted by rhino
And man does it take a long time to load in 192,422 frames. This could be a big downside to the process.

That I hadn't tried! How long did it take :?:
Quote:


I'm currently fighting with my webhost - they took away my ssh access because some users screw things up when using shell access.
Don't you just hate that :twisted: :lol:

-kwag


All times are GMT -5. The time now is 11:48 PM  —  vBulletin © Jelsoft Enterprises Ltd

Site design, images and content © 2002-2026 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2026 Jelsoft Enterprises Ltd.