Jump to content

Streaming & Downloading Youtube Videos in 2020


loblo

Recommended Posts

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
Link to comment
Share on other sites


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
Link to comment
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?
 

Link to comment
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....

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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
Link to comment
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

Link to comment
Share on other sites

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
Link to comment
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.

Link to comment
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.
 

Link to comment
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...