Git Product home page Git Product logo

vlc.mediaelement's People

Contributors

kakone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vlc.mediaelement's Issues

Sound level detection

This is not really an issue, but you know more about VLC than anyone so maybe you can point me in the right direction. I'm writing a baby monitoring app for my newborn son. The video feed works but now I need to monitor the sound level so if he starts crying I will get an alert. Do you know of any VLC hooks I can use for this?

Captions

Is there a way to display captions? I need to add a button on the bottom area to enable pulling CC out of a UDP stream. This works fine with regular VLC on Windows, but don't know how to accomplish here. Thanks. Fantastic work on this wrapper, BTW, I was having hell getting libVLC to compile and you saved me so much time!

RTSP Authentication Support?

The UWP VLC app in the windows store supports RTSP. Does the VLC.MediaElement support RTSP? I can't connect to an RTSP url.

rtp multicast and frozen each certain time

Hello,
I’m playing with rtp over multicast and sound works correctly but video is frozen each 2 seconds, 4 seconds,… It is very frequently and I have tried with vlc desktop at the same time and same computer and I don’t have this problem. May it be a buffer problem? If it is yes, How should I increase the buffer size?
Thank you

too much memory consumption.

I created a simple UWP app with no features at all and only a vlc media element to play a normal video and according to disagnostic tools of visual studio it is consuming upto 250 MB of memory. This will not be fine specially if the app runs on windows 10 phone. I hope you can update the nuget package and it may consume less memory than before, Thanks in advance :) This might be a useful enhancement to the package .

RTSP stream works, but frequently stuck buffering...

So I've got an RTSP stream running on a TRENDnet TV-IP314PI, I can connect to it through my windows 10 IoT UWP application (debugging through visual studio connected to a raspberry pi).

