JOURNAL: koronoru (Kevin Oronoru)

  • Very short entry: a gripe 2003-04-07 13:56:31 The Seras Victoria action figure from the Hellsing 4 DVD package. It's very hard to get her to stand upright without falling over, because her tits are too big. 
  • Re-ripping 2003-04-07 12:18:11 Well, it turns out that although tcprobe reports the discs as being 23.976 fps, the actual video data on the discs has been subjected to 3:2 pulldown, and is stored at 29.970. That leaves me with two options: I could switch my project to 29.970, or I could re-do the ripping, and undo the pulldown along the way, which would mean investing a whole bunch more computing time and adding another generation of encoding losses in my pipeline. That is, nonetheless, what I'm doing - because when I tried it on a test chapter, there was a night-and-day quality difference between the interlaced direct rip and the progressive 23.976 version. Progressive is way better. Also, if I'm going to undo the interlacing at all, I ought to do it before editing instead of after, because it'll be a lot harder to do properly after I've cut and pasted and dissolved and overlaid and whatever else.

    So now I get to spend most of the rest of the week re-processing the entire first season of Hellsing at about 1.8 frames per second, contending with occasional crashes from my buggy motherboard, which seems to dislike the wacky weather we've had recently. The up-side: I now know a lot more about DVD video than before, and (importantly) my video quality is going to be significantly better all the way through.

    I discovered something bad about transcode's output plugin for mpeg encoding, too: it accepts parameters for maximum bit rate, minimum bit rate, and average bit rate, and then it computes a range of acceptable bit rates for each group of pictures (based on the constraints and how many bits it used for previous pictures). Well, if you specify all three constraints with reasonable high values aiming for minimal generation loss, as I'm doing in my rip, then it sometimes gets into a state where a given GOP has no possible bit rate, and then it loops forever. Workaround: do not specify an average bit rate.

    Of course, this means I have to re-run all my image indexing stuff, too, but (I hope) it will make the times line up correctly, and I have all the software written for that now so it shouldn't be a big problem. It was to make the times line up correctly that I dug into it deeply enough to find out about this 23/29 business, but fixing the 23/29 business will have other beneficial effects - improved picture quality, better seeking and I hope better stability in Cinelerra. 
  • Working in the salt mines 2003-04-05 15:27:48 The last week or so I've been spending almost all my waking hours on multimedia databases - doing my project for a class in that subject, and waking on my "own" time on the visual Hellsing index. I'm getting mixed results from that latter. I can build the index, no problem. The clustering idea isn't working as well as I'd hoped, but it works well enough to be useful. So I actually have a directory tree of HTML files on my hard drive, totalling roughly 100 megs, which is a browseable index of the entire first season of Hellsing.

    The problem: Cinelerra and transcode don't agree about how many frames are in the source material! The opening, let's say, appears to contain 2301 frames when I decompress it with transcode. But when I load it into Cinelerra, it claims it only has roughly 1800 frames. There is also something weird with the frame rate. Looking at the original DVD it appears to be 23.976, but the actual files I ripped from the CD appear to be tagged as 29.970. I think Cinelerra is looking at those files and auto-converitng them to 23.976 (which is what I told it I wanted my project to be) but that isn't the right ratio to explain the observed difference in length. I fear if I really want to get this resolved I may have to go back and re-rip the original DVDs, and do something (I don't know what) to try ot keep them at 23.976 all the way through.

    The bottom line is that my index doesn't agree with the times as reported by Cinelerra, and that makes it less than useful. I could sort of fix it up be multiplying in an experimentally-determined fudge factor, but I'd rather ferret out the problem and get it really right, since I want to use these same tools for other projects too. 
  • Where's all this *water* coming from, dude? 2003-03-30 13:59:06 Coming up on 48 hours now of refrigerator defrosting, and there's still water dribbling out of the machine onto the floor, indicating that there's still ice somewhere in there, melting. Since this was such a big production I want to make sure it's *all* gone before I turn the machine on again. The food in the cellar was at 4 degrees last I checked; substantially colder than the fridge had been. But enough of that.

    So I was making notes on 3x5 index cards for another (non-AMV) project, and I had a cool idea: what if I could screen-capture an image from every shot in the source material (say, just grab one every couple seconds, as a first approximation), and then print a thumbnail and the numbers for which disc, title, chapter, and frame it's from, onto a physical index card? Then when I'm looking for a shot, instead of fighting with my MPEG viewer, I could just flip through the stack of cards! I could also arrange the physical cards on the floor or whatever, in order, to play with sequencing. A set of cards like that could make AMV creation a real joy.

    Well, let's do the math. Six hours of source material (that's a slightly high estimate for a 13-episode season of an anime show), roughly 3333 seconds per hour (which is slightly low, actually there are 3600) makes 20000 seconds. Figure an average of one index card per two seconds of source, that's ten thousand index cards. Uh, that's a lot to be feeding into my work's colour laser printer; it'd get me in trouble for sure. At a penny a card the cards alone would be $100, then figure ten cents per card for printing (which is probably a low estimate, but I do have some connections) that's $1000 for the printing, then there'd be the cost of some kind of storage for all those cards... the bottom line is that that would be a very expensive proposition and it wouldn't even be that great because ten thousand cards isn't a nice little stack you can hold in your hand and flip through. Then multiply by the number of shows you want to index, and that where I'd be lucky because I usually do just one show per video. In a perfect world where someone was paying me to make AMVs, it would be within budget, because at the impressive hourly rate I charge for my services, it would cost more to pay me to organize the data to print the cards, than to buy the cards, printing costs, storage cabinets, etc. But on my own dime, I can't hope to do that. It's sort of cool, though, to realise just what a scale of problem we're all solving when we make AMVs.

    But that got me thinking some more, because indexing multimedia data is actually a topic I'm working on in school, and I'm actually doing a lot of the software work that would be involved in this anyway, for school. So I had another nifty idea: instead of actually printing out all those index cards, what about building a similar index on a CD-ROM? Advantage: I can store ten thousand virtual index cards on a CD with no problem, and a CD costs less than a dollar. So I wrote a piece of software to scan my MPEG files, attempt to guess where the "cuts" are, and store one image from each shot. Then I plan to generate HTML files so that I can use my Web browser to look for images. I also have some ideas involving a technique called "k-means clustering" to find images that look similar. Use case: let's say I want a picture of Seras Victoria looking surprised. Well, she does that several times per episode, for a fraction of a second at a time. So in thirteen episodes spread out over more than five hours of the timeline, how do I find not only a shot of Seras looking surprised, but the one shot that is perfect for a given moment in my video? Well, with the visual index as I imagine it, I would find just one shot of her face, click on it, get a whole bunch of pictures of her face, find the one I want, and then get the exact coordinates for retrieving it.

    This amount of work would be just silly if I were applying it to just one video, of course, but another nice feature is that having burnt the index disc once, I can come back to it at any time in the future when I want to make another video from this source material. If I can develop good software for generating the indices, I can also index lots of other content; and both the indices and the software might be of interest to other hobbyists besides myself. 
  • Fly, my monkeys, fly 2003-03-29 13:18:59 Today, at long last, is refrigerator defrost day. My fridge is supposed to be frostless, but that hasn't stopped it from getting clogged with ice. As far as I can tell, the problem is that the cooling coils actually only cool the freezer compartment. Then there's a fan that blows cold air from there to the fridge part. The first problem is that ice collects on the cooling coils, and it acts as an insulator, so that the coils say, "Oh, we're nice and cool!" and shut off, even though the freezer compartment isn't really very cold. Then the ice also gets into the fan, stopping it, so that even if the freezer part is cold, the fridge part isn't. The fridge part has been hovering around ten degrees (centigrade) for the last several weeks, and that wouldn't really be safe if I were storing, for instance, meat. I've spent so much time at school that I haven't been eating at home much anyway, so I haven't been stocking my fridge with perishables, but by the same token, I haven't been using up the food that's already in the fridge either.

    So. Over the last several days I've been freezing large blocks of ice in my freezer, and then today I emptied out all the food from my fridge and freezer, stacked it up with the ice blocks in the cellar, and threw some plastic garbage bags, towels, and my parka over the stack. I figure that'll keep the food sort of cold (at least, no warmer than it was getting inside the refrigerator) while I let the fridge thaw out. I unplugged the fridge, propped the doors open, and am waiting for the ice in there to melt. I hope that won't be more than a day or two.

    Work on Mothyre continues apace; I've had so much time to think about ideas while I was waiting for the last disc, that now I have it, I'm able to do the sequencing really efficiently. I also feel like with each new video I work on, I'm getting faster and better. Learning from mistakes and so on. My anon email address is working again, too. I sure wish people would email me...

    Total sequenced: 56 seconds, 20% of total. 
Current server time: Dec 26, 2024 07:05:34