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. 


Sign in to follow this  
loblo

Streaming & Downloading Youtube Videos in 2020

Recommended Posts

Posted (edited)

Introduction

This is a little tutorial on how to stream and download videos from Youtube. A fairly up to date KernelEx is required (and outside of the scope of this topic)

Streaming videos from Youtube in desktop media player:

Get 3DYD Youtube Source 2.2.2 from https://ys.3dyd.com/download/  and LAVFilters XP 0.74.1from https://github.com/3dyd/LAVFiltersXP/releases

Unpack them somewhere and register all the *.ax files (KernelEx 2K compat mode required)

I found it to work OK with Media Player Classic 6.4.9.1, Media Player Classic - Home Cinema 1.5.1.2903 and PotPlayer 1.6.57560.0. Other players/versions might work too but some sure don't.

Videos take a few seconds before they start and then you can jump fast to any time back and forward with the seek bar as you would in a browser.

Issues I encountered with 3DYD Youtube Source filter:

1) source_filter.ax required the function CryptStringToBinaryW not present in CRYPT32.dll and not catered for by my kinda obsolete and only partially updated KernelEx. I just replaced that function with another one in the ax file using Jumper's import patcher tool and I could register the file as well as instantiating its Properties interface.

2) I found that 3DYD source filter wasn't creating its setting file or writing to it if it already exists ans so I couldn't change settings from defaults using its interface. The good news is that it reads modified settings from the config file which should be located at C:\WINDOWS\All Users\Application Data\3DYD Soft\3DYD Youtube Source\config.json

After fiddling a bit with it in my XP laptop I found that the only thing I wanted to change was the dimension/size of the streaming video from best to something smaller and so this is the only content of my config file:

{
    "criteria" : {
        "main" : "Video|480p"
    }
}

3) I can get this to work only with Youtube vids. All my attempts to stream videos from other sites, with or without using the optional external youtube-dl and ffmpeg failed and resulted in crashes.

Integrating streaming desktop media player in Opera 12:

For having the media player available with right-click on links in pages, create an entry for it in the Opera menu config file under the [Link Popup Menu] section. Example:

Item, Play Video = Execute program, "C:\Program Files\Media Player Classic\MPC-HC.EXE", "%l"

For having the media player available with right-click in the Open with menu in pages backgrounds, create a StartMenuInternet entry for it in the Windows registry. Example:

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\MPC-HC]

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\MPC-HC\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\MPC-HC\shell\open]

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\MPC-HC\shell\open\command]
@="C:\\Program Files\\Media Player Classic\\MPC-HC.EXE"

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\MPC-HC\shell\DefaultIcon]
@="C:\\Program Files\\Media Player Classic\\MPC-HC.EXE"

With either of these you are just two clicks away from streaming a Youtube vid in your desktop media player.

Searching for Youtube videos with Opera 12:

Adresses for creating search engines targeted at Youtube in Opera:

Youtube mobile search:

https://m.youtube.com/results?search_query=%s

Google search:

https://www.google.com/search?q=site:youtube.com+%s

Google image search:

https://www.google.com/search?q=site:youtube.com+%s&source=lnms&tbm=isch

Google video search:

https://www.google.com/search?q=site:youtube.com+%s&source=lnms&tbm=vid

For invoking the media player on links from Google search results it's probably mandatory to have the No Google Redirect extension installed which strips google search results from redirection and gives straight links to the content as I am not sure the 3DYD Youtube Source filter follows redirections (I have not tried without).

No Google Redirect extension: http://s000.tinyupload.com/index.php?file_id=08394971836840085955

Playing Youtube videos embedded in forums, blogs, etc...:

A right-click in the video area should give you an option to get a plain text link to the video page on the Youtube site. You can copy it and open it in a new tab and then invoke your media player by using the right-click Open with menu to start playback.

Or, if you have the Make Links extension installed you can just select the adress and a popup menu will appear with a clickable link on which you can invoke the media player from the right-click.

Make Links extension: http://s000.tinyupload.com/index.php?file_id=06968668163345976720

Downloading videos from Youtube and many other sites with Youtube-dl from Opera 12:

Get my standalone youtube-dl built for 98SE/ME with KernelEx: http://s000.tinyupload.com/index.php?file_id=84433364913891885743

Get fellow MSFNer Corone/Reino's latest FFMpeg build for XP: https://rwijnsma.home.xs4all.nl/files/ffmpeg/?C=M;O=D and put FFMpeg and FFProbe somwhere in youtube-dl's path so it can use them. (I think they require KernelEx 2K compat mode)

Integrate youtube-dl in Opera as with media player above so you can invokeit it on links and pages backgrounds and start download automatically.