Problem: when I stop the player, pause, or stop debugging and I try to play, unpause or start a new debug session, the stream is blank. It never says it cannot connect, it's just blank (Update: I have checked the current status of the mediaElement to see it is buffering). Randomly it will restart just fine, but more often than not it just sits there(Update: buffering). I try to pause, stop and manually restart the stream and get nothing. I've checked the web interface during failure and the stream is up (at least whichever stream the internal web application is using. Any suggestions?

I have confirmed using software supplied with camera (to connect with RTSP stream) that the stream works just fine outside of my IoT environment. I can disconnect and reconnect without issue.

I cannot seem to find a log file on the Pi device; any advice for getting more details for troubleshooting?

I greatly appreciate your time and assistance!!!

Update #2: I'm watching the performance on my Pi; the network activity is always good. I set my camera to a constant bitrate and even during the "buffering" issue; it's always showing about the same amount of network activity as when it is functional. The only difference between when it's stuck "buffering" and actually "playing" is the CPU usage; when stuck buffering it's at 15-18%%, when playing it's around 70%.

Update #3: Can anyone give me a list of the Options/Command-line arguments that work with this API? I've been trying some of the arguments from libvlc; but they don't seem to do anything. I've been trying to adjust the buffering/caching amount but I am not seeing hardly any I/O access from the API, and not seeing much memory change either (when using the libvlc command line arguments).

Update #4: I setup a button to let me reset the player source (reset the connection) so that I can test various camera quality settings to see if there are any impacts to the situation (good or bad). Initially I would reset the connection 50-60 times before seeing feed again (testing multiple times). After raising the framerate I have seen a decrease in the amount of resets required before seeing my feed again. I have raised the I Frame to also see a minor decrease in resets. I noticed if I lower the framerate it gets worse, same with I frame. If I increase resolution it gets worse. Adjusting the bitrate doesn't seem to have as much affect on reconnect. Tried variable stream and constant; not much difference noted. So this leads me to believe it's a problem related to drawing the stream not receiving it - which would explain why I see the constant network activity even when stuck "buffering". It does not however explain why the status changes from Play back to buffering when getting stuck; I would assume if it were a drawing issue, the status would remain set to "playing". Once the stream is established it seems to stay on for a long time; I have not yet recorded a failure/close of stream one operational. I hate half-butt solutions, but I'm about to code this thing temporarily to detect when the status goes from playing to buffering so that it will cycle/reset the source followed by a reconnect attempt. I will report back once implemented, but I still want to figure out the real reason behind this. Thank you again for any help provided.

MPEG4 & H264 streaming

Hi!, Finally I found the way to stream for my ip camera MJPEG way, but if I change the encoder to MPEG4 or H264 to play the streaming, I see nothing. Could be problem of codecs or do you think I am doing something wrongly?

Thanks in advance!

Crash on ARM build - Win IoT Raspberry Pi 3

I'm having a basic project where i only try to open a stream from a "Page". The code that i use in the XMAL is:

<vlc:MediaElement AreTransportControlsEnabled="False" HardwareAcceleration="True" Height="300" Width="300" Name="vlcPlayer1" Margin="691,63,33,277" BorderThickness="2" Source="Some Source">
</vlc:MediaElement>

The problem is that it crashes every time in:

#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
            UnhandledException += (sender, e) =>
            {
                if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();
            };
#endif 

The exception that is thrown is:

Message "Requested Windows Runtime type 'libVLCX.Instance' is not registered."

The version of the lib that I'm using is: 0.9.18
Win IoT: v.10.0.16299.19

About Source Property issue

I use this for Internet video stream, but the stream is flv extension. And the flv are segmented. So it have some issue for get all the segmentation. I find that I only can get the first segmentation, then it will end. Can you modify the Source like MS.MediaElment, it can load all the segmentation. Ty, Haha .

How to handle TimedTextSource for .srt subs?

Is there a way to include external .srt ( subtitle / closed caption files ) with a video. I mean in normal uwp media element it is done by TimedTextSource through mediaSource, but here source of media is just a path or string , in this case ( vlc media element ) how can we handle this scenario? Thanks

Unable to Programmatically Add Instances

I'm not sure if you can create VLC mediaelements programmatically, but i'm certainly unable to.
If i create a number of VLC mediaelements in the designer they run perfectly.
However, if i create them programmatically the app always errors with "Object reference not set to an instance of an object."

                VLC.MediaElement camera = new VLC.MediaElement();
                camera.Name = "cctv" + item.GLOBALCCTVCAMERAID.ToString();
                camera.AreTransportControlsEnabled = false;
                camera.HardwareAcceleration = true;
                camera.AutoPlay = false;
                camera.Height = item.ThumbHeight;
                camera.Width = item.ThumbWidth;
                camera.Source = item.CameraURL.Replace("&", "&amp;");

                //add to panel
                wrapMain.Children.Add(camera);

This code is the inner part of a loop that put a variable number of mediaelements into a wrap panel.
I have tried removing everything except creating and adding the control, as well as adding them directly to the grid page to rule them out.

So, I suspect one of the following:

  1. You can't use this control programmatically
  2. I'm creating the instance of the control incorrectly
  3. There's a bug in the VLC mediaelement control

Any help much appreciated,
Richie

Error When Trying to Open New File in Existing Instance

Hi,
I'm using a FileOpenPicker to load a VLC mediaelement, which works fine.
However, if i then try to load a new video into the VLC mediaelement I got the below error:
Object reference not set to an instance of an object.

XAML:
<VLC:MediaElement x:Name="vlcPlay" Margin="0,125,0,0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" AreTransportControlsEnabled="True" HardwareAcceleration="True">
VLC:MediaElement.TransportControls
<VLC:MediaTransportControls ControlPanelOpacity="0.8" IsStopButtonVisible="True" IsFullWindowButtonVisible="True" />

        </VLC:MediaElement.TransportControls>
    </VLC:MediaElement>

C#:
private const string FILE_TOKEN = "{1BBC4B94-BE33-4D79-A0CB-E5C6CDB9D107}"; // GUID in registry format
//open file picker with filters for video files
Windows.Storage.Pickers.FileOpenPicker filePicker = new FileOpenPicker();
filePicker.ViewMode = PickerViewMode.Thumbnail;

        //define filters based on video files VLC can support
        foreach(string fileext in Videofiles.Split(','))
        {
            filePicker.FileTypeFilter.Add("." + fileext);
        }

        var selectedFile = await filePicker.PickSingleFileAsync();
        if(selectedFile != null)
        {
            StorageApplicationPermissions.FutureAccessList.AddOrReplace(FILE_TOKEN, selectedFile);
            vlcPlay.Source = null;
            vlcPlay.Source = $"winrt://{FILE_TOKEN}";
            vlcPlay.AreTransportControlsEnabled = true;
            vlcPlay.TransportControls.AutoHide = true;

            //hide info textblock
            canAudioFileInfo.Visibility = Visibility.Collapsed;
        }

I had thought that setting the source to null prior to loading a new file would "clear" any existing file, but guessing not.
Do i need to somehow "reset" the VLC mediaelement or am I going to have to try and move the control to some sort of usercontrol popup, so it will be initialised each time?

Richie

Requested Windows Runtime type 'libVLCX.Instance' is not registered.

When loading my XAML, I get the error:

Requested Windows Runtime type 'libVLCX.Instance' is not registered.

What in the world does this mean? I used the Nuget package VLC.MediaElement 0.9.15 and here's my xaml:

<vlc:MediaElement x:Name="Player" AreTransportControlsEnabled="True" AutoPlay="True"/>

This happens during XAML parse/build before I set a Source.

Failed to assign to property 'VLC.MediaTransportControls.CursorAutoHide'.

this exception occurs on InitializeComponent() in a user control I made, and I am using CustomMediaTransportControls made with vlc media element class library. Note that this error only occurs when I am debugging on a machine with windows 10 anniversay update ( 1607 ) and it doesnt occur when I am using a machine which has windows insider build.
If I remove property "CursorAutoHide" and run without it then it gives another error as follows :

Failed to assign to property 'VLC.MediaTransportControls.Content

MediaTransportControls won't hide after Touch Input

Hi,

thanks again for These great controls.

if I add Content to the TransportControls (vlc:MediaTransportControls.Content) and use the TransportControls with Touch Input the TransportControls won't get hidden sometimes. They are getting always hidden on Mouse/Keyboard/Controller Input.

Kind regards,
Peter

Your input can't be opened - Access denied

When I try to open the stream of an IP camera in VLC.MedaElement I get the error message
"Your input can't be opened. VLC is unable to open the MRL ...."

The logfile gives a reason for it: Access denied. But same URL works perfectly in my browser or VLC desktop app. Any idea what it could be?

18,"None","2017-06-22T22:50:22.0055763","0,0000624","13968","8288","vlcElement","LogMsgVerbose: StringMessage=[core] (../../src/input/access.c:92) creating access: http://192.168.178.59/axis-cgi/mjpg/video.cgi?user=test&pwd=test&fps=1&resolution=1280x800",
19,"None","2017-06-22T22:50:22.0056263","0,0000500","13968","8288","vlcElement","LogMsgVerbose: StringMessage=[core] (../../src/input/access.c:105) (path: \192.168.178.59\axis-cgi\mjpg\video.cgi)",
20,"None","2017-06-22T22:50:22.0056871","0,0000608","13968","8288","vlcElement","LogMsgVerbose: StringMessage=[core] (../../src/modules/modules.c:231) looking for access module matching ""http"": 24 candidates",
21,"None","2017-06-22T22:50:22.0094861","0,0037990","13968","692","vlcElement","LogMsgVerbose: StringMessage=[transport] (../../modules/access/http/transport.c:58) resolving 192.168.178.59 ...",
22,"None","2017-06-22T22:50:22.0095741","0,0000880","13968","692","vlcElement","LogMsgVerbose: StringMessage=[transport] (../../modules/access/http/transport.c:71) connecting to 192.168.178.59 port 80 ...",
23,"None","2017-06-22T22:50:22.0111534","0,0015793","13968","692","vlcElement","LogMsgError: StringMessage=[transport] (../../modules/access/http/transport.c:92) cannot connect to 192.168.178.59 port 80: No error",
24,"None","2017-06-22T22:50:22.0154190","0,0042656","13968","8288","vlcElement","LogMsgError: StringMessage=[access] (../../modules/access/http/access.c:228) HTTP connection failure",
25,"None","2017-06-22T22:50:22.0155337","0,0001147","13968","8288","vlcElement","LogMsgVerbose: StringMessage=[http] (../../modules/access/http.c:243) querying proxy for http://192.168.178.59/axis-cgi/mjpg/video.cgi?user=test&pwd=test&fps=1&resolution=1280x800",
26,"None","2017-06-22T22:50:22.0155858","0,0000521","13968","8288","vlcElement","LogMsgVerbose: StringMessage=[http] (../../modules/access/http.c:249) no proxy",
27,"None","2017-06-22T22:50:22.0156367","0,0000509","13968","8288","vlcElement","LogMsgVerbose: StringMessage=[http] (../../modules/access/http.c:274) http: server='192.168.178.59' port=80 file='/axis-cgi/mjpg/video.cgi'",
28,"None","2017-06-22T22:50:22.0157033","0,0000666","13968","8288","vlcElement","LogMsgVerbose: StringMessage=[core] (../../src/network/tcp.c:121) net: connecting to 192.168.178.59 port 80",
29,"None","2017-06-22T22:50:22.0161876","0,0004843","13968","8288","vlcElement","LogMsgError: StringMessage=[core] (../../src/network/tcp.c:195) connection failed: Access denied",
30,"None","2017-06-22T22:50:22.0162650","0,0000774","13968","8288","vlcElement","LogMsgError: StringMessage=[http] (../../modules/access/http.c:688) cannot connect to 192.168.178.59:80",
31,"None","2017-06-22T22:50:22.0163198","0,0000548","13968","8288","vlcElement","LogMsgVerbose: StringMessage=[core] (../../src/modules/modules.c:321) no access modules matched",

Horizontal Scaling doesn't center object in windowed mode

If you have a video playing and you do a bidirectional corner scaling of the window, the video player will rescale properly. If however you simply expand the window the player will remain on the far left side until you perform a vertical scale and then it will recenter the video to fill the window. It appears the callback for horizontal scaling only triggers on a vertical scale.

Playback problems.

The good:

  • playback quality appears better than the built in equivalent of MediaElement's codecs, which is surprising
  • CPU utilization if very very good, in some cases noticeably better than the built in MediaElement
  • the command and control interface has interesting use scenarios (provided more of it was exposed)
  • range of supported file types is fantastic

The bad:

  • video scrub operations do not always work (the player gets stuck)
  • when you scrub the video the "..." loading indicator starts to cycle when it should stop after you have stopped scrubbing while paused
  • repeatedly loading the same video takes progressively longer ??
  • logging is very verbose and laggy (logging should be off by default)
  • loading a file from the file system has a significant start time delay that is much longer than the built in MediaElement, which is the single biggest limitation in my view

Streaming from the file system should be faster than from a URL and not the reverse. There must be a more efficient way of starting playback from a file.

File access fault: Closer, but now we have a file access fault.

Please create a file picker example for yourself, rather than playing videos from the Apps installation folder to see the following issue:

Exception thrown at 0x75A5A832 in SampleApp.exe: Microsoft C++ exception: Platform::AccessDeniedException ^ at memory location 0x0ED3F900. HRESULT:0x80070005 Access is denied.

WinRT information: Cannot access the specified file or folder (C:\Users\joeblow\Videos\big_buck_bunny_480p_surround-fix.avi). The item is not in a location that the application has access to (including application data folders, folders that are accessible via capabilities, and persisted items in the StorageApplicationPermissions lists). Verify that the file is not marked with system or hidden file attributes.

Create a button on the main form as follows:

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>

    <vlc:MediaElement x:Name="VlcElement" AreTransportControlsEnabled="True" HardwareAcceleration="True"
                      Source="http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_surround-fix.avi">
        <vlc:MediaElement.TransportControls>
            <vlc:MediaTransportControls ControlPanelOpacity="0.8"  />
        </vlc:MediaElement.TransportControls>
    </vlc:MediaElement>
    <Button Grid.Row="1" Content="Load" Click="OnClick" />
</Grid>

With code behind as follows:

using System;
using Windows.Media.Core;
using Windows.Storage;
using Windows.Storage.Pickers;
using Windows.UI.Xaml.Controls;

// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409

namespace SampleApp
{
///


/// An empty page that can be used on its own or navigated to within a Frame.
///

public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}

    private async void OnClick(object sender, Windows.UI.Xaml.RoutedEventArgs e)
    {
        // Create and open the file picker
        FileOpenPicker openPicker = new FileOpenPicker();
        openPicker.ViewMode = PickerViewMode.Thumbnail;
        openPicker.SuggestedStartLocation = PickerLocationId.VideosLibrary;
        openPicker.FileTypeFilter.Add(".mp4");
        openPicker.FileTypeFilter.Add(".mkv");
        openPicker.FileTypeFilter.Add(".avi");
        openPicker.FileTypeFilter.Add(".mov");

        StorageFile file = await openPicker.PickSingleFileAsync();
        if (file != null)
        {
            //var uri = new Uri(file.Path, UriKind.Absolute);
            var uri = new Uri(file.Path);
            VlcElement.Source = uri;
            VlcElement.Play();
        }
    }
}

}

