Streamlink: vaughnlive plugin not working..

Created on 25 Aug 2017  路  60Comments  路  Source: streamlink/streamlink

Checklist

  • [x] This is a bug report.
  • [ ] This is a feature request.
  • [ ] This is a plugin (improvement) request.
  • [ ] I have read the contribution guidelines.

Description

Vaughnlive streams are not working

Expected / Actual behavior

...

Reproduction steps / Explicit stream URLs to test

seems to be a replica of the closed issue https://github.com/streamlink/streamlink/issues/1034

Every stream just comes back with "error: No playable streams found"

Environment details

Operating system and version: Windows 10 x64
Streamlink and Python version: 0.7.0 ( and the latest dev buld from https://dl.bintray.com/streamlink/streamlink-nightly/ )

Comments, logs, screenshots, etc.

This is happening even on the latest night/dev build
Doing "-l debug" doesn't seem to produce anything at all either, just throws the same error: no playable streams found even though the streams are working just fine in browser..

Love Streamlink? Please consider supporting our collective. Thanks!

more info required plugin issue

Most helpful comment

@fadster ah yeah, I read it before as being in one of the private reserved IP ranges... Updated now.

All 60 comments

@JourneyOver which channel? I tested a few and they still work for me ...

I tested about 5-10 of them, all in the misc section, but as you say they are working now..so idk what was going on with vaughnlive when I was trying to watch something earlier..

@beardypig I'm waiting for the 500th change where you get tired of updating it (especially considering a lot of it is stolen content).. Closing since we can't duplicate.

Seems changes have been made to the site today. The plugin was working this morning but all of a sudden I'm getting "No playable streams found" on all channels. Should I open a new issue?

@fadster No let's just open this one back up, there are already 25 vaughnlive issues...

I get the "No playable streams found" after successfully opening and playing two or three times.

Could be that Vaughnlive is doing some kind of rate limiting now to potentially try to keep people from downloading multiple streams at once which has the side effect of prohibiting Streamlink users?

I tracked down the problem to the http.get() call used to get the stream name in _get_streams(). By hardcoding the stream name instead of parsing the result of that call, I got it to work. It appears the recent changes to the site simply broke that part of the code so the fix should be trivial.

I suspect some requests may have been hitting the old version of the site's code cached on Cloudflare's servers, which would explain why the plugin was still working on a couple occasions today. Either that or the site is currently in a state of flux.

this the the problem now...

streamlink -p "mpv --title=FUJI --mute --screen=1 --geometry=400x225-0+770" http://www.vaughnlive.tv/sherming5 best
[cli][info] Found matching plugin vaughnlive for URL http://www.vaughnlive.tv/sherming5
[cli][info] Available streams: live (worst, best)
[cli][info] Opening stream: live (rtmp)
[cli][error] Try 1/1: Could not open stream (No data returned from stream)
error: Could not open stream , tried 1 times, exiting
[cli][info] Closing currently open stream...

@c769214 I assume you hardcoded the channel's name to get this message, otherwise you would've gotten the "No playable streams found" error. If so, all you need to do is retry the command until it plays. It's just timing out a lot at the moment.

I took a closer look at the result of that broken http.get() call. The site now detects the request as coming from a bot and returns a captcha challenge instead of the channel's page. It uses Distil scrape protection and spoofing the user agent isn't enough to circumvent it. Perhaps we could use something like this: https://github.com/Anorov/cloudflare-scrape

However, according to that module's description, it won't work with captcha challenges. Alternatively, since we only need this request to determine the channel's internal name (ie. with the #vl- prefix), we could eliminate it altogether and just derive the name from the channel's URL:

stream_name = "#vl-" + re.search('//.*/(.+?)$', self.url).group(1)

Supporting all the subdomains (#btv, #igb, etc.) would involve some trial and error until the correct name is determined as this obviously only works for #vl.

Thanks to this link and youtube tutorial:
https://www.youtube.com/watch?v=oNR5xKstlgY
posted in this thread 11 days ago:
https://github.com/streamlink/streamlink/issues/1034

I managed to get streamlink working again, this is example command which I'm using atm:
streamlink --http-header "Referer=https://vaughnlive.tv/unccharlie2" "hls://https://hls-ord-1a.vaughnsoft.net/nyc/live/live_unccharlie2/chunklist.m3u8" worst

I hope this will give you extra information needed to solve this problem :

It might be reasonable, as @fadster suggests, to use the channel name from the URL and have a mapping from domain to channel id prefix. That coudflare scraper is interesting, but it does execute JavaScript to get the tokens which makes me a be wary...

If anyone wants to test out the changes you can take a look at my fork on the vaughnlive branch, specifically this commit: c799f38ddf41d264725d8ecaa6828cfa66e7703f.

@beardypig looks to be working, tested a couple streams and had no issues with loading them up.

@beardypig haven't had any issues the past 2 days since testing your changes, so think everything is good to go for now on your changes!

@JourneyOver Out of curiosity, have you been experiencing a lot of timeouts when trying to open a stream ("No data returned from stream" error, as posted by @c769214 above)? In the past couple of weeks, I've had to retry several times before streams finally play.

@fadster not a lot but every now and then it'll throw a "No data returned from stream" error, but whenever it does it'll always connect on the second go through on trying the stream.

The site is undergoing more changes, in particular to the RTMP server IPs. It seems the code hasn't been finalized yet as some channel pages require several reloads before the stream plays. At this time, the only server that has been working consistently is 66.90.93.42, so you may want to edit the rtmp_server_map variable accordingly. I expect this to change at any moment.

can confirm, as of at least yesterday. 2 days ago I usually always had it connect on second go through of trying the steam, now it takes several tries before connecting completely.

The code has changed again. For the time being, this is working for me:

    rtmp_server_map = {
        "594140c69edad": "66.90.93.42",
        "585c4cab1bef1": "198.255.17.34",
        "5940d648b3929": "198.255.17.34",
        "5941854b39bc4": "66.90.93.42"}

@JourneyOver Only one of these entries hasn't changed (the third one), so I imagine that's the one you're hitting when you eventually get it working after several tries.

more than likely, will try with your server_map and see how things go over the next day or two.

Has the hls source code been changed?. I've tried to pick up the stream from vaughnlive and it is not connecting. :(

c799f38 plus fadster's updated rtmp_server_map got me going today.

@fadster Can you look into those rtmp_server_map's again?. I am already using @beardypig plugin, the stream stops working after some minutes. It disconnects in intervals between 2~4 minutes requiring reconnect manually which is very inconvenient.

@Bluebuster116 If you are making a connection in the first place, the rtmp server map is correct. Perhaps there's a connectivity issue between you and the streaming provider, or even between the streamer and the streaming provider. I recorded a 2.5 hour long stream with no interruptions last night.

I have a script that loops the streamlink command up to 100 times in case of disconnects and that has served me well.

@jshir Vaughnlive is making constant changes thus I believe there is an issue with the rtmp's though. Can you post the script that were you referring?. That would come in handy if i can test it.

@Bluebuster116 Literally just a batch containing the streamlink command repeated 100 times with output filename 00, 01... 99.

@jshir Some users have reported streamlink (after upgrading to ver 0.8.1) is closing early when the connection is poor or is having some issues with hls sources. Can you share the batch file you created?.

Looks like there's new mapping

  var param1:* = param1.replace("594140c69edad","198.255.17.18");
         param1 = param1.replace("585c4cab1bef1","198.255.17.18");
         param1 = param1.replace("5940d648b3929","198.255.17.34");
         param1 = param1.replace("5941854b39bc4","198.255.17.34");
         this.Server = param1;

@TimLChan The code hasn't changed. The server map I posted is still working fine.

Sorry I haven't been able to look at this yet. I'll get on it tomorrow :-) Thanks for the research @fadster!

@beardypig My pleasure! :smile:

New server map:

    rtmp_server_map = {
        "594140c69edad": "66.90.93.42",
        "585c4cab1bef1": "66.90.93.34",
        "5940d648b3929": "66.90.93.34",
        "5941854b39bc4": "66.90.93.42"}

how to view vaughn channel? O.o

@fadster are you working these out manually? Decompiling the flash client gives slightly different results. Looks like @TimLChan decompiled the flash client before to get that map. I have updated my branch with the latest rtmp server map.

@beardypig I've decompiled the flash client. Before the latest changes, there was a snippet of javascript code in header.js that effectively bypassed the flash code, hence the previous discrepancy. This javascript code was removed three days ago and the map is now exclusively determined in flash.

The site has been undergoing nearly daily changes. Hopefully, it will stabilize soon. I have just decompiled the client and this is the map as of this writing:

rtmp_server_map = {
    "594140c69edad": "66.90.93.42",
    "585c4cab1bef1": "66.90.93.34",
    "5940d648b3929": "66.90.93.42",
    "5941854b39bc4": "198.255.0.10"}

@fadster ah, ok. That explains that. I have the same map in my latest branch, however I replace the 192 address with one of the others as it might cause issues - although 5941854b39bc4 probably won't ever be returned (I imagine it's for testing).

