Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


Wunderbar98

Windows 9x Web Helper (9xweb)

Recommended Posts

Posted (edited)

== Windows 9x Web Helper ==


= Overview =

Windows 9x Web Helper is a Bash script, file name 9xweb (18 Kb), designed to improve internet accessibility. Scratch coded using Microsoft Notepad, it is free to use, modify and share, using Unlicense (https://unlicense.org). Tested in vanilla Windows 98. Provided an Enhanced Cygwin-Lite install is functional, it should run on enhanced Windows 98 and is confirmed to run in Windows 95.


= Links =

Project screenshots, download link and more information linked below. MSFN forum member login required to download.
https://msfn.org/board/topic/177106-running-vanilla-windows-98-in-2020/page/17/?tab=comments#comment-1176154

The only pre-requisite is a functional Enhanced Cygwin-Lite installation, more information and download links are linked below.
https://msfn.org/board/topic/177106-running-vanilla-windows-98-in-2020/page/17/?tab=comments#comment-1175895

Edited by Wunderbar98

Share this post


Link to post
Share on other sites

Posted (edited)

Changelog and milestones:

20200112 Beta - 1st Beta

20200203 Beta - 2nd Beta
- View YT video description
- New sleepSecs variable for file system race condition

20200405 Beta - 3rd Beta
- Improved main screen readability
- Modified video Wget command
- Improved video_fetch and getURL logic
- Remove non-ascii text from video description
- New delete video option after video and information view
- More strategic sleepSecs for file system race condition
- Decreased sleepSecs variable from 3 to 2 seconds
- Additional Video Fetch help
- Video title cleanup

20200411 - Confirmed to work in Windows 95.

20200522 Beta - 4th Beta
- Removed duplicate video_fetch clipboard retrieval
- Modified showClip clipboard cat command (query reduce stackdumps)
- Disabled Video Fetch Wget user agent string (uncomment as desired)
- Modified getHTML and getMedia Wget commands
- Reset several variables after Video Fetch
- Adjusted $sleepSecs instances (file system race condition)
- New $preview variable (off, 5, +5 toggle)
- New $description variable (yes, no, ask)
- Updated Video Fetch [h]elp

Edited by Wunderbar98

Share this post


Link to post
Share on other sites

Not sure how many more updates but the changelog will be mirrored on post #2 above, and at the first link on post #1. An update is pending, mostly minor changes to fix bugs and improve stability due to file system race condition and Wget occasionally pooping it's pants when fetching videos. Not sure the Wget issue will ever be fully resolved.

Share this post


Link to post
Share on other sites

Took another stab at YouTube video streaming, not just downloads. Unfortunately the mkfifo and mknod executables from Enhanced Cygwin-Lite are not functional in Windows 98. Without a FIFO buffer to simultaneously read/write, unable to stream. Tried manual pipes and redirects too, still failed.

Added a partial download preview feature. It will be configurable in the USER CONFIG section of the script and can be toggled and time adjusted during script runtime. Toggling 'preview' off [-] will not launch a preview and just Wgets the entire video. Toggling preview up [+], in 5 second increments, will Wget a partial video for $preview seconds before killing the Wget process. The partial video is then auto-launched by the configured video player for preview. In a video player like TCPMP, the full video duration is displayed in the progress bar but playback progress will obviously stop after it reaches the end of the partial video download.

Wget $preview time allotted, internet connecton speed and video quality preference (640 x 360 vs 1280 x 720) will determine the length/duration of the video preview. On a test system with 640 x 360 video and a basic ethernet connection, setting 'preview' to '5', allows Wget to download for 5 seconds, which provides an approximate 50 second video preview. Typically more than adequate to determine whether the video is desirable for download. After previewing, close the video player, or preferably set video player to auto-close at completion of playback, and either press [Enter] to resume the download or [d]elete the preview and return to the Video Fetch screen. Resuming the download restarts Wget where the preview fetch left off, so no bandwidth gets wasted.

This feature is best suited for longer downloads you're unsure about, check it out before wasting too much time and bandwidth. The code is rough and it will take a few more sessions of testing. The pending update mentioned earlier will incorporate this feature.

Note this preview feature is independent of whether [a]utoplay is toggled on or off, which autoplays the entire video at the end of a full download. These options can easily be toggled during runtime based on user preference. This seems to give lots of choice, preview or not, autoplay or not, depending on whether the goal is to preview, quick hoard a bunch, play and delete, etc.

Share this post


Link to post
Share on other sites
Posted (edited)

Talking of bandwidth... Not sure if this helps anything, and perhaps mentioned before, just throwing in what very little I know.
There exists also a small 320x180px (funnily called 144p) version as 3gp.
About half file size as medium 360p and of course quite fuzzy. Can play it with old MPC.
Available only on (all black) mobile "m.youtube.com", with e.g. the ipad-UA someone posted here recently
Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25
or IE9-mobile UA: Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)
or FF38-mobile: Mozilla/5.0 (Android; Mobile; rv:38.0) Gecko/38.0 Firefox/38.0
UA iPad is better since it contains 3 formats incl. 720p, while others gets only 360p+144p

