Page 1 of 2

Windows 8 Store libVLC development

Posted: 02 Nov 2012 04:37
by KellenSunderland
Hey everyone. I've been working for the last little while on getting a VLC Windows 8 store app working. I thought I'd share where I've gotten to so far and see if you had any comments.

I've got some ideas for metro user interfaces that I wanted a test app for, a media player seemed like a good idea. I also wanted to learn about the d3d/d2d interops, and C++/CX. I've been working on it for 3 months or so, it's largely based on nVLC by Roman Ginzburg (which is fantastic). So far the app plays videos and music quite well. Performance is decent, which surprises me because I'm using a horrible implementation right now to get video frames. I'm marshalling RGB frames to a c# object and then drawing them to the screen. If I continue development I don't think it'll be too hard to return YUV formatted frames and write them to a direct2d surface using a SurfaceImageSource.

So now the bad news:
After running the app certification tool we get tons of failures, about 15000 unsupported APIs calls. Most of these come from the plugins. I'm sure this is probably not news to you guys, but I was hoping for a bit less work than that. I'm seeing if there's anyway around this, but from my understanding there might not be any.

There may still be a way to side load apps onto devices. If that's relatively easy I would still be interested in helping to developing this into a program, provided you guys are alright with it.

If someone could help me with cross compiling for windows + ARM I could also see if I can get a build running on the new Surface.

Re: Windows 8 Store libVLC development

Posted: 02 Nov 2012 05:48
by KellenSunderland
Here's a screencast of what VLC looks like inside a windows store app. This is playing a 720p mkv file. CPU usage was around 10-14%, again likely because of my horrible frame copying. In the youtube version of the video it looks a little choppy, but watching it in front of me there's no dropped frames that I can see. Audio and Video seems to be synced properly as well.

http://www.youtube.com/watch?v=XTb4mg1la5E&feature=plcp

Re: Windows 8 Store libVLC development

Posted: 04 Nov 2012 23:05
by save_jeff
is this working on the surface (ARM)
i would love to have mkv support on my surface

Re: Windows 8 Store libVLC development

Posted: 05 Nov 2012 06:18
by KellenSunderland
I picked up a Surface myself to test on. There's basically three things that will have to happen to get VLC installed on other winrt devices from what I can tell:

1. We'll need to get libvlc + plugins cross compiled on arm, and included in a wrapper app (like the one I've linked above).
2. We'll need to work around any sandboxing issues with opening files, which I think is doable.
3. We'll need an installer so that non-developers can install the tool.

I'll start working on a proof of concept for #2 and #3 first, since I'm pretty sure #1 is achievable.

Beyond these 3 potential 'gotchas' in windows 8, I think developing a nice user interface for VLC would be relatively easy. I'd be willing to volunteer the time to get it to at least a beta stage provided there's enough demand and that Rémi + Jean-Baptiste are ok with it.

Re: Windows 8 Store libVLC development

Posted: 05 Nov 2012 10:09
by Rémi Denis-Courmont
LibVLC has compiled on ARM for years, including on Windows (CE). But I don't know of any usable toiolchain and platform SDK for Windows 8 on ARM at the moment. This is a blocker. (For both technical and legal reasons, I don't believe Visual Studio to be "usable".)

Developping a toolchain is way outside the scope of the VideoLAN project. Therefore I would humbly suggest that you focus on getting the existing code base to compile and run cleanly on Windows 8 on x86 for the time being. Then develop a proper Metro UI. Most of that work should prove useful if/when an ARM toolchain is found.

Re: Windows 8 Store libVLC development

Posted: 05 Nov 2012 12:03
by Jean-Baptiste Kempf
Hey everyone. I've been working for the last little while on getting a VLC Windows 8 store app working. I thought I'd share where I've gotten to so far and see if you had any comments.
I've been doing the same for the last couple of days, and I am a bit farther from you, but getting closer...
Your stuff is cool.
I've got some ideas for metro user interfaces that I wanted a test app for, a media player seemed like a good idea. I also wanted to learn about the d3d/d2d interops, and C++/CX. I've been working on it for 3 months or so, it's largely based on nVLC by Roman Ginzburg (which is fantastic). So far the app plays videos and music quite well. Performance is decent, which surprises me because I'm using a horrible implementation right now to get video frames. I'm marshalling RGB frames to a c# object and then drawing them to the screen. If I continue development I don't think it'll be too hard to return YUV formatted frames and write them to a direct2d surface using a SurfaceImageSource.
D3D is the way to go, though...
So now the bad news:
After running the app certification tool we get tons of failures, about 15000 unsupported APIs calls. Most of these come from the plugins. I'm sure this is probably not news to you guys, but I was hoping for a bit less work than that. I'm seeing if there's anyway around this, but from my understanding there might not be any.
There are solutions... Those involve geeking on the 3rd party libraries and probably disabling the networking code, but I believe this is doable (and I think I got the skills).
This will be the long part.
There may still be a way to side load apps onto devices. If that's relatively easy I would still be interested in helping to developing this into a program, provided you guys are alright with it.
This is not a correct solution for users...
If someone could help me with cross compiling for windows + ARM I could also see if I can get a build running on the new Surface.
This will take a lot more work, though... Because I do not think mingw can cross-compiling to ARM for Windows.

Re: Windows 8 Store libVLC development

Posted: 11 Nov 2012 06:30
by desitunez
thanks guys , any further progress :)