@beardypig Actually, it gets returned about as often as the other three. I added some extra logging to keep track of this. This is probably part of some load balancing scheme. They seem to be currently experimenting with new servers and address spaces so the map is likely to keep changing for a while longer.

@beardypig It's working for me:

rtmpdump -r "rtmp://66.90.93.42/live" -a "live?hVU5bXP1IPZOox9hMvCmh8pZjJDi6BqK"
-f "WIN 27,0,0,130" -W "https://vaughnlive.tv/4520191431/swf_v7/VaughnSoftPlaye
r.swf" -p "https://vaughnlive.tv/embed/video/lmshows_koq?viewers=true&autoplay=t
rue" --live -y "live_lmshows_koq" | "C:Program Files (x86)VideoLANVLCvlc.exe
" -

C:UsersLenovoDocuments- RTMPDumpRTMP Dump>rtmpdump -r "rtmp://66.90.93.42/l
ive" -a "live?hVU5bXP1IPZOox9hMvCmh8pZjJDi6BqK" -f "WIN 27,0,0,130" -W "https://
vaughnlive.tv/4520191431/swf_v7/VaughnSoftPlayer.swf" -p "https://vaughnlive.tv/
embed/video/lmshows_koq?viewers=true&autoplay=true" --live -y "live_lmshows_koq"
| "C:Program Files (x86)VideoLANVLCvlc.exe" -
Closing connection... done!

