Hi Nadim: On Fri, Jan 9, 2009 at 12:57 PM, nadim khemir <na...@khemir.net> wrote: > On Thursday 08 January 2009 21.15.07 Jonathan Yu wrote: >> Hi all: >> >> I am looking into writing a module that will look up information on a >> Video file's Four Character Code (FourCC) and display some useful >> stuff, like a description of what the codec actually is. This will be >> useful for the Video::Info package in particular, because it only >> extracts those four bytes from the file and does nothing further. >> >> I have looked at two references [1], [2] for FourCC codes that are >> commonly used. These descriptions will let people figure out >> characteristics of video files, like the encoding that was used and >> the expected quality of that encoding - for instance, if the FourCC is >> "CDVC", then we know that it was encoded using the Canopus DV Codec - >> thus the file was thus created on a digital camcorder, and that's the >> quality we can expect from it. >> >> The Wikipedia [3] page is pretty useful for explaining what FourCC is, >> and will hopefully establish some relevancy. >> >> What I am looking for are the community's thoughts on such a module, >> since it would really just be a large internal hash table with FourCC >> codes mapped to descriptions (or, optionally, an SQLite database, but >> I don't think it's really large enough to warrant that - it should fit >> mostly in memory). Aside from searching for the phase "FourCC" using >> the CPAN search engine, I haven't really done a whole lot of >> searching, and so I don't know if there is/are [a] package(s) that >> handle this type of thing. > > 1/ if it is only to provide information and no manipulation, call your module > Video::FourCC::Info or something that makes it's intent clear. This also > leaves the top level Video::FourCC open to other modules
This sounds like a good idea, and I have opted to call my module that name instead. I'm not sure what other operations need to happen for FourCC's, but leaving the option open is a good idea. > > 2/ put all the references you found in the module, speciallyu those that will > exist in the future (difficult to guess I know) and those you feel will be > updated What do you mean? So far I just have those two. FourCC is pretty nonstandard unfortunately, so we're really just in a game trying to make sure we can keep up with whatever people decide to come up with. > > 3/ don not put all your data in the module. Although this module is very > specific and unlikely to be loaded with a lot of other modules at the same > time, it is good to conserve memory. Split your data and load it dynamically, > compress the data if possible. How would you suggest doing this? Do you think using SQLite as a backing store would be a good idea, or perhaps the Berkeley DB? > > We need more application oriented modules, I'd like very much to see video > editing on CPAN. Maybe an idea for your future modules ;) > > Good luck with your module, Nadim. > > > Cheers!