Re: Windows 8 Store libVLC development

Posted: 11 Nov 2012 09:10
by Manky
This is awesome news and I hope you guys can pull this off.

First thing I did when I found out my Surface couldn't play MKV files was go looking for a VLC app.

I can't offer any help other than moral support but I would be most happy to buy a VLC app or at least donate to the cause :)

Re: Windows 8 Store libVLC development

Posted: 17 Nov 2012 13:30
by mutunekk
This looks and sounds awesome!!! this is the one thing that I am really missing from my surface... cant really help with the development but im more than willing to donate!! especially if it means that we get VLC faster... :D

thanks guys for the awesome work!!

Re: Windows 8 Store libVLC development

Posted: 20 Nov 2012 06:25
by neonp
D3D is the way to go, though...
Hey,

Since I cannot find any source code to have the "alpha" of vlc for windows 8. I am trying to achieve the same thing. I am far away from you guys (since it does not run :oops:). But I have a noob question : why do you think D3D is better that D2D ? isn't D2D made for 2D, like videos ?

Re: Windows 8 Store libVLC development

Posted: 20 Nov 2012 14:20
by Jean-Baptiste Kempf
D2D only accepts RGB in. D3D can have YV12 textures

Re: Windows 8 Store libVLC development

Posted: 03 Dec 2012 18:31
by weddi_eddy
Question. Is the Kickstarter page found at - http://www.kickstarter.com/projects/106 ... ence-metro official?

If so, it might make sense stating so. This would exponentially increase the donations received.

Edit - Sorry. Just read the news section on the main website. Thanks! ^_^

Re: Windows 8 Store libVLC development

Posted: 04 Dec 2012 14:59
by Jean-Baptiste Kempf
Yes.

Re: Windows 8 Store libVLC development

Posted: 12 Jan 2013 09:34
by neonp
Hello guys,

Could either JB or Kellen provide some source code to make libvlc work in a metro app ? That would be very helpful to me, and maybe other people.

Thanks a lot,

Nicolas

Re: Windows 8 Store libVLC development

Posted: 13 Jan 2013 03:44
by KellenSunderland
Hey Nicolas. I'm just working on getting it cleanly integrated with our new app right now. I'll try and post some usable examples soon.

Eventually all the code will be posted publically. Before this happens I'd want the vlc experts to take a look and do some code review.

Re: Windows 8 Store libVLC development

Posted: 13 Jan 2013 14:57
by Jean-Baptiste Kempf
Yep, as soon as we have a clean enough base, it will be opened.

Re: Windows 8 Store libVLC development

Posted: 10 Nov 2013 05:41
by svdunn
Hi folks. I've been reading this thread with interest as I am keen to have something useful for my daughters' Surface 2s. I haven't found anything released in the Surface app store yet - am I mssing it or is it still in the works? Thanks for your help.

Re: Windows 8 Store libVLC development

Posted: 12 Nov 2013 19:15
by Jean-Baptiste Kempf
Still working on it.

Re: Windows 8 Store libVLC development

Posted: 12 Nov 2013 23:31
by svdunn
Thanks for letting me know. I have NO technical expertise but would be happy to help test or whatever would be sueful.

Meanwhile do members have any suggestions for something to use for mostly mp4, avi, wmp formats?

Re: Windows 8 Store libVLC development

Posted: 24 Nov 2013 11:31
by Plantje
Hi,

Any update on this matter? A year ago there were some developments? What are the current pitfalls? Can I sign up as tester of beta versions somewhere? :)

Next to that I was wondering: for the version on the Windows desktop playback of .wtv files is supported. Will that be possible in the version for Windows 8.1 RT with the ARM processor as well? Currently I have to convert all of my .wtv files to .mp4 which takes a very long time! To me the support of .wtv files for a Windows 8.1 RT device would really mean a boost for the RT platform!

Thanks!

Re: Windows 8 Store libVLC development

Posted: 25 Nov 2013 15:42
by sideslope
Yeah,

It seems like there is very little information on the progress of VLC on to Window's RT. When it was first announced I remember the dev team talking early summer of 2013.

Now, Surface II is going on sale for 199.00 (32GB version) the day after Thanksgiving at Microsoft stores. I think RT is going to start getting a decent sized user base now.

I'd like to pick up a second RT at this price (I use them for home automation control around the house). I just need some VLC so I can watch my videos too! ;)

VLC team, do you have any idea of a tentative release date yet? Would be nice to know if we're talking a few months or next year at this time.

Anyway, thanks for all the hard work on this!

Re: Windows 8 Store libVLC development

Posted: 06 Dec 2013 00:41
by Jean-Baptiste Kempf
Yes, all formats supported in one version is supported in the other one.

Can you share with me a .wtv file, for example?

Re: Windows 8 Store libVLC development

Posted: 06 Dec 2013 06:40
by Plantje
Hi Jean-Baptiste,

Of course I can. However, they tend to grow large very quickly. Where can I upload the file?

You can find some more information on the format here: http://www.fileinfo.com/extension/wtv

Thanks!
Rudi Hendrix

Re: Windows 8 Store libVLC development

Posted: 09 Dec 2013 15:32
by Jean-Baptiste Kempf

Re: Windows 8 Store libVLC development

Posted: 09 Dec 2013 17:50
by Plantje
I think the upload has finished....but I am not sure. Can you check it? I referred to this thread.