Hls and m3u8 is not working for vaughnlive. Has it changed?. I'm trying to catch vaughnlive.tv/sherming6

@Bluebuster116 yes, only rtmp is available at the moment.

hey @beardypig i was wandering whats the ip for vaughnlive sherming3 because streamlink showing up as no playable stream

@bobvargas That isn't something that @beardypig will know. It's not our job to keep track of vaughnlive IP addresses. There are a variety of tools you can use to find this information out if you do a quick search online for your OS.

@bobvargas FWIW, the recent IP map is working for me on that stream right now.
rtmp_server_map = { "594140c69edad": "66.90.93.42", "585c4cab1bef1": "66.90.93.34", "5940d648b3929": "66.90.93.34", "5941854b39bc4": "66.90.93.42"}

@jshir You really should be using the map I posted above for the sake of proper load balancing. It is still the one used in the latest flash client. There are three available servers but you're using only two.

@beardypig You may want to update your branch to avoid any confusion. Thanks!

@jshir then how to make it a command?

@bobvargas I think you have to add them directly to the vaughnlive.py plugin. That said, doing so still leaves me with "No playable streams found".

edit: Oh. Also a domain map and some other stuff? Not sure how ready for use that is though.

...

It works! For now.

@beardypig Has the hls option restored or is it still only by rtmp?. These constant map changes got me confused. Yet still trying to get vaughnlive.tv/sherming6 any help with this?.

@Bluebuster116 still only RTMP. My latest version of the plugin is available on my fork: vaughnlive.py

@Bluebuster116 As a temp workaround for .m3u / .m3u8 you can use F12 on the browser whilst stream is playing, hit network tab and filter out .m3u or .m3u8 for source URL, which can then be played with mpv sourceurl.m3u8 or cvlc sourceurl.m3u
iv'e not tested it too much on vaughnlive but it works very well here firstonetv.net and many other streaming sites
@beardypig is it possible for a plugin for firstonetv.net ? thanks
good luck
regards

@ringtvt We do not support that sort of functionality. Why would we support restreaming a stream? It makes no sense and goes against the purpose of the project.

@beardypig I highly recommend updating your server map to include all three servers as I have posted above to correctly duplicate the load balancing behavior of the flash client.

@fadster ah yeah, I read it before as being in one of the private reserved IP ranges... Updated now.

@gravyboat Do you mind telling me how can I get the rtmp address which has been posted above?. i'm referring to this one rtmpdump -r "rtmp://66.90.93.42/live" -a "live?hVU5bXP1IPZOox9hMvCmh8pZjJDi6BqK" I would like to obtain it from vaughnlive.tv/sherming6
I have already used rtmpdumphelper and in the command log appears the address but it cannot be played again as the network closes connection in the second attempt. It seems that it only works when the window with the flashplayer video is showing. Could it be that there is something I'm missing?. Need help.

@Bluebuster116 It would be much easier if you just grabbed the updated vaughnlive.py from beardypig's branch.

@Bluebuster116 Try using VLC as a streamer.

@fadster Okay I just did that and it works. But I'm confused which one is the "current" fork you were referring to?. Do you mean this https://github.com/streamlink/streamlink/blob/c799f38ddf41d264725d8ecaa6828cfa66e7703f/src/streamlink/plugins/vaughnlive.py? I have downloaded this version https://github.com/streamlink/streamlink/releases/tag/0.8.1 but I don't know if its the one you guys are using.

@beardypig
looks like it still works, maybe merge it?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

bobvargas picture bobvargas  路  104Comments

jacob1218 picture jacob1218  路  42Comments

gimli520 picture gimli520  路  106Comments

cdrage picture cdrage  路  55Comments

whady picture whady  路  35Comments