Coder Social home page Coder Social logo

gpuvideoplayer's Introduction

Hi there πŸ‘‹

Chances are, you're here from my UniVoice repos. Expand the section below for more info.

πŸ—£οΈπŸŒπŸ”Š UniVoice stuff

I'm still working on unifying UniVoice and making it easier to use. To start, I would recommend going through the following repos in my profile:

  • πŸ—£οΈunivoice: the core repo.
  • πŸ“± univoice-samples: a sample chat app made using univoice. This repo currently uses
  • 🎀 univoice-unimic-input: the repo for capturing audio from Microphones, the most common use case
  • πŸ”‰ univoice-audiosource-output: the repo for playing audio using an AudioSource, again the most common usage.
  • πŸ“Ά univoice-telepathy-network: a repo for local/WLAN networking for univoice. Basically, you can talk within a local network. Note that again with mobile apps, hosting, network discovery and connecting have some caveats.
  • πŸ–₯️ univoice-mirror-network: a repo for Mirror based networking. If your game or app uses Mirror, the integration is very simple and also runs with dedicated servers.

Note that:

  • ❌ univoice-airpeer-network is not production suitable. Airpeer, the underlying library is not IL2CPP compatible. It also uses some old WebRTC code where establishing connection tends to fail a lot.
  • ❌ airsignal and airpeer are archived repos. Avoid developing with them unless you know your usecase and their limitations well.
  • ⚠️ univoice-pun2-network is not production suitable either, but you are welcome to modify it. The core issue (IIRC) was that Photon throttles the amount of data you can send through some custom channels. Since UniVoice doesn't have any sort of audio compression, the size tends to cross the limits very quickly. It did work fine for 2 or 3 participants.

UniVoice has some big improvements lined up, this includes:

  • πŸ“¦ Most, if not all of the UniVoice related repos moving into the core package, so that you don't have to worry about dependencies. Modules would be activated using scripting define symbols in Unity
  • πŸ“±A much better sample scene
  • ✍️ Better documentation and maybe even some video tutorials
  • πŸ—£οΈ Audio compression, echo cancellation, and maybe even encryption (we'll see)
  • πŸ›œ Implementations for Network For GameObjects, PUN2 and maybe also com.unity.webrtc
  • πŸ–₯️ Making it more suitable for dedicated server environments. UniVoice was made with peer-to-peer in mind.

In short, UniVoice is undergoing a lot of changes soon. Those using the repos already would be protected from these changes. It's likely with UniVoice v4, it'll begin a new life with these improvements coming in one by one.

Thanks for the continued support! If you are joining or have been part of the UniVoice journey, give it a Github star ⭐!

Adrenak's GitHub stats

gpuvideoplayer's People

Contributors

adrenak avatar fingerx 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  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

gpuvideoplayer's Issues

Can I get a dll for 32 bit (x86)?

Can I get a dll for 32 bit (x86)?
I tried building NativeCode on x86, but MediaPlayer did not work on Unity.
I need help.

Thank you.

about h265 video play details

i saw "GPUVideoPlayer was tested with an 800mb 8192x4096 30FPS H265 MP4 video file. Loading took 195 ms. Video playback was at 30FPS with Unity's framerate at 60." this is great.Can you provide detailed information on this video or download link? Because I tested a 4k and 8k video playback with color errors and not smooth (the original project and my own compilation are the same). I have to run the system win10 64bit, the graphics card is amd w8100, e5-2630, I am not sure if it is my hardware problem.

Build file for the native script

Can anyone please send or upload the build file for the native script?

I have tried gcc -shared -o mylib.dll dllmain.cpp but its showing one header file is missing (SDKDDKVer.h which is include from targetVer.h)

Can anyone please tell me how to build the native scripts to the required .dll file.

How to make GPUVideoplayer play in loop?

Hi! I used your GPUVideoplayer in my unity project, and I want to make it play in loop automatically.
But I can't find out how to make it. I have tried to call the load and play function at the reaching of the end point of the player, to reload the url and replay the video, but it didn't work quite well as I expected,
Could you please help me with this problem?

Why there is black screen when the double GPU is working together?

Hello!
My laptop has two graphic cards, one is AMD Radeon 535, the other is an integrated graphic card.
Today, I encoded my test mp4 file to HEVC H.265, and used your demo to play that video. Something weird happened when I used a high-performance mode in which both of my graphic- cards work together, it always in the black screen, but when I used an eco-mode in which only the integrated graphic card works, the video is played.
I am confused about that, and I want it played with my AMD graphic card, I have no idea why it is like that, and how to deal with it.
Could you please help me to find out the key of this problem? It will be a great favor to me.

DLL not found exception

I am running GPUVideoPlayer on a Windows 64 bit PC on Unity 2018.1.0b4. I am getting the following error of DLLNotFound Exception. Can you please tell me why I am getting this error and what specific modules are missing.

Error
DllNotFoundException: MediaPlayback
Adrenak.GPUVideoPlayer.GPUVideoPlayer+c__Iterator0.MoveNext () (at Assets/Adrenak/GPUVideoPlayer/Scripts/GPUVideoPlayer.cs:187)
UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) (at C:/buildslave/unity/build/Runtime/Export/Coroutines.cs:17)
DllNotFoundException: MediaPlayback
Adrenak.GPUVideoPlayer.GPUVideoPlayer.Unload () (at Assets/Adrenak/GPUVideoPlayer/Scripts/GPUVideoPlayer.cs:209)
Adrenak.GPUVideoPlayer.GPUVideoPlayer.OnDisable () (at Assets/Adrenak/GPUVideoPlayer/Scripts/GPUVideoPlayer.cs:235)

Warning
Plugins: Failed to load 'Assets/Adrenak/GPUVideoPlayer/Plugins/x86_64/MediaPlayback.dll' with error 'The specified module could not be found.
'.
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
Plugins: Failed to load 'Assets/Adrenak/GPUVideoPlayer/Plugins/x86_64/MediaPlayback.dll' with error 'The specified module could not be found.
'.
Adrenak.GPUVideoPlayer.c__Iterator0:MoveNext() (at Assets/Adrenak/GPUVideoPlayer/Scripts/GPUVideoPlayer.cs:191)
Adrenak.GPUVideoPlayer.c__Iterator0:MoveNext() (at Assets/Adrenak/GPUVideoPlayer/Scripts/GPUVideoPlayer.cs:187)

Simultaneous playback of multiple streams

I tried to play two streams using GPUVideoPlayer, but 2nd stream didn't play (black texture).
And I also tried to play GPUVideoPlayer and VideoPlayer(unity standerd) simultaneously. GPUVideoPlayer play normaly and VideoPlayer didn't play(black texture).
I also confirmed VideoPlayer can play multiple streams simultaneously.

Dose GPUVideoPlayer support multiple streams?
Why dose GPUVideoPlayer block VideoPlayer playback?

Player state

The current state of the player should be stored and exposed for reading

Single event publisher

Instead of a different event publisher for every player event, use a single on with the state as the argument.

Playing video in original resolution

I have tried playing 5K video but the played video is rendered at lower resolution.
If I play the provided Demo, and then use Scene view to come close to the texture, I can see that it does not play at the 5K.
I have also tried setting it on another object with GetComponent<Renderer>().material.SetTexture("_mainTexture", player.MediaTexture); with the same result. Is it possible to play video in original resolution?

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.