Page 1 of 1

Movie2Image v0.4 -Freeware-

Posted: Mon Nov 14, 2005 11:35 am
by IceSoft
Here a new 'developer' tool: Movie2ImageFree.exe

Transfer some movie clip formats into a BMP image formats file sequence.

Actuall features:
- Movie is shown
- Supported movie formats
- Can be saved as 'n' BMP image files
*.avi;*.mpg;*.mpeg;*.asf;*.gif;*.wmv


Screenshot
Image

Download link (ShowCase PureAreaNet):
http://www.purearea.net/pb/showcase/download.php?id=287 ~29KB
_________________

Posted: Fri Nov 18, 2005 12:50 pm
by IceSoft
Ok...I put it on a from BlitzBasic dominated URL ;-)

http://www.codersworkshop.com/viewshowcase.php?id=592

Posted: Tue Jul 25, 2006 1:39 am
by IceSoft
One improved version more... (PB4.0)

Posted: Tue Jul 25, 2006 8:13 am
by dige
Nice Tool, but it cant load some movies.
You did it with PB commands, or via VfW API?

Posted: Tue Jul 25, 2006 9:11 am
by IceSoft
dige wrote:Nice Tool, but it cant load some movies.
Please send me the movie (download link)

Posted: Tue Jul 25, 2006 11:52 am
by inc.
dige wrote:Nice Tool, but it cant load some movies.
You did it with PB commands, or via VfW API?
You can do that via directshow.
Look at this include as it contains an imagegrabbing routine:
http://www.purebasic.fr/english/viewtop ... highlight=

Posted: Tue Jul 25, 2006 12:46 pm
by dige
Yeah, that directshow stuff is very cool! But the capture is also only
from current visible frame? Or can I do that without showing the video?

Posted: Tue Jul 25, 2006 3:21 pm
by inc.
In the SDK it says that an imagecopy will be done from the current "rendered" frame. So as I understood up to now that Dshow stuff works as following.

- Create a Graph
- Add/remove Filters if wanted
- Render the Graph or renderfromfile()
- Play

This is the Dshow "intelligent connect" way.

So you could try without playing by just only seeking to the timestamp of the wanted frame/image and see if Dshow internally does "render" that current frame.
Now do capture that image using The Dshow include's Command and open the resulting bmp :)

Or just alter the LoadMedia(...) command of the include and search for the following lines:

Code: Select all

If *p\pGraphBuilder\RenderFile(L(filename), #Null) = #S_OK
      If Parent
        *p\pVideo\get_SourceWidth(@vw) : *p\pWindow\put_width(vw) 
        *p\pVideo\get_SourceHeight(@vh) : *p\pWindow\put_Height(vh) 
        *p\pWindow\put_Left(0)
        *p\pWindow\put_Top(0)
        *p\pWindow\put_Owner(Parent)
        *p\pWindow\put_WindowStyle(#WS_CHILD| #WS_CLIPSIBLINGS)
        *p\pWindow\put_Visible(#OATRUE)
As you can see "put_Visible(#OATRUE)" in the last line is self explaining, so do your test by setting it to #False (watch out #OATRUE is -1 !). Well maybe there's a quite more senseful way in Dshow, but this should fit to your needs ... imho ;)


But honestly .... don't you want WYSIWYG ? Or do you want to end up in a continous imagesequence on your HD?