Some video's dont run from lib but do work in player
Posted: 14 Mar 2019 12:31
Hi,
Recently I have used LibVLCsharp to put a Mediaplayer on a simple c# application to stream video URL's.
As 'libvlc' I used a downloaded copy (minus the application exe's and skins) I already had installed on my system - in this case a recent 3.0.7 nightly.
Streaming an RTSP camera and the big buck bunny example (https://www.w3schools.com/html/mov_bbb.mp4) works great.
However some video's don't work - in particular a YouTube video or live stream.
The odd thing is, in the standalone VLC player it works but using the exact same software as library it doesn't. So I wonder what the difference could be ?
Example trying to play: https://www.youtube.com/watch?v=foyufD52aog
Works in standalone player. Doesn't work in the c# app.
Where the VLC player at some point logs :
instead I captured the following from the player in my c# app. These do not occur in the messages of the VLC player:
The lib seems to be able to open the initial stream and the youtube lua logs the metadata correctly (Name, ArtURL, Description, etc) but the actual video content doesn't get streamed.
Any idea what the difference could be? Thanks,
Recently I have used LibVLCsharp to put a Mediaplayer on a simple c# application to stream video URL's.
As 'libvlc' I used a downloaded copy (minus the application exe's and skins) I already had installed on my system - in this case a recent 3.0.7 nightly.
Streaming an RTSP camera and the big buck bunny example (https://www.w3schools.com/html/mov_bbb.mp4) works great.
However some video's don't work - in particular a YouTube video or live stream.
The odd thing is, in the standalone VLC player it works but using the exact same software as library it doesn't. So I wonder what the difference could be ?
Example trying to play: https://www.youtube.com/watch?v=foyufD52aog
Works in standalone player. Doesn't work in the c# app.
Where the VLC player at some point logs :
Code: Select all
main debug: `https://www.youtube.com/watch?v=foyufD52aog' successfully opened
Code: Select all
http debug: in DATA (0x00) frame of zu bytes, flags 0x3ff9, stream 0
Call Stack:
at MyVideoStreamer.VideoStreamer._libVLC_Log(Object sender, LogEventArgs e) in C:\Users\nocoffee\Desktop\ViewApps\VideoStreamer\VideoStreamer.xaml.cs:line 125
at LibVLCSharp.Shared.LibVLC.<>c__DisplayClass41_0.<OnLogInternal>b__0()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
at System.Threading.Tasks.Task.ExecutionContextCallback(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
http debug: in DATA (0x00) frame of zu bytes, flags 0x4000, stream 0
Call Stack:
at MyVideoStreamer.VideoStreamer._libVLC_Log(Object sender, LogEventArgs e) in C:\Users\nocoffee\Desktop\ViewApps\VideoStreamer\VideoStreamer.xaml.cs:line 125
at LibVLCSharp.Shared.LibVLC.<>c__DisplayClass41_0.<OnLogInternal>b__0()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
at System.Threading.Tasks.Task.ExecutionContextCallback(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
Any idea what the difference could be? Thanks,