PureBasic Forum

MP4 Player & Downloader
Page 1 of 1

Author:  JHPJHP [ Sat Aug 12, 2017 9:12 am ]
Post subject:  MP4 Player & Downloader


Download MP4 Player & Downloader from My PureBasic Stuff


Tricks 'n' Tips
PureBasic Interface to OpenCV
PureBasic Interface to WinDivert
PureBasic Interface to WinRAR
PureBasic Interface to 7-Zip
PureBasic Interface to ImDisk
Windows Services & Other Stuff
Invading Space Aliens
Death Star vs Asteroids
GIF Toolkit
LSB Image Steganography
Spider Web Drawing
Deform Image: MLS
Video Snipping Tool
Stitch Images: SIFT
Image Waves: LUT
YouTube Player & Downloader
MP4 Player & Downloader
Barcode Generator
Embed JS into PureBasic
Geolocation: Google Maps
Book & Viewer & Magnify
Video for Windows: VfW
Alternate Console
Network Share Management


- resizable window
- full screen mode
- save video downloaded from URL
- save snapshot of current frame
- numerous command parameters

Player Window:
- F1 Key: Toggle Shortcut Menu
- F2 Key: Open MP4 File (path or URL)

- F3 Key: Open Thumbnail Viewer
- F4 Key: Save Video Frame

- F12 Key: Reload Default Video

- Esc Key: Exit Full Screen / Close Window

Command Parameters
- MP4 || MP4Video : set a start video when the player is opened
- M || Maximized : open the window maximzed (DEFAULT: 0 || 1)
- X : open the window at x location
- Y : open the window at y location
- W || Width : set the starting window width
- H || Height : set the starting window height
- MW || MinWidth : set the minimum window width
- MH || MinHeight : set the minimum window height
- FS || FullScreen : open the window in full screen (DEFAULT: 0 || 1)
- FSX || FullScreenX : open the window in full screen at x location
- FSY || FullScreenY : open the window in full screen at y location
- FSW || FullScreenWidth : set the full screen width
- FSH || FullScreenHeight : set the full screen height
- AS || AutoStart : attempt to start the video without user interaction (DEFAULT: 1 || 0)
- LV || LoopVideo : restart the video after it completes (DEFAULT: 1 || 0)
- SV || SaveVideo : save the video downloaded from a URL (DEFAULT: 1 || 0)
- PO || PlayerOnly : play the video without first fully downloading (DEFAULT: 0 || 1)
- TR || ThumbnailRatio : set the thumbnail save-size ratio (DEFAULT: 0.25 || 0.25 - 1)

Author:  JHPJHP [ Sun Aug 13, 2017 9:48 am ]
Post subject:  Re: MP4 Player

This is a companion program to the YouTube Player.
- also updated at the time of this post

Press the [ F4 ] key to save a snapshot of the current frame.

If the thumbnail viewer is open [ F3 ], pressing the [ F4 ] key will create an on-screen thumbnail list, and save a snapshot of the current frame.


- added Shortcut keys
-- see [ F1 ] Shortcut Menu for changes
- the MP4 player Full Screen icon now controls the PureBasic window
-- double-clicking the window also toggles the Full Screen display on / off

NB*: Included a JavaScript event listener and function that can react to changes to the document title.
- document title can be changed from PureBasic using (DOM) existing code

Author:  gurj [ Sun Aug 13, 2017 10:03 am ]
Post subject:  Re: MP4 Player

can't Download.

Author:  dige [ Mon Aug 14, 2017 7:53 am ]
Post subject:  Re: MP4 Player

Well done! Thx JHPJHP

Author:  JHPJHP [ Wed Aug 16, 2017 5:38 am ]
Post subject:  Re: MP4 Player

Hi dige,

Thank you for the kudos :!:


Figured out the Same-Origin policy for locally loaded MP4 files (does not apply to URLs).

- switch around some Shortcut keys (see the [ F1 ] menu for changes)
-- press the [ F3 ] key to open the thumbnail viewer
-- press the [ F4 ] key to save a snapshot of the current frame

If the thumbnail viewer is not open and the [ F4 ] key is pressed, a full snapshot is saved (also works with URLs).
- this uses an API hack, while the thumbnail snapshot solution should work in a cross-platform application

NOTE: While the Shortcut Menu and Thumbnail List cannot be viewed in Full Screen, there is a simple fix, but it would require writing custom controls.

Author:  uweb [ Wed Aug 16, 2017 6:53 am ]
Post subject:  Re: MP4 Player

Thank you.
But it looks like it don't like special characters (i.e. ä, ö, ü, ß) in filenames.

Author:  JHPJHP [ Thu Aug 17, 2017 12:37 am ]
Post subject:  Re: MP4 Player

