MP4 Player & Downloader

Share your advanced PureBasic knowledge/code with the community.
User avatar
JHPJHP
Addict
Addict
Posts: 1763
Joined: Sat Oct 09, 2010 3:47 am
Contact:

MP4 Player & Downloader

Post by JHPJHP »

-----------------------------------------------------------------------------------

Download MP4 Player & Downloader from My PureBasic Stuff

-----------------------------------------------------------------------------------

Announcements
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
Chromium Edge WebGadget
Stitch Images: SIFT
Image Waves: LUT
YouTube Player & Downloader
MP4 Player & Downloader
Barcode Generator
Google Translate Service
Embed JS into PureBasic
Geolocation: Google Maps
Book & Viewer & Magnify
Video for Windows: VfW
Alternate Console
Network Share Management

-----------------------------------------------------------------------------------

FEATURES
- resizable window
- full screen mode
- save video downloaded from URL
- save snapshot of current frame

Player Window:
- F1 Key: Show / Hide the Shortcut menu
- F2 Key: Open an MP4 video file; path or URL
- F3 Key: Open the Thumbnail Viewer
- F4 Key: Save a snapshot of the current frame
- F8 Key: Set / Reposition the "minimized" thumbnail player
- F12 Key: Reload the default start video
- Esc Key: Exit full screen, thumbnail player / Close window
Last edited by JHPJHP on Fri Apr 16, 2021 5:55 pm, edited 46 times in total.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; access key required.
_________________
User avatar
JHPJHP
Addict
Addict
Posts: 1763
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: MP4 Player

Post by JHPJHP »

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.

-----------------------------------------------------------------------

Updated:
- 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
Last edited by JHPJHP on Sat Aug 26, 2017 1:40 am, edited 4 times in total.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; access key required.
_________________
User avatar
gurj
Enthusiast
Enthusiast
Posts: 640
Joined: Thu Jan 22, 2009 3:48 am
Location: china
Contact:

Re: MP4 Player

Post by gurj »

can't Download.
my pb for chinese:
http://ataorj.ys168.com
dige
Addict
Addict
Posts: 1092
Joined: Wed Apr 30, 2003 8:15 am
Location: Germany
Contact:

Re: MP4 Player

Post by dige »

Well done! Thx JHPJHP
"Daddy, I'll run faster, then it is not so far..."
User avatar
JHPJHP
Addict
Addict
Posts: 1763
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: MP4 Player

Post by JHPJHP »

Hi dige,

Thank you for the kudos :!:

----------------------------------------------

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

Updated:
- 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.
Last edited by JHPJHP on Sat Aug 26, 2017 1:41 am, edited 4 times in total.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; access key required.
_________________
uweb
User
User
Posts: 98
Joined: Wed Mar 15, 2006 9:40 am
Location: Germany

Re: MP4 Player

Post by uweb »

Fine!
Thank you.
But it looks like it don't like special characters (i.e. ä, ö, ü, ß) in filenames.
Please pardon my English, my native tongue is German.
User avatar
JHPJHP
Addict
Addict
Posts: 1763
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: MP4 Player

Post by JHPJHP »

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'>

----------------------------------------------------

Updated:
- 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()
Last edited by JHPJHP on Sun Aug 20, 2017 3:03 am, edited 4 times in total.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; access key required.
_________________
User avatar
JHPJHP
Addict
Addict
Posts: 1763
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: MP4 Player

Post by JHPJHP »

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

Updated:
- 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

NOTES:
- 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
Last edited by JHPJHP on Thu Aug 24, 2017 12:25 am, edited 4 times in total.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; access key required.
_________________
User avatar
JHPJHP
Addict
Addict
Posts: 1763
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: MP4 Player

Post by JHPJHP »

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

SaveVideo:
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

PlayerOnly:
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.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; access key required.
_________________
IdeasVacuum
Always Here
Always Here
Posts: 6368
Joined: Fri Oct 23, 2009 2:33 am
Location: Wales, UK

Re: MP4 Player

Post by IdeasVacuum »

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)
IdeasVacuum
If it sounds simple, you have not grasped the complexity.
User avatar
JHPJHP
Addict
Addict
Posts: 1763
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: MP4 Player

Post by JHPJHP »

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.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; access key required.
_________________
User avatar
JHPJHP
Addict
Addict
Posts: 1763
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: HTML5 MP4 Player

Post by JHPJHP »

Updated:
- 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.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; access key required.
_________________
User avatar
JHPJHP
Addict
Addict
Posts: 1763
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: HTML5 MP4 Player

Post by JHPJHP »

Updated:
- 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).

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; access key required.
_________________
User avatar
JHPJHP
Addict
Addict
Posts: 1763
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: MP4 Player & Downloader

Post by JHPJHP »

Updated:
- 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.

Image

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; access key required.
_________________
User avatar
JHPJHP
Addict
Addict
Posts: 1763
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: MP4 Player & Downloader

Post by JHPJHP »

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

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; access key required.
_________________
Post Reply