laurencee / livestream.monitor Goto Github PK
View Code? Open in Web Editor NEWA windows GUI for livestreamer/streamlink
License: GNU General Public License v2.0
A windows GUI for livestreamer/streamlink
License: GNU General Public License v2.0
The first time a notification exclusion is added it works as intended but upon reloading the application the setting is forgotten and attempting to save the same stream again corrupts the existing exclusion entry.
Hello
when I use "Copy Stream URL" in the context menu, the stream URL for YouTube streams is incorrect. It was still working before the helix update.
Example for NASA TV
URL copied by livestream monitor:
https://www.youtube.com/watch?v=NASAtelevision
Expected URL:
https://www.youtube.com/watch?v=21X5lGlDOfg
As you can see, just the channel name "NASAtelevision" is copied as a video-id instead of the correct video-id "21X5lGlDOfg" as before, and of course, YouTube only displays a "video not found" error
I hope you can fix this, I often use that to watch a stream in the browser instead of streamlink
Greetings and thanks for this awesome software :) ๐
Twitch has changed where it keeps its files. Streamlink already has an issue open for it, so I'm not sure if this is a LM problem to begin with. I do know that LM displays the proper new URL when you click on a tile, and it works fine with screenshot and all. It just doesn't play.
If you change the URL displayed in LM when you click on a VOD from twitch.tv/videos/XXXXXXXXX to twitch.tv/user/v/XXXXXXXXX, they can be played.
I think this might be legacy functionality. Since twitch.tv/videos/XXXXXXXXX is the new layout - it probably just isn't parsed right by streamlink. Feel free to close this if it's not a LM problem.
Well I suppose we already established there must be an issue on my part (if developer cannot figure the cause then me certainly cannot). Any way to at least disable the error communicates? I have to click a hundred times ok/ignore before it lets me get to the live stream...
Hey,
is it just me that the hitbox streams stay live (after the stream ended).
The only way to get the stream to show offline is to remove the streamer and add him again.
Hi,
Left-clicking on one of the top streams produces an error message that reads:
'Error Adding Livestream
No user found named series of numbers'
And right-clicking to 'open stream' also does not do anything. No log output, nothing.
Hey. I added my own youtube channel on this soft but when i start streaming popup in right corner doesn't show. I tracked to this
private void LivestreamsOnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
if (e.NewItems != null)
{
foreach (LivestreamModel livestream in e.NewItems)
{
HookLivestreamChangeEvents(livestream);
}
}
if (e.OldItems != null)
{
foreach (LivestreamModel removedLivestream in e.OldItems)
{
UnhookLivestreamChangeEvents(removedLivestream);
}
}
}
but e doesn't contain any livestreams so HookLivestreamChangeEvents(livestream) never called and pop up notification never shows. Why is that? I'm definitely streaming, i see it on youtube. And status icon in list of channels change it's color to green, but popup never shows.
Noticed that when loading a VOD, it will automatically append "best" behind the VOD url, regardless of whether or not there's a "DefaultStreamQuality" set in settings.json.
This behaviour overrides the "default-stream" setting in streamlinkrc, and I can't figure out how to remove or customize it.
Even for live streams, it would be nice if there was a "Default" or blank setting that yielded the option to streamlink.
Hey. I'm developing my own soft. I desperately need to implement youtube popup notifications in my soft. Can we contact somehow to chat about it?
https://gyazo.com/e932a73e7c3b5e598da411fecf4ce702
Same error everywhere.
I can confirm this with Twitch so far. VOD titles with several line breaks may push the video duration & recorded date down and out of view on the VOD button.
Would recommend only allowing 3 lines of title text so that the other two still have room.
Hi,
When I started Livestream Monitor today, it wouldn't properly update the main view. I switched to VODs anyway, ran one for a while and minimized LM. I paused the video and went to do some other stuff. Over an hour later with LM in the background, I get this crash.
Error log:
12:34:13.5240| System.InvalidOperationException: The view for Screen is not a dependency object
at Livestream.Monitor.Core.Extensions.GetMetroWindowFromScreen(IViewAware screen) in H:\Programming\Git\Livestream.Monitor\Livestream.Monitor\Core\Extensions.cs:line 77
at Livestream.Monitor.Core.Extensions.<ShowMessageAsync>d__4.MoveNext() in H:\Programming\Git\Livestream.Monitor\Livestream.Monitor\Core\Extensions.cs:line 0
--- 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.LivestreamListViewModel.<>c__DisplayClass20_1.<<RefreshLivestreams>b__1>d.MoveNext() in H:\Programming\Git\Livestream.Monitor\Livestream.Monitor\ViewModels\LivestreamListViewModel.cs:line 108
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
AppCrashView:
Version=1
EventType=CLR20r3
EventTime=131146076545841750
ReportType=2
Consent=1
ReportIdentifier=a7aea30e-589c-11e6-831e-00248c414a93
IntegratorReportIdentifier=a7aea30d-589c-11e6-831e-00248c414a93
WOW64=1
NsAppName=Livestream.Monitor.exe
Response.type=4
Sig[0].Name=Problem Signature 01
Sig[0].Value=Livestream.Monitor.exe
Sig[1].Name=Problem Signature 02
Sig[1].Value=2.5.1.0
Sig[2].Name=Problem Signature 03
Sig[2].Value=577914c8
Sig[3].Name=Problem Signature 04
Sig[3].Value=Livestream.Monitor
Sig[4].Name=Problem Signature 05
Sig[4].Value=2.5.1.0
Sig[5].Name=Problem Signature 06
Sig[5].Value=577914c8
Sig[6].Name=Problem Signature 07
Sig[6].Value=289
Sig[7].Name=Problem Signature 08
Sig[7].Value=33
Sig[8].Name=Problem Signature 09
Sig[8].Value=System.InvalidOperationException
DynamicSig[1].Name=OS Version
DynamicSig[1].Value=6.3.9600.2.0.0.256.48
DynamicSig[2].Name=Locale ID
DynamicSig[2].Value=1031
DynamicSig[22].Name=Additional Information 1
DynamicSig[22].Value=5861
DynamicSig[23].Name=Additional Information 2
DynamicSig[23].Value=5861822e1919d7c014bbb064c64908b2
DynamicSig[24].Name=Additional Information 3
DynamicSig[24].Value=6ee2
DynamicSig[25].Name=Additional Information 4
DynamicSig[25].Value=6ee2432e64e99bdcea5e4be767a3b1a2
UI[2]=C:\Program Files (x86)\Livestream Monitor\Livestream.Monitor.exe
UI[3]=Livestream.Monitor has stopped working
UI[4]=Windows can check online for a solution to the problem.
UI[5]=Check online for a solution and close the program
UI[6]=Check online for a solution later and close the program
UI[7]=Close the program
LoadedModule[0]=C:\Program Files (x86)\Livestream Monitor\Livestream.Monitor.exe
LoadedModule[1]=C:\Windows\SYSTEM32\ntdll.dll
LoadedModule[2]=C:\Windows\SYSTEM32\MSCOREE.DLL
LoadedModule[3]=C:\Windows\SYSTEM32\KERNEL32.dll
LoadedModule[4]=C:\Windows\SYSTEM32\KERNELBASE.dll
LoadedModule[5]=C:\Windows\SYSTEM32\ADVAPI32.dll
LoadedModule[6]=C:\Windows\SYSTEM32\msvcrt.dll
LoadedModule[7]=C:\Windows\SYSTEM32\sechost.dll
LoadedModule[8]=C:\Windows\SYSTEM32\RPCRT4.dll
LoadedModule[9]=C:\Windows\SYSTEM32\SspiCli.dll
LoadedModule[10]=C:\Windows\SYSTEM32\CRYPTBASE.dll
LoadedModule[11]=C:\Windows\SYSTEM32\bcryptPrimitives.dll
LoadedModule[12]=C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscoreei.dll
LoadedModule[13]=C:\Windows\SYSTEM32\SHLWAPI.dll
LoadedModule[14]=C:\Windows\SYSTEM32\combase.dll
LoadedModule[15]=C:\Windows\SYSTEM32\USER32.dll
LoadedModule[16]=C:\Windows\SYSTEM32\GDI32.dll
LoadedModule[17]=C:\Windows\system32\IMM32.DLL
LoadedModule[18]=C:\Windows\SYSTEM32\MSCTF.dll
LoadedModule[19]=C:\Windows\SYSTEM32\kernel.appcore.dll
LoadedModule[20]=C:\Windows\SYSTEM32\VERSION.dll
LoadedModule[21]=C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
LoadedModule[22]=C:\Windows\SYSTEM32\MSVCR120_CLR0400.dll
LoadedModule[23]=C:\Windows\assembly\NativeImages_v4.0.30319_32\mscorlib\225759bb87c854c0fff27b1d84858c21\mscorlib.ni.dll
LoadedModule[24]=C:\Windows\SYSTEM32\ole32.dll
LoadedModule[25]=C:\Windows\system32\uxtheme.dll
LoadedModule[26]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System\e1ebbc0486a55a19730ff097e92d3f41\System.ni.dll
LoadedModule[27]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Core\77bff20815e602b50838f66d32e66b3a\System.Core.ni.dll
LoadedModule[28]=C:\Windows\assembly\NativeImages_v4.0.30319_32\WindowsBase\68e27ad7342b8b64f963abd83fc138ae\WindowsBase.ni.dll
LoadedModule[29]=C:\Windows\SYSTEM32\CRYPTSP.dll
LoadedModule[30]=C:\Windows\system32\rsaenh.dll
LoadedModule[31]=C:\Windows\SYSTEM32\bcrypt.dll
LoadedModule[32]=C:\Windows\assembly\NativeImages_v4.0.30319_32\PresentationCore\9ef6bee54106b5f81bb1c35a7e570780\PresentationCore.ni.dll
LoadedModule[33]=C:\Windows\assembly\NativeImages_v4.0.30319_32\Presentatio5ae0f00f#\12468d7263746330a21c1ccc3994c399\PresentationFramework.ni.dll
LoadedModule[34]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Xaml\1aac476310570fb48bbf7e0daf9e60bf\System.Xaml.ni.dll
LoadedModule[35]=C:\Windows\SYSTEM32\dwrite.dll
LoadedModule[36]=C:\Windows\Microsoft.NET\Framework\v4.0.30319\WPF\wpfgfx_v0400.dll
LoadedModule[37]=C:\Windows\SYSTEM32\OLEAUT32.dll
LoadedModule[38]=C:\Windows\Microsoft.NET\Framework\v4.0.30319\WPF\PresentationNative_v0400.dll
LoadedModule[39]=C:\Windows\Microsoft.NET\Framework\v4.0.30319\clrjit.dll
LoadedModule[40]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Runt73a1fc9d#\b67be8ff9f27d267f8fee0ae4804460b\System.Runtime.Remoting.ni.dll
LoadedModule[41]=C:\Windows\SYSTEM32\ws2_32.dll
LoadedModule[42]=C:\Windows\SYSTEM32\NSI.dll
LoadedModule[43]=C:\Windows\system32\mswsock.dll
LoadedModule[44]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Configuration\701a9f43d7d4cc7cd576ef73a6078415\System.Configuration.ni.dll
LoadedModule[45]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Xml\6dd807413466d276a8b8614cfae55445\System.Xml.ni.dll
LoadedModule[46]=C:\Windows\system32\dwmapi.dll
LoadedModule[47]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Runtime\87704b1d4816652124347e437ff27090\System.Runtime.ni.dll
LoadedModule[48]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Thre7bb2aad0#\2ea8e2f12179c77ffc03e65ac1e77797\System.Threading.Tasks.ni.dll
LoadedModule[49]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.ObjectModel\76e93a9a8a609553943a14bcbf306a44\System.ObjectModel.ni.dll
LoadedModule[50]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Collections\aaaf4e009cd4ecc44a30245840e4ba4a\System.Collections.ni.dll
LoadedModule[51]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Linq\eb4e542010627d6d3dfdf5f72fe31f13\System.Linq.ni.dll
LoadedModule[52]=C:\Windows\assembly\NativeImages_v4.0.30319_32\Presentatiod51afaa5#\f5ff408010cceefb572b93b08de89470\PresentationFramework.classic.ni.dll
LoadedModule[53]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Resoc6338000#\08dda437df6f772e6f463b6f5e53dfd5\System.Resources.ResourceManager.ni.dll
LoadedModule[54]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Reflection\f3fcc32900fdfc1c013ce5bab4d2dbfa\System.Reflection.ni.dll
LoadedModule[55]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Refl9c203d4d#\2a259fb99197592e8b57a386bf5032dc\System.Reflection.Extensions.ni.dll
LoadedModule[56]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Numerics\cd7ca8846a122a7e690e11c4611bc902\System.Numerics.ni.dll
LoadedModule[57]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Runteb92aa12#\3f3340be8d23d6f4d4bfa6e086727775\System.Runtime.Serialization.ni.dll
LoadedModule[58]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Xml.Linq\38453517446a804ee490dbdf2f0766eb\System.Xml.Linq.ni.dll
LoadedModule[59]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Data\3b1617bb4ed47c74579a5fdd340cf80d\System.Data.ni.dll
LoadedModule[60]=C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll
LoadedModule[61]=C:\Windows\SYSTEM32\CRYPT32.dll
LoadedModule[62]=C:\Windows\SYSTEM32\MSASN1.dll
LoadedModule[63]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Linqbd02a4fb#\af74693a2b3b0006095001355d31a7b5\System.Linq.Expressions.ni.dll
LoadedModule[64]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Runtdf6812ee#\28c0b3e17dbe7dfa611a0dc00c49c46d\System.Runtime.Serialization.Primitives.ni.dll
LoadedModule[65]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Threading\b02326b9b9affdf513288d96ac1df72e\System.Threading.ni.dll
LoadedModule[66]=C:\Windows\SYSTEM32\d3d9.dll
LoadedModule[67]=C:\Windows\SYSTEM32\aticfx32.dll
LoadedModule[68]=C:\Windows\SYSTEM32\WINMM.dll
LoadedModule[69]=C:\Windows\SYSTEM32\WINMMBASE.dll
LoadedModule[70]=C:\Windows\SYSTEM32\cfgmgr32.dll
LoadedModule[71]=C:\Windows\SYSTEM32\DEVOBJ.dll
LoadedModule[72]=C:\Windows\SYSTEM32\atiu9pag.dll
LoadedModule[73]=C:\Windows\SYSTEM32\atiumdag.dll
LoadedModule[74]=C:\Windows\SYSTEM32\atiumdva.dll
LoadedModule[75]=C:\Windows\SYSTEM32\POWRPROF.dll
LoadedModule[76]=C:\Windows\SYSTEM32\shell32.dll
LoadedModule[77]=C:\Windows\SYSTEM32\SHCORE.dll
LoadedModule[78]=C:\Windows\SYSTEM32\urlmon.dll
LoadedModule[79]=C:\Windows\SYSTEM32\iertutil.dll
LoadedModule[80]=C:\Windows\SYSTEM32\WININET.dll
LoadedModule[81]=C:\Windows\SYSTEM32\USERENV.dll
LoadedModule[82]=C:\Windows\SYSTEM32\profapi.dll
LoadedModule[83]=C:\Windows\SYSTEM32\WindowsCodecs.dll
LoadedModule[84]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Drawing\c1a7db53ba778a609cacd9b5de5f24a8\System.Drawing.ni.dll
LoadedModule[85]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Net.Http\9b895976561853dd320f3aba1d697bca\System.Net.Http.ni.dll
LoadedModule[86]=C:\Windows\SYSTEM32\iphlpapi.dll
LoadedModule[87]=C:\Windows\SYSTEM32\WINNSI.DLL
LoadedModule[88]=C:\Windows\SYSTEM32\DNSAPI.dll
LoadedModule[89]=C:\Windows\SYSTEM32\dhcpcsvc6.DLL
LoadedModule[90]=C:\Windows\SYSTEM32\dhcpcsvc.DLL
LoadedModule[91]=C:\Windows\SYSTEM32\rasapi32.dll
LoadedModule[92]=C:\Windows\SYSTEM32\rasman.dll
LoadedModule[93]=C:\Windows\SYSTEM32\rtutils.dll
LoadedModule[94]=C:\Windows\SYSTEM32\winhttp.dll
LoadedModule[95]=C:\Windows\SYSTEM32\clbcatq.dll
LoadedModule[96]=C:\Windows\System32\rasadhlp.dll
LoadedModule[97]=C:\Windows\SYSTEM32\WtsApi32.dll
LoadedModule[98]=C:\Windows\SYSTEM32\WINSTA.dll
LoadedModule[99]=C:\Windows\System32\fwpuclnt.dll
LoadedModule[100]=C:\Windows\assembly\NativeImages_v4.0.30319_32\UIAutomationTypes\7e77d1835b49fa80598b5c47eaedccfc\UIAutomationTypes.ni.dll
LoadedModule[101]=C:\Windows\SYSTEM32\UIAutomationCore.dll
LoadedModule[102]=C:\Windows\SYSTEM32\sxs.dll
LoadedModule[103]=C:\Windows\SYSTEM32\psapi.dll
LoadedModule[104]=C:\Windows\SYSTEM32\secur32.dll
LoadedModule[105]=C:\Windows\SYSTEM32\schannel.dll
LoadedModule[106]=C:\Windows\system32\msctfui.dll
LoadedModule[107]=C:\Windows\SYSTEM32\ncrypt.dll
LoadedModule[108]=C:\Windows\SYSTEM32\NTASN1.dll
LoadedModule[109]=C:\Windows\system32\ncryptsslp.dll
LoadedModule[110]=C:\Windows\SYSTEM32\gpapi.dll
LoadedModule[111]=C:\Windows\assembly\NativeImages_v4.0.30319_32\UIAutomationProvider\d0e987f2c025d8a4781d09bfbdf29c67\UIAutomationProvider.ni.dll
LoadedModule[112]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Deployment\15ade42298f5cb34cd77df295e60fff0\System.Deployment.ni.dll
LoadedModule[113]=C:\Windows\SYSTEM32\ondemandconnroutehelper.dll
LoadedModule[114]=C:\Windows\assembly\NativeImages_v4.0.30319_32\Microsoft.CSharp\38dcf45da5e2c03e47ca7960909d47d5\Microsoft.CSharp.ni.dll
LoadedModule[115]=C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Dynamic\a749fa78d90dfe24bd8f21cc341142f8\System.Dynamic.ni.dll
LoadedModule[116]=C:\Windows\Microsoft.NET\Framework\v4.0.30319\diasymreader.dll
FriendlyEventName=Stopped working
ConsentKey=CLR20r3
AppName=Livestream.Monitor
AppPath=C:\Program Files (x86)\Livestream Monitor\Livestream.Monitor.exe
NsPartner=windows
NsGroup=windows8
ApplicationIdentity=BD7B0BC851C42E3F687F5AAC110BEF9C
Now that MPC-HC has a really easy youtube-dl integration (and youtube-dl can pull streams and VODs from hundreds of websites, including Youtube, Twitch, Mixer and Smashcast), it would be cool to have an option to send the URL to MPC-HC or another media player directly without calling Streamlink/Livestreamer.
To do this, LM would simply have to do "C:\Media\Player.exe" URL
Come to think of it, since we've been here before with altering command line arguments for LM, maybe making this configurable would be the way forward. So the user tells LM which executable to call and whether or not to append URL, streamlink arguments or whatever else.
If you're interested in trying this yourself, all you have to do is grab MPC-HC 1.8.4 from doom9 and put the latest youtube-dl.exe into the MPC-HC folder.
Constantly getting this randomly at multiple streams at start of the program.
https://i.gyazo.com/8bea767d845f7c36f6161b526c2af1f4.png
final effect
https://i.gyazo.com/bbaba625264f63a05114c87fcf54b160.png
YouTube saves each new livestream to a new video so we need to track the channel itself rather than any 1 video id.
To find the current livestream we would need to iterate the list of youtube videos for the channel and see if one of them is marked with a "LiveBroadcastContent" value.
This would link into vod viewer support for YouTube livestreams due to needing to iterate the videos for the channel:
Issue #10
Now that .NET core supports WPF we can look at moving over to that for some free performance improvements and access to additional libraries.
https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0/
If you have a blank settings.json the program will startup and work but not have the livestreamer and chrome path filled out and will not overwrite the blank file with the default settings.
And if you create a blank livestreams.json file the program will crash on startup.
On a clean install. When I enter a twitch username in the import section, it briefly shows the list of followed channels. This list disappears immediately and is not saved in livestreams.json.
Manually adding livestreams does seem to work.
EDIT Just to confirm for future reference, I am using 2.4.2
Banned channels will never appear in online streams query so the primary function of the app is fine but it does break querying for offline streams.
The whole online/offling querying mess needs to be cleaned up and users should be warned about failures to query particular channels so they can remove the offending channel if needed.
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.
Cheers!
Beam.pro changed the name to mixer.com
Currently the beam.pro API is still working, but I think this will change soon.
Maybe before this happens it should be changed here.
Using you tool a long time now, I rly liek it!
But are you going to implement beam.pro? (is supported in the nightly from 2. Feb.)
Also consider adding a settings page to define which languages you care about and "fade out" streams which aren't in your language choices, ร la Livestreamer Twitch GUI
TwitchTv V3 API is being deprecated as of Feb 14 2017 and will be removed entirely in 2018.
https://dev.twitch.tv/docs/
Hi. Recently I found that twitch incorrectly marks the best quality available.
In like 20-30% of streams you see something like:
[cli][info] Available streams: 160p (worst), 360p, 480p (best), 720p60, audio_only
To fix this I paste 1080p60,900p60,720p60,Best
into quality field.
It works, but after restarting Livestream.Monitor it goes back to Best.
Can you add a feature for saving custom quality setting for the Livestream.Monitor?
Hi there,
Ever since Streamlink updated (I'm guessing this is why), the 'hide on load' option does not seem to work anymore. The console window does not hide when watching a stream or a VOD, but it does close when the media player closes.
Hi again,
Popouts are generally pretty easy to do, all you need is to call the browser with an URL reading https://www.twitch.tv/channel_goes_here/chat?popout=
in the case of Twitch, or http://www.hitbox.tv/embedchat/channel_goes_here?autoconnect=true
for Hitbox. I don't know the others, but I assume the restriction to Chrome mostly has to do with fancy pop-out resizing and stuff?
It'd be handy to have it just call the default handler for http, if possible. Or having that as a fallback for people not using Chrome.
Examples
[cli][info] Available streams: 160p (worst), 360p, 480p (best), 720p60, audio_only
[cli][info] Opening stream: 480p (hls)
[cli][info] Available streams: 1080p60, 160p (worst), 360p, 480p, 720p (best), 720p60, audio_only
[cli][info] Opening stream: 720p (hls)
Hey,
I can't seem to be able to play Hitbox VODs through Livestream Monitor. They're correctly listed with thumbnails and times and everything, but the 'Open Vod' button is greyed out and the 'Vod URL' is just a long string of hexadecimals.
How to monitoring youtube channels without username?
youtube/channel/RaNDoMSymBolSexaMPle/
https://gyazo.com/89c3e7a9cc5ba489f88a0753d0a11f26
No idea what just happened. Always had many errors (sadly still unresolved thing) but now it just looks dead.
I am having trouble understanding the logic behind how the video is actually played. I am trying to create a similar project using WPF and this would be really great if you could help me with code on the video side. email
Hi,
Livestreamer works fine, but it's getting old and plugin issues in particular are not getting fixed.
There is a fork out there called Streamlink which does fix some of these issues. Making it compatible should be relatively painless, since they work basically the same.
Cheers
https://dev.twitch.tv/docs/api
V3 api which is currently in use will be deprecated & removed in Dec 2018.
Time to evaluate what the new API looks like and see if there any new features we can take advantage of going forward.
Hi,
Since today, LM throws errors when trying to update twitch streams or loading VOD lists. For lack of copypaste or a log, I'll just abbreviate it. Is there a debug option?
ExternalAPIs.HttpRequestWithStatusException: {"error":"Bad Request","status":400,"message":"No client id specified"} at
ExternalAPIs.HttpClientExtensions.d__4.MoveNext() in H:\Programming\Git\Livestream.Monitor\ExternalAPIs\HttpClientExtensions.cs:line 49
A couple more, at.. same file:line 35, TwitchTvReadonlyClient.cs:line 12, TwitchApiClient.cs:line 209, VodListViewModel.cs:line 235
Putting a name into the search field when browsing Smashcast top streams (or switching from another streaming service with the search box already filled-in) will often throw this error:
Error getting top streams from 'smashcast'.
ExternalAPIs.HttpRequestWithStatusException: {"success":false,"error":true,"error_msg":"no_media_found"}
at ExternalAPIs.HttpClientExtensions.<EnsureSuccessStatusCodeAsync>d__4.MoveNext() in H:\Programming\Git\Livestream.Monitor\ExternalAPIs\HttpClientExtensions.cs:line 56
--- 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 ExternalAPIs.HttpClientExtensions.<ExecuteRequest>d__3`1.MoveNext() in H:\Programming\Git\Livestream.Monitor\ExternalAPIs\HttpClientExtensions.cs:line 37
--- 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 ExternalAPIs.HttpClientExtensions.<ExecuteRequest>d__2`1.MoveNext() in H:\Programming\Git\Livestream.Monitor\ExternalAPIs\HttpClientExtensions.cs:line 0
--- 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 ExternalAPIs.Smashcast.SmashcastReadonlyClient.<GetTopStreams>d__0.MoveNext() in H:\Programming\Git\Livestream.Monitor\ExternalAPIs\Smashcast\SmashcastReadonlyClient.cs:line 22
--- 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.Model.ApiClients.SmashcastApiClient.<GetTopStreams>d__35.MoveNext() in H:\Programming\Git\Livestream.Monitor\Livestream.Monitor\Model\ApiClients\SmashcastApiClient.cs:line 142
--- 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.TopStreamsViewModel.<EnsureItems>d__51.MoveNext() in H:\Programming\Git\Livestream.Monitor\Livestream.Monitor\ViewModels\TopStreamsViewModel.cs:line 310
Provide a checkbox to display only streams that are online/live
Hello again,
From personal use I've realized that Streams and VODs require slightly different command line arguments - if used with MPC-HC, for example. To be able to seek VODs, passthrough needs to be enabled, while Streams run much more smoothly if Livestreamer handles them. MPC-HC cannot be told a certain cache size nor use several threads for loading and buffering.
It'd be cool if Livestream Monitor could have two more text fields in Settings for command line arguments to be passed to Livestreamer for Streams and VODs respectively, so you could leave livestreamerrc with the 'smallest common denominator' config and putting everything else into Livestream Monitor.
When a stream is unavailable on-load up it causes the quality options to disappear and you are then unable to play streams because it's not passing the option off to Streamlink.
Livestream Monitor is usable without Chrome as you said, but for the Save button to work you need to specify a valid chrome.exe. One workaround is to create a stub chrome.exe somewhere, but it'd be nice if a blank or invalid path didn't break that functionality.
Pretty cool program, by the way.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.