From: Mike M. <mel...@pc...> - 2002-09-15 16:40:37
|
On Fri, 13 Sep 2002, Vikash K. Mansinghka wrote: > I'm interested in using the xine libraries to create a program which > can generate a series of thumbnails for movies (snapshots evenly > spaced in time) from a variety of movie formats. I was wondering if > any of you knew of an existing solution, or, if not, where a good > starting point in the xine libraries would be (or if you think this is > a horrible idea, and if so, why). > > I sent a message to this effect some weeks ago, but received no reply, > and am now subscribed to the list, fwiw. Hmm, you don't give up, posting on both lists. Admirable...:) I have been meaning to address this, so here goes: First, can you outline your idea a little more? Do you want to derive a new CLI or GUI tool based on xine-lib, or extend the existing programs that currently sit on top of xine-lib? What exactly will this program do? It sounds like it will open up a media file and yank out frames. What will it do when it gets those frames? Scale them down and display them to the user? Dump them to a file? Then there's the evenly-spaced part: To truly achieve this, you would have to play through the file from start to finish. At first, I thought about somehow just asking for keyframes, but that would be unworkable. Though I have contributed a bunch of components to xine, I have mainly restricted myself to A/V decoders and file demuxers. I admit that I do not know much about the primary xine-lib engine. However, per my understanding, a frontend program that uses xine-lib asks it to open a file and start playing the file. Then the frontend can ask it to seek, ask for snapshots, etc. The snapshot functionality should be the piece you are interested in. I envision that you can poll the engine to ask where it currently is in the playback time continuum and ask for snapshots periodically. And of course, please remember that the team is busily transitioning the API right now (another reason that good documentation does not exist right now). So if I understand your goals, the answer is yes, xine-lib can pull this off. Thanks... -- -Mike Melanson |