Search Unity

[Released] AVPro Video - complete video playback solution

Discussion in 'Assets and Asset Store' started by AndrewRH, Feb 12, 2016.

  1. LvChy

    LvChy

    Joined:
    Mar 6, 2020
    Posts:
    4
    any solution ? thk ??
     
  2. KanOlX

    KanOlX

    Joined:
    Jul 21, 2020
    Posts:
    1
    Hi @AndrewRH ,

    I am working to make H265 video play on Android and iOS. I am using Unity 2019.3.0f6 and 1.11.3 version of AVPro.
    the avpro player can get the video length but in black screen. both height and width of the video are 0 and no resolution changed. is there any restriction on playing H265 video? if no, how can i play it?

    the video metadata is like this
    #EXTM3U
    #EXT-X-VERSION:3
    #EXT-X-INDEPENDENT-SEGMENTS
    #EXT-X-STREAM-INF:BANDWIDTH=10435625,AVERAGE-BANDWIDTH=5711200,RESOLUTION=1280x720,FRAME-RATE=60.000,CODECS=“hev1.1.6.L120.B0,mp4a.40.2”

    Thanks you.
     
  3. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    I can't think of any reason.....but your "codecs" area looks a bit strange. I think you could try with the manifest having

    “hvc1.1.6.L120.B0,mp4a.40.2”

    instead. I think that will have better compatibility.

    Thanks,
     
  4. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
  5. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Which platform is this on?
    I guess each platform has different caching behaviour. On Windows I believe the system Internet Cache is used, so it is common. This isn't a feature of AVPro Video per-se, it's just what the OS is doing underneath. We don't expose any ways to control this buffering behaviour. This is certainly something we're looking to expose on Android in the future, but on Windows we haven't found any ways to control this.
     
  6. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    So LAV Filters only works when using the DirectShow API (in Platform Specific > Windows). This is great for comparability, but it isn't a fast way to play back high resolution content as it's not GPU accelerated. For the best performance you should use the Media Foundation API which does not use FFMPEG/LAV Filters.

    It's difficult to say what could be causing your issue. It could be something with the way the video is encoded is causing a problem, or perhaps garbage generation. It could also be GPU Drivers. Make sure you don't have the "Low Latency" option selected (in Platform Specific > Windows). Are you able to do some profiling in editor / device? Are you able to make a recording showing the performance drop, ideally with the VR headset debug performance overlay enabled? Have you tried with a lower resolution video to see if that helps? We'll need more information to be able to look into this properly. Please post the issue to our GitHub issues page so that our support team can investigate:
    https://github.com/RenderHeads/UnityPlugin-AVProVideo/issues/61

    Thanks,
     
  7. apalasthy

    apalasthy

    Joined:
    Nov 13, 2019
    Posts:
    8
    Thanks for the answer.
    It seems to work both on macOS and Windows - but only tested on one device for each.
    If this won't be stable enough one way I see to control the buffering is to use OpenVideoFromBuffer and AddChunkToVideoBuffer methods, but they are for UWP only.
    Is there any timeline for adding this to other platforms as well? Or is it also out of your control?

    PS: We are buying your plugin anyways. Keep up the good job!
     
  8. unity_BTx7JZ418quE1Q

    unity_BTx7JZ418quE1Q

    Joined:
    Feb 26, 2020
    Posts:
    2
    Hi,
    +1 to extend this feature (AudioOutput) to iOS & Android!
     
  9. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    It's supported on iOS...just not Android yet
     
  10. RemyVrcomposers

    RemyVrcomposers

    Joined:
    Jun 5, 2020
    Posts:
    1
    Hi RenderHeads,

    We've been using AVPro for a while now with great success. Last year there was talk of a complete new version of AVPro video (2.0) that would bring more features and improvements. I haven't really been able to find any more information about this since, is this still in the works?
     
  11. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Yes you can download the 2.0 beta version from our website or from GitHub here:
    https://github.com/RenderHeads/UnityPlugin-AVProVideo/releases

    It's still in development, and we don't yet have a release date yet, but we will be releasing beta updates every few weeks.

    Thanks,
     
  12. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Yeah OpenVideoFromBuffer() etc is just a way to play videos from memory in UWP. I believe that the entire video has to be submitted via multiple calls to AddChunkToVideoBuffer() before it can be played...

    It's something we're looking into, but it isn't high on the priority list right now. If you like you could submit it as an enhancement suggestion on our GitHub issues that we can keep track of it, and see if there are other people that also want this feature:
    https://github.com/RenderHeads/UnityPlugin-AVProVideo/issues/new/choose

    Thanks,
     
  13. damianpower

    damianpower

    Joined:
    Oct 31, 2019
    Posts:
    1
    Hi,

    Do you have any advice on switching between multiple video streams while maintaining the position. When I switch from video A to video B, I want to continue on video B from the same time position that I left video A. The tricky thing is that the switch needs to appear to be instantaneous. I'm trying a double-buffering player approach, using ReadyToPlay and FinishedSeeking events, but still struggling with making it work.

    Any guidance would be welcome.

    Thanks,

    Damian
     
  14. jason_yak

    jason_yak

    Joined:
    Aug 25, 2016
    Posts:
    531
    Hi there,

    We seem to have developed a crash issue with our app running on Android 7. The issue is not happening on Android 6, I'm not sure if this affects other OS versions or not. Some info to help narrow down the issue:
    - we were using AVPro 1.10.2 when we got the issue, have since updated to the latest 1.11.3 and the crash behaviour is exactly the same
    - the device is a Samsung S2 Tab running latest Android 7 update available for the device
    - we're using Unity 2019.4.2 on macOS Catalina, compiling for Android api range 21 to 28, have latest Android SDK updates for these api levels installed

    So on the Android 6 device running the same build, we play a vid that's worked for years and it plays and logs this correctly:
    [AVProVideo] Creating player 0
    [AVProVideo] Initialising AVPro Video (script v1.11.3 plugin v1.11.3) on Adreno (TM) 330/OpenGL ES 3.0 V@140.0 AU@ (GIT@Ia10634f51b) (MT True) on Android Android OS 6.0.1 / API-23 (MMB29M/G900IDVU1CQD1)
    [AVProVideo] Opening jar:file:///data/app/co.yakand.udp.agentaapuzzleindisguise-1/base.apk!/assets/EN/c1_Intro_ns@SD.mp4 (offset 0) with API MediaPlayer

    But on our Android 7 device it crashes with this log:
    AndroidJavaException: java.lang.VerifyError: Verifier rejected class com.RenderHeads.AVProVideo.AVProMobileVideo: com.RenderHeads.AVProVideo.AVProVideoPlayer com.RenderHeads.AVProVideo.AVProMobileVideo.CreatePlayer(int, boolean, boolean, int, boolean) failed to verify: com.RenderHeads.AVProVideo.AVProVideoPlayer com.RenderHeads.AVProVideo.AVProMobileVideo.CreatePlayer(int, boolean, boolean, int, boolean): [0x2F] cannot access instance field boolean com.RenderHeads.AVProVideo.AVProVideoPlayer.m_bShowPosterFrame from object of type Unresolved Reference: com.RenderHeads.AVProVideo.AVProVideoExoPlayer (declaration of 'com.RenderHeads.AVProVideo.AVProMobileVideo' appears in /data/app/co.yakand.udp.agentaapuzzleindisguise-2/base.apk)

    Any ideas what we should try? or let me know if there's anything we can do to help debug this issue.

    Thanks,

    Jason
     
  15. jason_yak

    jason_yak

    Joined:
    Aug 25, 2016
    Posts:
    531
    I've done some more snooping into what's happening and found some interesting results. So we have a version of our game live on Google Play, when I run this build on the Android 7 device this build runs totally fine. I checked and this build was using v1.10.2 of AVPro at the time it was compiled and it was using Unity 2019.3.9. So this still runs without issue. This morning I was also using v1.10.2 in Unity 2019.4.2 and it doesn't work. I don't think the Android SDK has changed on my machine (at least for Android 7) since the build was used to compile the working live version. So basically Unity is the only thing that's changed. I could roll back the project and use 2019.3.9 if we have to, it could help further narrow down where the issue has started. But let me know if this rings any bells with you on what could be happening? thanks!!
     
  16. RobertCoomber

    RobertCoomber

    Joined:
    Mar 25, 2017
    Posts:
    15
    Thanks @NathanRH, I've posted an issue to the gihub issues page here .
     
    NathanRH likes this.
  17. Juanola_

    Juanola_

    Joined:
    Sep 29, 2015
    Posts:
    38
    Hi! Im loving AvProVideo, using it in Android and iOS.

    I was wondering, is it possible to switch video quality while streaming? Is this done automatically?

    I am quite new in Video Streaming. I read that HLS solution is the way to go, right?
     
  18. iLyxa3D

    iLyxa3D

    Joined:
    Sep 25, 2013
    Posts:
    31
    Are there any other ways to load and play external video file besides streaming, on WebGL platform?
    Can I download it, save it local somewhere in webgl and then load to the player?

    p.s. I have few video files in 1 assetbundle file on the server, and I can download it and extract, but do not know what to do with this video files, how to save, load and play it.
     
    Last edited: Jul 28, 2020
  19. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Hmm... well, if you can generate a URL for the file downloaded to the indexedDB then you should be able to play it. I'm not 100% familiar with indexedDB, but I believe that is where the browser stores file downloaded in the local session (Application.persistantDataPath). URL.createObjectURL() must be used to create a valid URL for the media. See: http://www.misfitgeek.com/html5-off-line-storing-and-retrieving-videos-with-indexeddb/

    Thanks,
     
  20. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    HLS and MPEG-DASH are two adaptive (switching video quality) streaming methods. Both are good and both switch quality based on the available bandwidth. HLS is a bit better supported so I would recommend that.

    Thanks,
     
  21. immersivecast

    immersivecast

    Joined:
    Jul 29, 2020
    Posts:
    1
    i was bought your product AV pro for android.
    before used trial version.
    now, i paid $150. but dont removed watermark.
    please help solusion.
     
  22. jason_yak

    jason_yak

    Joined:
    Aug 25, 2016
    Posts:
    531
    Hey @NathanRH, I didn't realise you had a place over on github for issues to be listed. I've just reposted my couple of posts above as an issue on github here, thanks.
     
    NathanRH likes this.
  23. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Hi All,

    AVPro Video version 1.11.4 has just been released!

    You can find the updated version on the Asset Store and the free trial version on our website.

    Changes include:

    macOS / iOS / tvOS
    • Improved support for external playback
    Android
    • Improved support for removing ExoPlayer library files
    Windows
    • Improved A/V sync and performance of Facebook Audio 360
    • Fixed issue where DirectShow video with a height > 1080 would not play back by falling back to a supported filter (like LAV)
    WebGL
    • Dash.js path now also check for .mpd extension to allow non-DASH media to play

    Thanks to everyone that reported bugs that were fixed in this release :)

    Please report any issues here on the forum, or preferably to our Github Issue tracker

    Thanks,
     
  24. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    The watermark will still appear in the editor, because editor is running the Windows/macOS plugin. But once you deploy to Android there should be no watermark.

    Thanks,
     
  25. iLyxa3D

    iLyxa3D

    Joined:
    Sep 25, 2013
    Posts:
    31
    Thanks!
    But JavaScript "URL.createObjectURL(videoFile);" is deprecated. Looking for another solution for playing downloaded video file in WebGL..

    Found this https://github.com/RenderHeads/UnityPlugin-AVProVideo/issues/222 (local URL with local port listener C#), but it lead to delays on video load in AVPro MediaPlayer. -- update: HttpListener (Net.Sockets) not supported on Unity WebGL.

    Looks like there are not options to play downloaded video file in Unity WebGL :(
     
    Last edited: Jul 30, 2020
  26. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Is true that it's deprecated? I couldn't find mention of this.

    How about
    https://javascript.info/blob

    This will give you a URL in format "blob:<origin>/<uuid" which can be used to load locally stored data.

    Otherwise I don't know.
     
  27. blevok

    blevok

    Joined:
    Feb 16, 2017
    Posts:
    75
    Hi, i have a question about errors and events.

    I made a text file and named it FakeVideo.mp4 and then tried to open it, but it didn't trigger an error event, only a log entry, so my code for errors didn't execute.

    In the OpenVideoFromFile function in MediaPlayer.cs, i see there are 3 failure cases handled there, (File not found, Failed to open, No file path specified), and they only cause a log entry.

    I can get around this by calling my error handling code from OpenVideoFromFile, but then i have to remember to make those changes again every time i update AVPro. Could these issues get included in the error event? Or is there a reason not to?

    Thanks
     
  28. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    If the error is logged, then it should trigger an error. Which platforms is this on?
     
  29. blevok

    blevok

    Joined:
    Feb 16, 2017
    Posts:
    75
    Android and windows.

    There is an error in the console/log from the debug statements in OpenVideoFromFile, but no actual error event from the media player. The code to register the event just isn't there.
     
  30. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    I've tested on Windows and it works as I would expect. Try running the "02_Demo_imGui" demo scene - as it registers for and shows the events in the GUI. If you point it at a text file with .mp4 extension, it generates an error event.
     
  31. iLyxa3D

    iLyxa3D

    Joined:
    Sep 25, 2013
    Posts:
    31

    JS error appear if this function is inside plugins\weggl\file.jslib:
    Code (JavaScript):
    1. Uncaught TypeError: Failed to execute 'createObjectURL' on 'URL': No function was found that matched the signature provided.
    But if this function is outside Unity, for example in external JS file, connected to the webgl page, we can call it from Unity by name and proceed URL.createObjectURL as normal!

    Bacause this method marked as experimental, and browser support of it is not official. Also, we need to create Blob object manualy from bytes array from IndexedDB object, because videoFile = event.target.result object not supported by 'createObjectURL'.

    Code (JavaScript):
    1. let blob = new Blob(videoFile.contents, {type: 'video/mp4'});
    And, this is still not working..

    Code (JavaScript):
    1. [AVProVideo] Opening blob:http://localhost:63717/1b77d65e-378c-485d-b797-71d4c7f8c4c8
    2. Error: video not supported (errorcode=4) color:red;
    ..or lead to browser page crash if video file is big.
     
  32. blevok

    blevok

    Joined:
    Feb 16, 2017
    Posts:
    75
    Okay i tried the demo scene, and it does work there, but it's weird.
    I deleted the demo videos, so when i start the demo scene, there is a "file not found error", but no event callback.
    Then when i manually load the fake video, is does generate an event, plus the error log. Here's a pic of those two actions.


    But in my scene, when i close my intro video and open the fake file, either manually or using my UI, i only get the logs, and no error event callback.


    Here is my code for the callbacks. What i'm trying to do is close a loading icon when the new video starts playing or errors. FirstFrameReady and other events work fine, but the error case just doesn't fire. However it does work in other situations, like when it fails to load a web stream.
    Code (CSharp):
    1.     public void OnVideoEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, RenderHeads.Media.AVProVideo.ErrorCode errorCode)
    2.     {
    3.         switch (et)
    4.         {
    5.             case MediaPlayerEvent.EventType.FirstFrameReady:
    6.                 LoadingIcon.gameObject.SetActive(false);
    7.                 break;
    8.  
    9.             case MediaPlayerEvent.EventType.Error:
    10.                 LoadingIcon.gameObject.SetActive(false);
    11.                 Invoke("VrShowError", 1);
    12.                 Invoke("VrHideError", 4);
    13.                 closeVideo();
    14.                 break;
    15.         }
    16.         Debug.Log("Event: " + et.ToString());
    17.     }
     

    Attached Files:

  33. tontonpiero

    tontonpiero

    Joined:
    Dec 28, 2013
    Posts:
    6
    Hi, I got an issue on iOS and MacOS where videos are not resuming OnEnable.
    It seems that property 'm_WasPlayingOnPause' is always false in MediaPlayer.
    I manage to fix it by changing few lines of code in MediaPlayer.cs :

    Previous code
    Code (CSharp):
    1. public void Pause()
    2. {
    3.     if (m_Control != null && m_Control.IsPlaying())
    4.     {
    5.         m_Control.Pause();
    6.     }
    7.     m_WasPlayingOnPause = false;
    8. #if AVPROVIDEO_BETA_SUPPORT_TIMESCALE
    9.     _timeScaleIsControlling = false;
    10. #endif
    11. }
    My changes
    Code (CSharp):
    1. public void Pause()
    2. {
    3.     if (m_Control != null)
    4.     {
    5.         m_WasPlayingOnPause = m_Control.IsPlaying();
    6.         if (m_Control.IsPlaying())
    7.         {
    8.             m_Control.Pause();
    9.         }
    10.     }
    11. #if AVPROVIDEO_BETA_SUPPORT_TIMESCALE
    12.     _timeScaleIsControlling = false;
    13. #endif
    14. }
     
    Last edited: Aug 5, 2020
  34. jsleek

    jsleek

    Joined:
    Oct 3, 2014
    Posts:
    61
    I'm getting this error when trying to stream via URL on iOS. It works on desktop, and it works on Android no problem (even with standard Unity Video Player, no plugin). I downloaded AVPro Video plugin in an attempt to get this working on iOS, but no luck so far.

    Player 534: Failed to play movie: https://nl-at-media-dev.s3.eu-west-2.amazonaws.com/_static/DECISION+POINT+VR/360/360+SQ1+DP+.mp4; error: The media data could not be decoded. It may be damaged.

    [AVProVideo] Error: Loading failed. File not found, codec not supported, video resolution too high or insufficient system resources.

    RenderHeads.Media.AVProVideo.MediaPlayer:UpdateErrors()

    RenderHeads.Media.AVProVideo.MediaPlayer:Update()

    Do you know what im doing wrong?
    Any help would be much appreciated!

    I've attached the codec information in a picture. Video is only 23.9MB

    Edit 1: I encoded with the faststart video header via ffmpeg as per your HTTP Progressive Streaming instructions in the user manual, but still get the same error, so it must be something else, and I have no clue.
     

    Attached Files:

    Last edited: Aug 7, 2020
  35. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Hi,

    The "Main Level 6.0" is too high for iOS. If you re-encode it at "High Level 5.2" then it will work fine. Unfortunately this is a limit of the platform.

    I hope that helps.

    Thanks,
     
  36. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Thanks for suggesting this improvement! We'll take a look and hopefully include it in the next release.
     
  37. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Did you have any luck in the end with this?
     
  38. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
  39. s0phist

    s0phist

    Joined:
    Mar 30, 2011
    Posts:
    40
    What does this mean? I couldn't find any reference to external playback in the manual.
     
  40. P3ndragonLLC

    P3ndragonLLC

    Joined:
    Sep 19, 2019
    Posts:
    99
    Problem description:

    Hello, Everything is working great, but I'm trying to attach a visualizer to the audiosource when playing an MP3. Is there something like that (AudioSource) available when I load a Mp3 via the source path?

    System Information:

    AVPro Video: plugin v1.11.1 scripts v1.11.2
    Target Platform: Standalone
    Unity: v2019.4.0f1 WindowsEditor
    OS: Desktop - To Be Filled By O.E.M. (To Be Filled By O.E.M.) - Windows 10 (10.0.0) 64bit - English
    CPU: AMD FX(tm)-8350 Eight-Core Processor - 8 threads - 32737KB
    GPU: AMD Radeon (TM) R9 380 Series - ATI - Direct3D 11.0 [level 11.1] - 4071KB - 16384
     
  41. jsleek

    jsleek

    Joined:
    Oct 3, 2014
    Posts:
    61

    Where do you see this 'Main Level 6.0' property?

    And how do I re-encode it to 'High level 5.2' ?

    I use ffmpeg if that helps.

    Cheers!


    EDIT 1:


    I've downscaled the video, and it still doesn't work!

    I've attached a picture of the downscaled video's codec info.

    It's gone up from to 23.9MB to 28.9MB. That shouldn't matter right?

    1. I've also attached what I believe to be the '5.2 Level' You are referring to. Can you confirm that this is correct?

    1b. If so, does my new video meet the requirements of this '5.2 Level'.
    1c. If so, how come my video still isn't playing?

    2. Where in Apple's official documentation does it say that it only supports up to Level 5.2? Or did you have to find this out yourself?

    3. Is there any other method of streaming (playing a video via URL, video is hosted on a server) that iOS supports higher resolutions (for 360 VR videos, specifically)?


    Cheers
     

    Attached Files:

    Last edited: Aug 8, 2020
  42. Ervalord

    Ervalord

    Joined:
    Mar 26, 2020
    Posts:
    2
    @NathanRH Hey, like your asset! I have tried V2 and i like it.
    -Can you say if you are going to release v2 this year?
    - If i run v2 trial on my project, can i update it easy to full when you release v2 on assetstore?

    Thx
    /Ervalord
     
  43. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Yes it will be released this year. There are already beta version available:
    https://github.com/RenderHeads/UnityPlugin-AVProVideo/releases

    The beta version is in flux, so there can be breaking changes between releases. Besides that it will be easy to upgrade once the full version becomes available. Each beta version should become more stable. We're currently on Beta 3, and I think there will only be 1 or 2 more Beta's before the final release.

    Thanks,
     
    Ervalord likes this.
  44. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Whilst video playback over AirPlay worked we didn’t directly support it. We have now exposed a few settings so that playback over AirPlay can be better controlled.
     
  45. MorrisRH

    MorrisRH

    Joined:
    Nov 28, 2016
    Posts:
    8
    Apologies, seems blaming the level issue was a spot of confusion our end.
    After a bit of experimentation I can only conclude that the maximum supported video size for h264 is 4096x4096. I've tried to find some official information to corroborate this but have been unable to.

    I've been able to scale your movie to 4096x2048 and play it back successfully with a level of 6, but higher resolutions fail to play. This is the ffmpeg command I used:
    ffmpeg -i 360+SQ1+DP+.mp4 -c:v libx264 -crf 18 -profile:v high -level 6.0 -vf format=yuv420p,scale=4096:-1 -preset slower 360+SQ1+DP+x264-high6.0-4096.mp4

    The error output from the underlying system was the following:
    Error Domain=AVFoundationErrorDomain Code=-11821 "Cannot Decode" UserInfo={NSLocalizedFailureReason=The media data could not be decoded. It may be damaged., NSLocalizedDescription=Cannot Decode, NSUnderlyingError=0x2828cbcf0 {Error Domain=NSOSStatusErrorDomain Code=-12911 "(null)"}}

    And the underlying error of -12911 kVTVideoDecoderMalfunctionErr so basically the hardware cannot decode it.

    However, I did re-encode your video as h265 keeping the full resolution and it played back fine so if keeping the resolution is important this would be the way to go:
    ffmpeg -i 360+SQ1+DP+.mp4 -c:v libx265 -crf 20 -c:a copy -tag:v hvc1 360+SQ1+DP+HEVC.mp4
     
    jsleek likes this.
  46. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Hi,

    Yes this feature is currently available on Windows, UWP, macOS, iOS and tvOS but not Android.

    You need to go to Platform Specific section of the MediaPlayer component and change the Audio Output mode from System to Unity. Then you need to attach an AudioOutput component and set it up to use that MediaPlayer. You should then get audio sent to the AudioSource which you can read via the standard OnAudioFilterRead()

    I hope that helps.

    Thanks,
     
    P3ndragonLLC likes this.
  47. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Hi,

    It might be best to post this on our Github issues so that our support team can investigate.
    https://github.com/RenderHeads/UnityPlugin-AVProVideo/issues/new/choose

    At this point I can only think that it might be a problem with calling the video API from the event callback - perhaps it would be best to flag it in the event and then do the actual API calls via Update(). But that's just a guess..

    Thanks,
     
  48. ahmad_a

    ahmad_a

    Joined:
    Nov 27, 2018
    Posts:
    1
    Hi,

    can AVPro support hls ,while also passing a authentication header with the request ?
     
  49. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Yes we support this on iOS and macOS.
    Support for Windows and Android is coming in version 2.0 which is currently in beta.

    Thanks,
     
    P3ndragonLLC likes this.
  50. hectorCharter

    hectorCharter

    Joined:
    Aug 10, 2020
    Posts:
    2
    I am using The trial version of AVPro, and using wowza streaming server. Initially, I had everything working with a stream of 2k @ 30fps. When I switched to 4k @ 30fps, i receive the following error:

    [AVProVideo] Error: Loading failed. File not found, codec not supported, video resolution too high or insufficient system resources.
    UnityEngine.Debug:LogError(Object)
    RenderHeads.Media.AVProVideo.MediaPlayer:UpdateErrors() (at Assets/Libs/AVProVideo/Scripts/Components/MediaPlayer.cs:2111)
    RenderHeads.Media.AVProVideo.MediaPlayer:Update() (at Assets/Libs/AVProVideo/Scripts/Components/MediaPlayer.cs:1412)


    If I play the video as a direct reference, it works. any idea?

    My graphics card is a RTX Quadro 6000.