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

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

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.

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.


Reply via email to