MovieBox is the PowerBASIC translation of my C# zMoviePlayer.
This version uses the DirectX ActiveMovie.inc from José Roca.
Note: You must download and install the CCCP codec attached to this post before running MovieBox (and un-install first any other codecs before installing the CCCP codec)
MovieBox playing a 1920 x 800 MKV HD movie in composited mode on Windows 7:
(http://www.zapsolution.com/pictures/MovieBox260.jpg)
To play a movie, just use drag & drop from the Explorer onto the MovieBox, or click on the play button to open the file dialog selector.
MovieBox adjust its size to the real size of the video being played, however you can drag the borders to resize the window as you want.
If you encounter a problem while playing a movie, most of the time this is because you are not using the good codec.
There are plainty of Codec packages on the Internet, thus you should be able to find the right one on a dedicated web site.
See below the attached MovieBox2.zip from 08-09-2011
History:
Date Version
01-31-10 2.61 - Use TextRenderingHintAntiAlias with font when running in DWM mode + new codec pack.
06-05-09 2.60 - Added SnapShot feature (JPEG, BMP, TIFF).
02-07-09 2.50 - Added FLV support.
08-13-08 2.50 - Reworked to work with the latest Skin Engine and the brand new PB9 compiler (with source code and CCCP codec).
04-19-08 2.00 - HD movie detection has been improved, and true video size shown on status bar.
04-12-08 2.00 - Release of version 2.00, with new GUI and support for HD MKV format (matroska).
02-25-08 1.04 - Quick launch by dragging movie icon onto MovieBox desktop short cut.
02-24-08 1.03 - Added "full screen" mode button.
02-18-08 1.02 - XP version has been reworked for better integration of the "Active Movie Window" inside MovieBox.
02-16-08 1.01 - Version compatible XP
02-15-08 1.00 - Initial version for VISTA
Version 2.60+ is using the PB9 compiler it is provided with:
- Complete PB9 source code using low level DirectX API
- Dedicated include file to work with the PB9 compiler.
- Embedded CCCP codec that must be installed first.
- Latest Skin Engine with additional backgrounds.
About the MovieBox status:
This is a "participative project" (french definition: "projet participatif"), it means you can contribute with new themes, code enhancements, documentations, feedback. And all contributions must be posted there for the benefit of the members of this forum.
Things that you are not allowed to do:
Change the name of the project, change the logo without prior agreement, alter a theme without prior agreement, produce any derivated SkinEngine from this project.
And of course do not change or alter the copyright.
8) ...
I just saw this today Patrice, good luck with it. There are so many video codecs out there, I am sure it can keep you busy for some time to come. Good luck!
I'm interested. Although I haven't expertise in graphics programming, I can help if you have problems with the wrappers or need additional wrappers.
Hi Patrice,
thanks for new version, works perfectly!
I have one idea - would it be possible make a switch for fullscreen mode too ( no GUI, just video )?
Bye,
Petr
--Petr
Quotewould it be possible make a switch for fullscreen mode too ( no GUI, just video )?
Yes, it is on my list (see zMoviePlayer).
But so far I am figthing with the difference between XP and VISTA to produce a code that would run fine on both versions, XP is such a real pain compared to VISTA.
...
Version 1.02
- XP version has been reworked for better integration of the "Active Movie Window" inside of the MovieBox.
...
Patrice you did it! It is working perfectly so far. I am happy the Fullscreen option that Petr mentioned will be coming in the future.
MovieBox has been updated to version 1.03.
Added a new button to switch the display to full screen mode.
Latest zip file attached to the first post of this thread.
...
MovieBox has been updated to version 1.04
New features:
- Support for dragging the movie onto the quick launch icon (short cut) like in BassBox.
- Now you can restore from maximized using double click on caption bar.
Latest zip file attached to the first post of this thread.
...
Thanks Patrice works very nicely. Many of the players for watching video don't respond to the play and pause button on my keyboard but your player responds very nicely :) Thanks.
Hi Patrice,
Attached to this post you will find wrapper functions for the IMediaSeeking interface and my translation of the uuids.h include file.
The IMediaSeeking interface contains methods for seeking to a position within a stream, and for setting the playback rate. The Filter Graph Manager exposes this interface, and so do individual filters or pins. Applications should query the Filter Graph Manager for the interface.
The Filter Graph Manager distributes any IMediaSeeking call to each of the renderer filters in the graph. The renderer filters send the call upstream to the source filters. This sequence of events ensures that all streams remain synchronized. If any of the distributed calls returns an error, the Filter Graph Manager returns the first error value it received, even if some of the distributed calls succeed. An exception is E_NOTIMPL: the Filter Graph Manager does not return E_NOTIMPL unless it was returned by all of the distributed calls.
An application can seek the graph while the graph is in any state (running, paused or stopped). If the graph is running, the Filter Graph Manager pauses the graph before it issues the seek command. Then it runs the graph again. All seeking operations are independent of the current playback rate. Seeking operations cause any pending media data to be flushed from the graph.
For all IMediaSeeking parameters that specify time, the unit of time depends on the current time format. To set the time format, call the IMediaSeeking::SetTimeFormat method. Time formats are globally unique identifiers (GUIDs) defined in uuids.h.
Time Format GUIDs
The following globally unique identifiers (GUIDs) define different time formats.
GUID Description
----------------------- --------------------------------------
TIME_FORMAT_NONE No format.
TIME_FORMAT_FRAME Video frames.
TIME_FORMAT_SAMPLE Samples in the stream.
TIME_FORMAT_FIELD Interlaced video fields.
TIME_FORMAT_BYTE Byte offset within the stream.
TIME_FORMAT_MEDIA_TIME Reference time (100-nanosecond units).
--José
What is "ksuuids.inc", i don't have it.
What do you think would be the best $TIME_FORMAT _xxx to use, to be compatible with IMediaPosiion put_CurrentPosition?
$TIME_FORMAT_MEDIA_TIME ?
...
I have uploaded ksuuids.inc and a new uuids.inc.
I'm sorry but can't help you about the time format. I never have used the IMediaSeeking interface.
QuoteI'm sorry but can't help you about the time format. I never have used the IMediaSeeking interface.
No problem, i have been able to make it works, and dixit MSDN:
$TIME_FORMAT_MEDIA_TIME is the default value.
...
Attached to this post you will find the complete source code of the MovieBox MCI version.
It is based on my MMengine.dll (source code is also provided).
I drop MCI myself in the year 2000 in favor of the low level API, but my MMengine coud be useful for trivial tasks.
...
I have done a small change to MovieBox.
If you want to get it, send me a private message telling me if you want the MCI or the plain SDK version.
What has changed:
- Use default movie size to auto-center the player.
- Higher audio level for the SDK version.
- Drag and drop support between two Explorer windows (to drop the movie file directly onto the moviebox.exe line in the target Explorer window).
Screen shot of Version 2.0
(http://www.zapsolution.com/MovieBox/MovieBox2.jpg)
This version uses a new skinned interface (same as in the latest BassBox),
and supports matroska MKV multi-format (very often uses to embed HD movies)
(requires ffdshow codec + MatroskaSplitter or CCCP codec)
The zip file is attached to the first post of this thread.
...
MovieBox 2 has been updated to fix a problem related to the audio level.
Using the audio seek tracker, while no movie was loaded, would cause a GPF, because the COM audio interface was using a null pointer (that of course is a NoNo).
I apologize to the two guys who download it already :)
...
Thanks Patrice,
looks good! One thing- when I load file, the progressbar moves as the movie is played, but I see nothing, so I have to press that fullscreen button and then go back to windowed to see something.
Maybe it is CZ XP, maybe something else.
Thanks,
Petr
Petr,
So far i didn't check on XP, i shall do and let you know.
...
QuoteOne thing- when I load file, the progressbar moves as the movie is played, but I see nothing, so I have to press that fullscreen button and then go back to windowed to see something
These 3 problems have been fixed:
1 - On some XP config, the movie was not shown until MovieBox resized.
2 - While resizing HD movie the aspect ratio was not kept.
3 - Mute mode was not preserved while moving the audio volume.
...
Hi Patrice,
I have new problem on my XPs!
Hehe, just joking, of course new version runs great, thanks!
Petr
THanks Patrice, looks and plays nice, I am on XP so, so far so good, thanks again!
MovieBox 2.0 has been updated.
Detection and display of HD movie has been improved, while the true video size is shown on the status bar.
True HD movie size is 1920 x 1080, when using this new version of MovieBox you will see that many movies claiming to be HD movie are indeed closer to HD ready than full HD ;)
The zip file is attached to the first post of this thread.
...
Hi Patrice,
thanks for the update. I did not installed the CCCP, as I have other codec pacs installed already and did not wanted to go into possible collision. Important fact - it worked great! 8)
Petr
P.S. MovieBox.inc is a monster file :)
Patrice,
I am now in state I am not able to do any work on MovieBox / BassBox. It is terrible, and I am not happy of it.
So I tried to create new background at least, I call it "Infernal". You can include it as background if you like.
Petr
QuoteMovieBox.inc is a monster file
Yes, and i have cleaned it up already to decrease the size, but there are still much to remove.
Would be nice to have a preprocessor to do this cleaning work, something like inclean, but for PB9...
About BassBox it is still written in plain PB 8.04, thus you can do any work you want with it, including writing new plugins ;D
Patrice,
that is because I have no idea.
I got new PC last year, installed everything and forgot what codec pack I chose :) I know it was not CCCP as I would remember such a unusual name.
I presume it was K-Lite Codec Pack, but not sure. I looked in "Add/Remove programs" and nothing familiar there.
Petr
Petr has hit the nail on the head - it is actually a much harder question to answer than it may appear. I have loads of CODECs installed by various applications and I have no idea what is used and not used. For me, MovieBox played video but without sound on most movies, although these movies played with sound on other applications. With some trepidation, not wanting to upset my existing applications, I installed the CCCP package and MovieBox then worked with sound. Also, I'm glad to say, the other applications continue to work.
Does anyone is able to play HD movies, and then using which format: mpeg, wmv, mkv?
Note: If you install new codecs, always better to first uninstall the previous set.
MovieBox has been successfuly checked with the latest CCCP codec from september 21, 2008.
You can download the latest CCCP codec(s) there (http://www.cccp-project.net/)
Remember, before to install new codec(s), always uninstall first any previous version.
...
I have added FLV support to MovieBox.
Now you can download FLV movies from YouTube and play them local with MovieBox.
Note: The easiest way to download FLV files is to use FireFox and to setup its DownloadHelper.
The MovieBox_FLV.zip file is attached to the first post of this thread.
...
The new ZIP file is attached to the first post of this thread.
Version 2.60, is able to save a SnapShot to the folder of your choice using either JPEG, BMP, TFF.
This new feature is based on the IBasicVideo.GetCurrentImage DirectShow interface.
You can find many useful informations about DirectShow programming there. (http://www.geekpage.jp/en/programming/directshow/)
...
Version 2.61 and new codec pack, are attached to the first post of this thread.
...
The latest CCCP codec pack from 10-10-2010 is attached to the first post of this thread.
...
The first post of this thread has been updated, to fix the ZIP file corruption caused by the "Server Collapse".
...
To solve the zip memory corruption that occured in post #14 from this thread.
The MCI version has been moved here:
http://www.objreader.com/index.php?topic=112.0