Hi uweb,

Thank you for the information; problem fixed.
- included the following MIME Type: <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>


- added a new Command Parameter
-- ThumbnailRatio / TR (default: 0.25)

NOTE: The PureBasic WebGadget supports using the <video> element with MP4 files.
- if the file is loaded locally, the Same Origin Policy can be bypassed
-- available JavaScript Functions: toBlob(), toDataURL(), and getImageData()

Author:  JHPJHP [ Sat Aug 19, 2017 2:03 am ]
Post subject:  Re: MP4 Player

Cross-Origin Resource Sharing (CORS) now available for both locally loaded MP4 files and URLs.

- expanded the snapshot Procedure (third party API)
- added a Splash window
- added a Load window (replaced OpenFileRequester)
- added URL load progress to the Titlebar and Taskbar button
- applied some code improvements and bug fixes

- press the [ F1 ] key to open the Shortcut Keys Menu
- press the [ F2 ] key to load an MP4 file
- press the [ F3 ] key to open the Thumbnail Viewer
- press the [ F4 ] key to save frames
-- image size is configurable (defaulted to 25% of original video size)
-- if the Thumbnail Viewer is not open, frames are still saved, but thumbnails are not added to the viewer
- enter Full Screen from the onboard controls (includes a zoom button if black bars are visible)
- the Shortcut Keys Menu and the Thumbnail Viewer cannot be opened in Full Screen

Author:  JHPJHP [ Sat Aug 26, 2017 3:41 am ]
Post subject:  Re: MP4 Player

- added 2 Command Parameters
-- SaveVideo (default #True)
-- PlayerOnly (default #False)
- fixed the Save Snapshot feature for local videos
- applied a few code improvements

When a video is downloaded from a URL it will auto-save to the local drive. A URL with a video of the same name will be ignored, and the local video will be played instead.
- this setting is ignored if the video file is greater then 250MB
- this setting is ignored when the PlayerOnly option is enabled

Enabling this option will disable the Thumbnail Viewer and Save Snapshot feature, but loading videos from the internet will play without first having to be fully downloaded.

NB*: The YouTube Player was also updated.


Update Reposted:
- added a Progressbar when downloading from a URL
- squashed some bugs

I don't think anyone will use this as an MP4 player, but the techniques used to communicate between PureBasic and JavaScript via the WebGadget, should put to rest most concerns that the WebGadget is obsolete. Quite the opposite, IMHO it is the most powerful Gadget PureBasic has to offer.
- Embed JS into PureBasic, Geolocation: Google Maps, YouTube Player, MP4 Player, Barcode Generator

NB*: Previous update would crash the program when loading non-playable MP4 files.

Author:  IdeasVacuum [ Sat Aug 26, 2017 9:23 am ]
Post subject:  Re: MP4 Player

I am sure people will use it, it's an excellent Player JHPJHP.
You have coded some very nice features throughout, making it a good tutorial too. 8)

Author:  JHPJHP [ Tue Aug 29, 2017 5:21 am ]
Post subject:  Re: MP4 Player

Hi IdeasVacuum,

Providing examples as learning tools was one of the main reasons I started posting code to the PureBasic forum.

Thank you for your kind words.

Author:  JHPJHP [ Thu Jan 03, 2019 3:54 am ]
Post subject:  Re: HTML5 MP4 Player

- squashed a bug

I noticed a problem a couple weeks ago where a video was downloaded, but the player reported it as an unsupported format.

Until I had time to look at the issue and to avoid disabling the download link, I included a copy of the online video into the download package. This bypassed the problem by playing the local copy, but increased the download size by over 20 MB.

NB*: The problem occurred because I was removing the download reference (revokeObjectURL) before the player had time to use it.

Author:  JHPJHP [ Thu May 23, 2019 5:38 pm ]
Post subject:  Re: HTML5 MP4 Player

- made a couple small changes to the code

NOTE: Make sure to check out the Thumbnail Viewer [ F3 ]; save snapshots of the current frame [ F4 ].

NB*: Press [ F1 ] to see all the available options (i.e. COMMAND PARAMETERS: ThumbnailRatio).

Author:  JHPJHP [ Fri Oct 04, 2019 9:51 pm ]
Post subject:  Re: MP4 Player & Downloader

- added a thumbnail player
- squashed a couple bugs

Thumbnail Player
When the main window (MP4 Player) is minimized, a thumbnail version of the player opens in a corner of the screen.
Pressing the [ F8 ] key slides the thumbnail player to a different corner of the screen.


Author:  JHPJHP [ Fri May 29, 2020 6:09 am ]
Post subject:  Re: MP4 Player & Downloader

- improved various parts of the code
- squashed a couple bugs

Page 1 of 1 All times are UTC + 1 hour
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group