Playing from the Apps folder is the easier case. Looking at the internals, I see that full paths are used rather than leveraging the FilePicker object. The only way to make absolute paths work is to leverage the "Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList" API which isn't something you want to be doing behind the scenes, since I might not necessarily want my app to be adding to the FutureAccessList without knowing about it. The WinRT VLC player must have a solution for this since it supports FilePicker usage.

Update for libVLCX?

Since this library depends on LibVLCX is there any way to get an update to LibVLCX since it's a build from back in Feb and they've made a significant number of changes/fixes on the VideoLan project since then?

"Could not create swapChain" in Xamarin Forms UWP project

I'm trying to initialize a MediaElement in a Xamarin Forms app, as a custom renderer for a custom control on UWP. I create the instance and set a source, but when it comes down to rendering, I get the following unhandled COMException:

The application made a call that is invalid. Either the parameters of the call or the state of some object was incorrect.
Enable the D3D debug layer in order to see details via debug messages.

Could not create swapChain

at libVLCX.Instance..ctor(IList`1 argv, SwapChainPanel panel)
at VLC.MediaElement.d__178.MoveNext()
--- 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 VLC.MediaElement.<>c__DisplayClass166_0.<b__3>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.b__6_0(Object state)
at System.Threading.WinRTSynchronizationContext.Invoker.InvokeCore()

  • I've both with the latest 0.9.20 and previous 0.9.19, with matching libVLCX versions (0.9.7, 0.9.6, respectively).
  • I've tried creating the MediaElement directly in the CustomRenderer code, but also creating it in a Grid or directly in a SwapChainPanel. Same results.
  • If I clone the SampleApp and run it, it does work fine.
  • The Xamarin Forms control it's hosted in is a regular ContentView. Is there a special D3D-aware View I should be rendering it in? Maybe a Skia SKGLView?

Has it been tested as a Xamarin Forms app?

Any given file path crashes

Not sure what the correct approach would be. I expected this to work (crashes):

    private async void OnClick(object sender, Windows.UI.Xaml.RoutedEventArgs e)
    {
        // Create and open the file picker
        FileOpenPicker openPicker = new FileOpenPicker();
        openPicker.ViewMode = PickerViewMode.Thumbnail;
        openPicker.SuggestedStartLocation = PickerLocationId.VideosLibrary;
        openPicker.FileTypeFilter.Add(".mp4");
        openPicker.FileTypeFilter.Add(".mkv");
        openPicker.FileTypeFilter.Add(".avi");
        openPicker.FileTypeFilter.Add(".mov");

        StorageFile file = await openPicker.PickSingleFileAsync();
        if (file != null)
        {
            //var uri = new Uri(file.Path, UriKind.Absolute);
            var uri = new Uri(file.Path);
            VlcElement.Source = uri;
            VlcElement.Play();
        }
    }

Save video file (.mkv, .avi, .mp4...)

Hi and thanks for your helping. Do you know how to save in a video file the content I am playing or streaming using LibVlcx and Vlc.MediaElement?

Thanks a lot!

Exception when creating second VLC.MediaElement

If I have a page that has vlc:MediaElement like this
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <vlc:MediaElement AreTransportControlsEnabled="True" HardwareAcceleration="True"> <vlc:MediaElement.TransportControls> <vlc:MediaTransportControls ControlPanelOpacity="0.8" /> </vlc:MediaElement.TransportControls> </vlc:MediaElement> </Grid>

After I leave page and try to access page again (page ui is recreated) the app crashes on MediaElement.cs line 287 swapChainPanel.Loaded += async (sender, e) => await Init(swapChainPanel);

So how to create second VLC.MediaElement without crashing?

unhandled exception occurs in app.g.i.cs

device : windows phone
version : anniversary update.
build : ARM
mode : debug
repo version : 0.9.19

i tested sample app of the latest version ( 0.9.19) of this repo. and app gives following exception in the start.

untitled

Message = "The specified module could not be found. (Exception from HRESULT: 0x8007007E)"

how to create custom inherited control from vlc media element

I want to create a custom control inherited from vlc media element because I want to add some custom buttons to the controls, but when I try to inherit class "vlc.MediaTransportControls" it gives me error because this class is sealed so I cannot create a custom transport control, is there any work around for it ? Thanks

no file time position?

Hi!
I want to access the position of the file playing but I can't find any property for it. The MediaElement has a Position property in 'MediaElement.PlaybackSession.Position' publicly accessible. Is there a way to retrieve it in your custom control? thanks.

Unable to Open RTSP

Not sure what debugging I can perform but I have an RTSP server running on one machine. And when I open it in VLC Windows Store it works. (e.g. rtsp://192.168.94.55:9001/stream) I see the connection open on the rtsp server and close when vlc closes. It also works in the desktop application. But for some reason MediaElement in VLC does not work. "VLC is unable to open the MRL 'rtsp://192.168.94.55:9001/stream'. Check the log for details."

Any ideas on why it would work in VLC Desktop/Windows Store/Phone but not in Media Element? Things I could try on my end to help debug? It's a bit of a black box.

using "options" to save the record

Hello again. Im trying to use the "Options" field of the vlc.MediaElement to save the recording in a file.

Launching Vlc.exe desktop version from command prompt i don´t have problems to save videos from youtube and from my ip camera, but inside the apllication it seems it doesn´t work.

I am using this way before "Source" field
MediaElement.Options.Add("--sout-keep", true);
MediaElement.Options.Add("--sout #duplicate{dst=file{dst=FILENAME.AVI},dst=display}");
It didn´t worked

And the command line with it works from desktop version is:

C:-Path-\VLC\vlc.exe http://url --sout #duplicate{dst=file{dst="FILENAME.AVI"},dst=display} --sout-keep

Do you know it is a correct way to record video or could be another way to record the streaming??

TYSM developers!

Further Issue Related to Multiple Programmatically Added Instances

Hi,
Thanks for promptly fixing my earlier reported bug.
However, this has now raised a second issue.
I have a UWP app with a combobox to select 4 CCTV cameras from one of two locations.
If I select one of the locations from the combobox no instances of VLC mediaelement appear.
If I then click on the arrow on the combobox to display the items (NOT actually click on an item) it then proceeds to show the four programmatically generated VLC mediaelements.
Weirdly, though if I also create a second combobox with just two dummy items in (that has no events or calls to any functions) i can then click on the arrow to display the items and it will also cause the four VLC mediaelements to appear.
I am, therefore, concluding that there is another bug in the VLC mediaelement relating to how it is rendered and that whatever a combobox "does" when displaying its items is then triggering the rendering of the VLC mediaelement.

Hopefully this is an easy fix.

Thanks,
Richie

your input can t be opened vlc is unable to open the mrl

your input can t be opened vlc is unable to open the mrl winrt://{....} Check the log for more details, from where can I check the log? and why is this problem caused?

This is the error I get on most of the videos I try to play but some videos are played without any problem.

No video after source changed

Hi,

I've got an ObservableCollection of objects containing, among other things, url's to video files.

I've got a view which browses through this collection, binding the SOURCE property of the VLC.MediaElement.

On ARM, it works perfectly.

On x86 however, only the first item in the collection works properly. As soon as you move to the next object, it plays with sound only but the video is blank.

Exception when running on Windows 10 Mobile (ARM)

I get an exception, Requested Windows Runtime type 'libVLCX.Instance' is not registered., when debugging on my Windows 10 Mobile (ARM) device from Visual Studio. The app deploys successfully, but the exception occurs as soon as the app loads.

Stack trace:
at System.StubHelpers.StubHelpers.GetWinRTFactoryObject(IntPtr pCPCMD) at libVLCX.Instance..ctor(IList'1 argv, SwapChainPanel panel) at VLC.MediaElement.<Init>d__99.MoveNext() --- 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 System.Runtime.CompilerServices.TaskAwaiter.GetResult() at VLC.MediaElement.<>c__DisplayClass88_0.<<OnApplyTemplate>b__0>d.MoveNext() --- 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.Threading.WinRTSynchronizationContext.Invoker.InvokeCore()

Inner exception:
Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

no media failed event handler

I am having an error "canot open mrl, check log for details" and log file is also empty so I need to figure out the problem, and for that I need to handle media failed event like in normal media element but its not there. There is no media failed event on VLCMediaElement :/

Support for http/ts:// uri

I'm getting url from external service that starts with "http/ts://" protocol.
vlc media player successfully plays that url but Vlc MediaElement fails.

AFAIU, call to
Uri.TryCreate(source, UriKind.RelativeOrAbsolute, out location)
in MediaElement.cs fails to parse that uri.

Could you please add support for it?

The arm version cannot pass the test

I compiled the release version of arm, and then started Windows App Cert Kit to test it, and the test results failed.
The test report points out that the API "if_nametoindex" in iphlpapi.dll is not supported by the platform,
libvlccore.dll calls this API.
So I can't submit my application to the windows store.
How to solve it?

RTSP video feed from raspberry pi freezing

Hi!

I am trying to play a simple RTSP video stream across Ethernet from a raspberry pi.

On the raspberry pi, this command is being run (I am using VLC to create the stream):
raspivid -o - -t 0 -hf -w 640 -h 360 -fps 25 | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554}' :demux=h264

The UWP program is looking here:
<vlc:MediaElement HardwareAcceleration="True" Source="rtsp://169.254.49.188:8554/"> </vlc:MediaElement>

This works fine for about 2-3 seconds, then the video freezes. It also is working correctly in the VLC player.

Do you know what might be causing this issue / how I might trouble shoot it?

Please let me know if there is any additional info you may need. I am a video streaming novice so any advise would be awesome.

Thank you!

Windows 10 UWP Error

Hi,
I have created a basic C# UWP app with this vlc mediaelement, but when it starts I get an error:
Requested Windows Runtime type 'libVLCX.Instance' is not registered.
I have followed the instructions precisely, yet can't get past this.
Running VS2015 update 3. The app is an x86 uwp.
I installed vlc mediaelement via nuget.
Have I missed a step somewhere?

Thanks,
Richie

takeSnapshot command creates zero-byte file

Hi

I tried to take a snapshot of a playing video in the control by using the code below and though it runs successfully and a file was created with the command, the file created is of zero bytes.

string path = Path.GetTempFileName();
myvlc_control.MediaPlayer.takeSnapshot(0, path, 1280, 720);

May I seek some advice if I have used the method correctly in this UWP VLCMediaElement control please? I was able to take a snapshot properly using similar code, using the VLC control for Windows form so I thought the behaviour would be similar for the uwp version.

thanks for any advice or help in advance :)

libvlcx

HI.
First of all, thank you for your work. I used libvlcx for uwp, but there is no audio in mobile and pc, can you tell me the reasons.

muteToggle is buggy

I tried vlcmedia element with my uwp app and I tried the togglemute() method to mute and unmute the media player. once I muted it with this method, it got muted but never got unmuted again. Now I even made a new app and reinstalled the package from nuget and didnt even touch the mute method but it is still mute and every video played in vlc media element is sound less now :/ it made some changes I guess to my system and is now causing problem because I cant hear any thing in vlc media element at all

fullscreen stucks after sometime and remains fullscreen

aftera while, 10-15 minutes of continues video playing in fullscreen, media element never comes back to normal state and remains at fullscreen, it doesn't matter whether I try to programmatically toggle fullscreen or use the default button on the player, but player remains fullscreen.

Authentication for RTSP is broken

Hello,

I'm trying to use the component in order to play an rtsp strea that requires authentication. The problem is I get this error wen debuting the app:

gist link

I put the output in a pastebin
I'm using the latest version of the library and my target platform is x64. Any hint on this matter is well appreciated.

vote uservoice to get codecs by default( not an issue)

This is not an issue rather I need some contribution from the community in order to get the codecs to play all types of files by default in uwp media elements. for that Please vote for this user voice and share it with your friends so that we can finally have this feature and so we wont be needing any external libraries for this.
I hope admin of this repo doesn't remove this request. Thanks.

here is the link to the uservoice.
https://wpdev.uservoice.com/forums/110705-universal-windows-platform/suggestions/19248226-codecs-for-uwp-media-element

can we try to make it with MediaPlayerElement as well?

I knw this question has been asked previously and I already know the answer, that you are actually creating all the features of media element yourself and not using the actual media element I have a few questions regarding that.

  1. Why arent you using the actualy uwp media element?
  2. Can we implement all the features of MediaPlayerElement? just like you implemented features of media element?
  3. Or can we create a custom inherited control from MediaPlayerElement and then somehow use vlc library in it?

The reason I am asking these questions is that is there any possible way that we can use MediaPlayerElement and hence using all its features like MediaPlaybackItem, MediaPlaybackList and all other built in features in uwp. I will be willing to help and achieve this goal if you guide me a little bit how to include vlc library in uwp MediaPlayerElement.

Thanks in advance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.