[RELEASED] VLC Player for Unity (New: Youtube Streaming!)

UPDATE: This plugin is no longer availabe and not in development anymore.

Hi Guys!

Since using Unity, I was never satisfied with movie textures for intro videos and cutscenes in our projects. ogv doesn’t seem like the best format for the job, and with 1080p videos and higher bitrate we always had stuttering - even on highend systems. Other times the audio wouldn’t match up exactly.

I’ve tried the plugins that are available, but wasn’t satisfied either, often only one format is supported and higher resolutions and bitrates result in jaggy videos even on good PCs - and they are all quite expensive.

I wanted to have super smooth, high-bitrate 2k / 4k video cutscenes, like when playing in VLC media player. And I did not want to convert our videos or place them in a specific location. Thats why I had to create a VLC Player for Unity plugin.

New Features in 1.03:

  • Youtube Streaming: Just use the url
  • Pin to UI or Window, so you can move the videos around or resize them
  • Dynamic Aspect Ratio Handling when resizing videos
  • Support for all VLC versions

New Features in 1.02:

  • Video in Background: Render Video underneath UI and 3D objects
  • Performance improvements on video start

Features:

  • Play intros and cutscenes super smoothly - every codec / format that VLC Supports

  • Streaming (RTSP etc, but everything that VLC can stream should work)

  • 4K Video resolution is no problem, since it plays via VLC on the GPU

  • VLC Playback gets rendered above your Unity game in your OS monitor resolution, (so even if you have to lower the games’ resolution for performance reasons, the cutscenes will always be shown in the best resolution, which is great :wink: ).

  • Stream Video to Texture2D (Beta)

  • You can either use a special vlc core version that’s embedded in you build - the user must not have vlc installed to play videos

  • …or you can use an installed version of vlc on the machine, so your build is smaller since no vlc is included.

  • Likewise with videos: you can either embed them into your build, or play them from any location

  • Render videos over Gui-Panels, so it’s easy to position videos that shouldn’t be fullscreen

  • 2 Fullscreen video modes: Complete Mode over Monitor or just over Unity window (when running in windowed mode)

  • Multi-Monitor Support

  • Window-Mode Support

  • Video Controls: Play / Pause / Stop and navigate in video timeline

Working on / Todo:

  • Capture Gameplay directly to Video

Current Limitations:

  • Only works on windows machines at the moment, other OS version support might come later

Thanks and have a great day,

5 Likes

Definitely interested in this! Keep up the work, would be glad to test this!

1 Like

Subscribed for updates :slight_smile:

I made some good progress on multi monitor support, and I’m soon able to do a main menu background video with unity elements and gui rendered atop ( just like in fallout 4s main menu). :smile:

Stay tuned!

To illustrate what I meant, here’s a screenshot of the background video for menus activated (there’s the star wars 7 trailer looping for testing purposes :wink: )

Gui or 3D will get rendered over the video and you can klick the buttons or interact with the 3d cube. The background video is a 1080 mkv with a very high bitrate and it’s super fluent through VLC.

I’m pretty happy right now, please excuse the super crappy looking demo-interface and debug cube for the time being :slight_smile:

2 Likes

Ok, so finally here’s a demo version ;). Still has a few little things that I need to change, but on the computers I tested it, it worked fine.

Heres the link (windows standalone): http://we.tl/jj9Ft4AQiQ (500mb though because of the demo video files, 1080p mp4, mkv and divx files are included)

Looking forward to your feedback!
(Please also tell me what Windows Version you use for testing.)

Thanks and have a great day,
holzay

You´re right - Unitys video implementation is very poor, the plugins are not very good but expensive.
So I really appreaciate your approach!

Tested the windows standalone demo and everything works like a charm. Fantastic.

Do you plan to implement video as Texture2D?

Thanks for testing! Glad everything works.

Video as Texture2D might be possible - I’ll have to research in this direction.
But at first, I want to focus on fullscreen video and video on Gui-Panels like in the demo, since this is what most people I talked to need for their cutscenes.

PS: which version of windows did you use (7,8,10?) Thanks.

looks promising. Any chance of early testing release?

Windows 8.1 pro

I’ll try to release the plugin asap with the current features when everything is working a 100%, since this should be what 90% of people need.
New features like playlists etc. will come as updates. In the meantime, feel free to test the demo (link at the top) and let me know what you think. Thanks!

Thanks =)

1 Like

Texture2D is possible…I did it in my asset, in my case I just render the texture to an editor window.

*skip to 1:15 - shows VLC playing to a texture

https://www.youtube.com/watch?v=hVQ6m7xoLxo

yes, thanks @bocs . I looked up a few things regarding this, and I think I’ll bring video on textures as the first update to the package once it’s released.

Cool! How much will it cost once finished? Could really use it once it supports OSX and Linux.

//edit: One thing: How hard would it be to make certain colors transparent so e.g. you could mix liveaction with real time rendered game using things like greenscreen?

demo was very big to even test pls upload a video showing how it will look in pc

Haven’t decided yet. As for keying out of videos: I guess if its a rendered texture2d on a plane for example, it shouldnt be too hard to create a shader to do that. But thats also something I’d have to look into.

Thats kind of intentional, because I wanted to show that you can play big, high bitrate HD videos of any codec in contrast to Unitys Movietextures. But I can create a smaller demo with just 1 sample video.

while playing the video in the game will player see any new window pop up showing the hd video or it will be seems less which happen every thing in background and player see video playing in the game it self

Sorry for the late reply! No, there won’t be a popup of a regular vlc window. The video just shows fullscreen, or on top of UI elements Here is a smaller demo with just 1 video that you can try: http://we.tl/cyDQfptMl5

Hope that helps :slight_smile:

Hi!

I finished writing the documentation and submitted to the asset store. Hopefully it will be up there soon.

Have a great day,
holzay

2 Likes

Awesome, looking forward to trying it.