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!

Reply via email to