Hmm, could swear IE9-mobile was getting streaming RTSP-links last time I tried...
Or was it 240.mp4? Where has that one vanished now...?!
Anyway, trying to find rtsp again, by UAs, OperaMini still gets it, but ONLY in 144p/3gp:
Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (J2ME/22.478; U; en) Presto/2.5.25 Version/10.54

HUH.... and although equally called 144p/3gp, this rtsp-version is dramatically smaller as the (fake) 144p/3gp above?! Probably not watchable at all, except for preview checks... Weird, and the screen ratio is totally different too, although from the same video. Don't get it again, oh well - as usual with video stuff.

144p in FF38 or IE9-mobile versus OperaMini:

(http) small 144p = 320 x 180 px
2.32 MB 226 kbps
VIDEO 3GPP (mp4v.20.3) (itag:36)
AUDIO_LOW (mp4a.40.2)

(rtsp) small 144p = 176 x 144 px
0.76 MB 74 kbps
VIDEO 3GPP (mp4v.20.3) (itag:17)
AUDIO_LOW (mp4a.40.2)

(or is this too offtopic here? Can delete it again, no prob)

Edited by siria

Share this post


Link to post
Share on other sites

Thank-you siria for the information. Originally i filtered different itags and settled on itag 18 (640 x 360 MP4) and itag 22 (1280 x 720 MP4) for simplicity, itag 18 readily available and Windows 98 media players handle MP4.

Personally i find the lower resolution video (320 x 180 and 176 x 144) image quality almost non-functional, unless just using the 'video' to play background music. The lower resolutions probably look okay on a phone or pad, less so on a desktop monitor. IIRC itags 17 and 36 are now rarely available, maybe just because i've been using the wrong user agent string.

Played around a bit, added user agent string below, not sure i got this correct:
Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25

Found a video that provided itag 36, added appropriate fetch code and it downloaded the video. For whatever reason, however, the download was slow, 80 Kb/sec vs the usual 700+ Kb/sec. Interestingly, renaming the 3gp file to mp4 doesn't seem to matter, and all my vanilla Windows 98 media players (VLC, MPlayer, TCPMP) played the video fine, albeit it's poor quality.

Personal preference for itag 18 was outlined above but if there is a demand for lower quality videos i can modify the code. There aren't probably too many using the script but if you are feel free to add a vote.

Share this post


Link to post
Share on other sites

Adding a 'View YouTube video description' option. Previously it always displayed but it does require additional processing, not everyone may want it and some may already be able to get this from their browser (not in stock vanilla Windows 98). The default is 'ask' but can be changed in the USER CONFIG section of the script and toggled during script runtime. Options are 'yes', 'no' or 'ask'.

Share this post


Link to post
Share on other sites

Still testing before release. Some improvement in Wget reliability and file system race condition. Not sure why Wget sometimes fails, query related to certain YouTube server connections this old Wget can no longer handle. If Wget gives a pop-up error, close the pop-up and try pressing [Enter] on the script. Then retry the video again from the Video Fetch screen. Otherwise, try to gracefully exit the script with [q]uit and 'exit' the COMMAND.COM window. Restart Cygwin-Lite and try again. Last resort just close the COMMAND.COM window with the window X and restart Cygwin-Lite.

Note Video Fetch only requires the YouTube URL, the browser does not need to open to the actual video page on a new tab or anything. So just from a YouTube results search, using RetroZilla's YouTube search engine if desired, just right-click the video you want and select 'Copy Link Location', whatever your browser calls it, to get the URL to the clipboard.

Websites with embedded YouTube videos will fail when using old browsers with JavaScript disabled. Depending on the browser, it will likely display a black YouTube video box with the message 'An error occurred. Try watching this video on www.youtube.com, or enable JavaScript if it is disabled in your browser'. No problem, just right-click the embedded link portion labelled 'Try watching this video on www.youtube.com' and copy the link to clipboard. There is no need to open a new tab or visit the actual YouTube page.

Share this post


Link to post
Share on other sites

Experienced occasional (rare) TCPMP crash with MP4 playback. This does not appear video related, as the same file plays back without error on other media players (VLC, SMPlayer/MPlayer). As this has only been tested and experienced on one system, query whether it is this system's particular configuration. If TCPMP is problematic, feel free to configure a different video player in the 9xweb script's USER CONFIG section. Not sure if forum member @roytam1 modified TCPMP's code or just shared the binary, whether it is worth submitting the crash text for review.

Quick tip: The main Video Fetch screen automatically seeks the system's clipboard contents upon finishing a previous video. So if you play a video, right-click and select a new video URL from the web browser, then select 'Press [Enter] to continue' in the 9xweb script, the main Video Fetch screen displays the updated URL, no need to manually [r]efresh the clipboard.

Quick tip: Toggling settings in the main Video Fetch screen also auto-refreshes the clipboard content, such as changing preview or autoplay settings.

Hope to upload a new 9xweb script today or tomorrow.

Share this post


Link to post
Share on other sites

A new 9xweb download is available from the first link on the first post of this thread (forum login required). A new Video Fetch screenshot was posted, neglected to upload a new main screen screenshot. The script version is 20200522 Beta. The Changelog post #2 above was also updated.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...