Youtube-dl's options can be specified in a config file located at C:\WINDOWS\Application Data\youtube-dl\config.txt.

My config file content as an example:

-o D:/Desktop/%(title)s.%(ext)s
-f bestvideo[height<=?720]+bestaudio/best
--no-mtime
--continue
--ignore-errors
--no-overwrites

That's all folks.

Edited by loblo
  • Like 1

Share this post


Link to post
Share on other sites

Posted (edited)

:thumbup

Thanks loblo, I'll try that, but tomorrow.

Edited by schwups

Share this post


Link to post
Share on other sites

Link works now, thanks.
 

Share this post


Link to post
Share on other sites

Does LAVFilters XP 0.74.1 work for you?

Last when i tried this version didn't work in my XP, so i stick to v.0.70.2.

 

Share this post


Link to post
Share on other sites
Posted (edited)

Yes, it works fine for me so far but I didn't try it in XP and I never tried 0.70.2 before. I installed it over my old official Nevcariel 0.66 to see if I could get it to work in order to have AV1 decoding support. I have installed since a few days now and played a number of videos both from desktop and youtube streams without issues and AV1 works although it's very CPU intensive and probably not usable for me for anything larger than 480p (From desktop I can do up to 720p with HEVC/H.265 and up to 1080p with H.264).

 

Edited by loblo

Share this post


Link to post
Share on other sites

I'm still tinkering. What about the PotPlayer? I can't run the PP 1.6.57560.0 from videohelp.com. It installs with an error "PotPlayer is modified or hacked" and doesn't start with the same message.

Share this post


Link to post
Share on other sites

I remember getting that message too and that's when I stopped updating PotPlayer. Try other other, older version, maybe.

Anyways it works for me for streaming and is nice looking but is not ideal because of its slow startup.

How do you get on with MPC/MPC-HC? Any success there?
 

Share this post


Link to post
Share on other sites

After 4 months of testing, some errors crept in, so I decided to reset the registry. I couldn't register LAVSplitter.ax. Btw now also Google Earth 7 runs again. So far I have created the file "3DYD Youtube Source\config.json", and the menu entries (Link Popup Menu/open with). I think there is basically no problem with MPC/MPC-HC. But maybe with the support of CryptStringToBinaryW by kexbases 24....

Share this post


Link to post
Share on other sites

Yes, apparently it's CryptStringToBinaryW. "MPC-HC/Mplayerc has caused an error in Source_Filter.ax" while opening. ImportPatcher: [CRYPT32.dll] CryptStringToBinaryW=

Share this post


Link to post
Share on other sites
Posted (edited)

An older LAVFilters version should be OK too for now I guess presumably but it won't have AV1 decoding support. Youtube's only starting to use AV1 experimentally as an opt-in feature so it's not really needed yet.

Maybe you can do the same as I did with crypt32 dependency so your KernelEx won't handle it.
 

Edited by loblo

Share this post


Link to post
Share on other sites
Posted (edited)

I just checked my MPC-HC KernelEx settings and I see that it's forced into default mode, maybe this makes a difference.

And I have libcurl.dll which is bundled with 3DYD set in 2K mode like the ax.
 

Edited by loblo

Share this post


Link to post
Share on other sites

I tried LAVF 0.70.2, MPC KernelEX settings Win2000 and Legacy Base Enhancements, and set libcurl.dll to 2k, but it doesn't work. => MPC-HC/Mplayerc has caused an error in Source_Filter.ax/Failed to render the file

Share this post


Link to post
Share on other sites
Posted (edited)

My MPC-HC is not set to 2K mode, it is forced in default mode and doesn't inherit Opera's 2K setting.

Try opening the url in a standalone instance of MPC-HC.

Try disabling all internal MPC-HC filters.

If none of this works try to open the url with Graphedit, GraphStudio or GraphStudioNext to see if DirectShow can automatically build a working playback graph.

If it doesn't, try to build a graph by inserting and connecting manually only the needed filters so you have what's in the attached picture.

Youtube Graph.png

Edited by loblo

Share this post


Link to post
Share on other sites

no luck here - I downloaded GraphStudioNext 0.7.1.59, added XMLLITE.DLL and set the exe to 2K. OK the program runs. I went to Menu>File>Render URL and added a youtube URL. Error: GraphStudioNext-0 has caused an error in Source_Filter.ax. I have to mention that this is my first time seeing this program.

Share this post


Link to post
Share on other sites

I use GraphStudioNext 0.5.1.117. I remember I had issues with newer versions (can't recall what).

What happens if you try to build the graph manually? It may be that it crashes because DirectShow tries to load splitters you might have installed that don't play ball with 3DYD which would be avoided by building manually if that's the case. Menu: Graph > Insert Filter.
 

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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...