laurencee / Livestream.Monitor

A windows GUI for livestreamer/streamlink
GNU General Public License v2.0
60 stars 8 forks source link

beam.pro VODs don't work #28

Closed Tharn closed 7 years ago

Tharn commented 7 years ago

Hi there,

This could very well be a streamlink thing. I opened up an issue over there. But just in case that LM passes on the wrong URL as it used to with Twitch, I'll link the report here too.

https://github.com/streamlink/streamlink/issues/688

Cheers!

laurencee commented 7 years ago

Thanks.

Tharn commented 7 years ago

It looks like a fix is coming on their end.

laurencee commented 7 years ago

Oh ok, I'll wait to see what happens there.

Tharn commented 7 years ago

The fix has been merged in Streamlink 0.5.0. Still can't connect with LM, it may be pointing at the wrong URL.

Launching streamlink....
'streamlink.exe --player-passthrough hls https://vodcdn.beam.pro/content_e613c2b1-c3b3-4bb9-9014-7a73b60f8f75/16845301-5961-4442-aeb7-82214480fa71/ best'
[cli][info] Found matching plugin beam for URL https://vodcdn.beam.pro/content_e613c2b1-c3b3-4bb9-9014-7a73b60f8f75/16845301-5961-4442-aeb7-82214480fa71/
error: Unable to open URL: https://beam.pro/api/v1/channels/content_e613c2b1-c3b3-4bb9-9014-7a73b60f8f75 (404 Client Error: Not Found for url: https://beam.pro/api/v1/channels/content_e613c2b1-c3b3-4bb9-9014-7a73b60f8f75)

ERROR occured in streamlink: Manually close this window when you've finished reading the streamlink output.
Tharn commented 7 years ago

Also, some beam.pro channels show fine in the VOD browser while another one gave this error:

Error Getting Vods
Error occured getting vods from api 'beam.pro' for channel 'DM21Gaming'.

System.ArguemtnOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at
System.ThrowHelper.ThrowArgumentOutOfRangeException
(ExceptionArgument argument, ExceptionResource resource)
at
Livestream.Monitor.Model.ApiClients.BeamProApiClient.<GetVods>b__33_0(Recording input) in H:\Programming\Git\Livestream.Monitor\Livestream.Monitor\Model\ApiClients\BeamProApiClient.cs:line 106
at System.Collections.Generic.List`1.ConvertAll[TOutput](Converter`2 converter)
at
Livestream.Monitor.Model.ApiClients.BeamProApiClient.<GetVods>d__33.MoveNext() in H:\Programming\Git\Livestream.Monitor\Livestream.Monitor\Model\ApiClients\BeamProApiClient.cs:line 106
--- End of stack trace from previous location where exception was thrown ---
at
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Task task)
at
Livestream.Monitor.ViewModels.VodListViewModel.<EnsureItems>d__52.MoveNext() in H:\Programming\Git\Livestream.Monitor\Livestream.Monitor\ViewModels\VodListViewModel.cs:line 244
laurencee commented 7 years ago

Thanks for the update, I'll see if I can sort it out this weekend. 👍

laurencee commented 7 years ago

Hmm the API from beam.pro doesn't seem to give any other url I can use so I'm not sure if there's anything else I can do at this point.

At this point I'd have to say it's an issue with the beam.pro api providing an unusable url for the vod or something I'm overlooking.

Here's an example: https://beam.pro/api/v1/channels/1903/recordings

{
"id": 975048,
"name": "Crafting Custom Chibis with the Kid",
"typeId": 130861,
"state": "AVAILABLE",
"viewsTotal": 17,
"duration": 17900.6,
"expiresAt": "2017-05-14T02:10:51.000Z",
"createdAt": "2017-02-13T02:10:50.000Z",
"updatedAt": "2017-04-14T12:55:25.000Z",
"channelId": 1903,
"vods": [
{
"storageNode": "vodcdn.beam.pro",
"data": {
"Width": 1920,
"Height": 1080,
"Fps": 30.000000000000004,
"Bitrate": 2977371
},
"id": 3372109,
"baseUrl": "https://vodcdn.beam.pro/content_60857e44-ea1b-4079-a743-855697238214/b2c05d69-4438-4ba7-bc8d-99ab629c9d45/",
"mainUrl": "",
"format": "dash",
"createdAt": "2017-02-13T02:11:22.000Z",
"updatedAt": "2017-02-13T02:11:22.000Z",
"recordingId": 975048
},
...
]
},
laurencee commented 7 years ago

I've left a message in their developer forums, see if anything comes out of it: https://forums.beam.pro/topic/3262/recordings-api-returns-unusable-url-for-vods-baseurl

There's nothing more I can do at this time though.

laurencee commented 7 years ago

Looks like it's going to be an easy fix from my side:

Ethan about 11 hours ago Hi, The direct URL to the VOD uses the value of the id from the API. So for the example JSON you provided, >you would be able to access that VOD at https://beam.pro/Graphoniac?vod=975048 The URLs you see in the 'vods' array in that response are for raw files (like the actual video, chat history, >etc.) and aren't actually site links. Hope that helps!

laurencee commented 7 years ago

All good now in https://github.com/laurencee/Livestream.Monitor/releases/tag/2.9.5