adrenak / Gpuvideoplayer
Licence: mit
Fast video playback on Unity using GPU Decoding
Stars: ✭ 82
Projects that are alternatives of or similar to Gpuvideoplayer
Nexplayer unity plugin
Stream videos in HLS & DASH with Widevine DRM using NexPlayer Video Streaming Player SDK for Unity on Android & iOS devices
Stars: ✭ 73 (-10.98%)
Mutual labels: unity3d, video-player
Yuview
The Free and Open Source Cross Platform YUV Viewer with an advanced analytics toolset
Stars: ✭ 665 (+710.98%)
Mutual labels: video-player, hevc
Unet Controller
A CharacterController based controller for Unity's new Networking system
Stars: ✭ 75 (-8.54%)
Mutual labels: unity3d
1 Character Movement
The first section of the course. You will learn everything required to build a simple movement system in your RPG, creating the core experience. http://gdev.tv/rpggithub
Stars: ✭ 81 (-1.22%)
Mutual labels: unity3d
Akvj
Demo project for Akvfx (Azure Kinect plugin for Unity)
Stars: ✭ 79 (-3.66%)
Mutual labels: unity3d
3dxrayshader unity
Surface shader. Clips a Model with given plane , applies fresnel on clipped part and highlights the cross section.
Stars: ✭ 73 (-10.98%)
Mutual labels: unity3d
Fancyscrollview
[Unity] A scrollview component that can implement highly flexible animations.
Stars: ✭ 1,216 (+1382.93%)
Mutual labels: unity3d
Msgpack Unity3d
MessagePack and JSON serializer for Unity3D
Stars: ✭ 74 (-9.76%)
Mutual labels: unity3d
Rex Diagnostics
Unity extension that enables expression evaluation at runtime to facilitate testing and debugging.
Stars: ✭ 78 (-4.88%)
Mutual labels: unity3d
Atlasimage
AtlasImage is a graphic component use SpriteAtlas for uGUI. In addition, add useful sprite selector and border editor to the inspector.
Stars: ✭ 81 (-1.22%)
Mutual labels: unity3d
Weaver
Weaver is a code weaving framework built right into Unity Engine. Based heavily off of Fody.
Stars: ✭ 78 (-4.88%)
Mutual labels: unity3d
Exoplayer Wrapper
📺 Android library, ExoPlayer wrapper (2017)
Stars: ✭ 77 (-6.1%)
Mutual labels: video-player
Unitycsvutil
Lightweight but type safe CSV serialise/deserialise of objects
Stars: ✭ 80 (-2.44%)
Mutual labels: unity3d
Bdframework.core
[中]Simple! Easy! Powerful Unity3d game workflow! Unity3d framework:c# hotfix(ILRuntime)、asset manager、ui workflow、network debug... and so on
Stars: ✭ 1,196 (+1358.54%)
Mutual labels: unity3d
Unity3d Dynamicallyloadinganimation
👾 Unity3D Loading and unloading animations at runtime (Example)
Stars: ✭ 74 (-9.76%)
Mutual labels: unity3d
Proceduralcity
Unity demo that uses a few tricks to build random nice-looking 3D cities
Stars: ✭ 77 (-6.1%)
Mutual labels: unity3d
Abmediaview
Media view which subclasses UIImageView, and can display & load images, videos, GIFs, and audio and from the web, and has functionality to minimize from fullscreen, as well as show GIF previews for videos.
Stars: ✭ 79 (-3.66%)
Mutual labels: video-player
Temporalreprojectionexample
Temporal reprojection example for Unity
Stars: ✭ 82 (+0%)
Mutual labels: unity3d
Note .
This repository is not being actively maintained. Issues may not be addressed.
GPUVideoPlayer
Alternative to Unity's VideoPlayer
component. Run HEVC/H265 videos with GPU decoding, lower loading times and better performance.
API/Usage
The GPUVideoPlayer
class derives from MonoBehaviour
and needs to be on the scene. GPUVideoPlayer
component also provides some primitive auto play features.
Methods:
-
Load(string) : void
Where the passed parameter is the URL or path of the video -
Play() : bool
Which plays (or resumes) the video playback and returns a boolean based on whether the command was successful -
Pause() : bool
Pauses the video and returns if the command was successful -
Stop() : bool
Stops the video playback and returns if the command was successful -
GetPlaybackRate() : double
Returns the rate at which the video is being played -
GetDuration() : long
Returns the length of the video in 1/10^7 seconds -
SeekByRatio(float ratio) : bool
Sets the position of the video player atratio
completion stage and returns if the attempt was successful -
SeekByTime(long position) : bool
Sets the position of the video player atposition
time.position
is in1/10^7
second units
C# Properties:
-
MediaTexture
Returns theTexture2D
object that is updated by the plugin with video frames -
MediaDescription
Returns some information of the video being played. These include the video width, height, duration and whether it can be seeked on.
States and Events:
The states of a GPUVideoPlayer
instance is represented using an enum called `GPUVideoPlayer.State' and has the following values:
- Idle
- Loaded
- Failed
- Playing
- Paused
- Stopped
- Ended
The current state can be obtained using GPUVideoPlayer.MediaState
which derives from UnityEvent<GPUVideoPlayer.State>
Performance
-
GPUVideoPlayer
was tested with an 800mb8192x4096
30FPS H265 MP4 video file. Loading took 195 ms. Video playback was at 30FPS with Unity's framerate at 60.
Getting Started
- A simple video player app with load, pause, stop, 5sec FWD, 5sec BWD is available inside the Demo folder. The demo should be a good example to see how to get started.
Notes
- Currently runs only on Microsoft Windows. Tested on 64 bit OS.
- May require HEVC Video Extensions based on your usage.
Contact
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].