Search Unity

[Released] AVPro Video - complete video playback solution

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

  1. VadimWG

    VadimWG

    Joined:
    Jul 22, 2021
    Posts:
    2
    Yeah, it turned out to be an issue with mask transparency, which got damaged because of the platform-specific compression options. Thank you :)
     
    Chris-RH likes this.
  2. avclubvids

    avclubvids

    Joined:
    Jan 6, 2015
    Posts:
    27
    I've been searching for one and have not found it - is there a guide for setting up a video with 4-channel 1st-order ambisonic (Ambix) audio to play back correctly from AV Pro using the Oculus Spatializer? I can get it working with the audio file playing separately from AV Pro, but sync is an issue. It's not clear how this should be accomplished with pure AV Pro.
     
  3. avclubvids

    avclubvids

    Joined:
    Jan 6, 2015
    Posts:
    27
    Ok, I've done a ton of testing and researching since posting the above, here's more specific info and questions:
    • The AVP manual says to use MKV containers for Ambix playback, but then AVP complains: "
      Warning: MKV file detected. Android doesn't support MKV files until Android 5.0.
      " I am targeting Android 10.0 API level 29 and the video does play on a Quest 2 but not in the OSX Unity Editor and the audio is head-locked – it does not pan with rotation.
    • If I instead use a .mov (h265 with .mov extension, 4-ch 1st Order Ambix embedded) then the file plays in both Unity and Quest 2, but the audio is again head-locked, it does not pan with rotation.
    • I am unsure if I should be using any of the following components, there are various Meta/Oculus guides that insist they are required:
    • Audio Output in the MediaPlayer is set to Facebook Audio 360 with Channel Mode set to AMBIX_4. I would love to use the Focus setting, but right now all audio is head-locked so it does not seem to do anything.
    • On the Audio Source component, I have noticed that "Spatialize" gets checked automatically when you enter Play mode, which the Unity documentation says is a no-no:
      Disable the Spatialize option. When you play an ambisonic audio clip, it is automatically decoded through the project’s selected ambisonic audio decoder. The decoder converts the clip from ambisonic format to the project’s selected speaker format. It also already handles spatialization as a part of this decoding operation, based on the orientation of the audio source and audio listener
      . Is this a bug, or is it correct behavior?
    • In my project, the Audio Output component shows 2 speakers, but your docs show 4 or 8 – where is this configured?
    • On the Audio Source component, should the Spatial Blend be set to 3D?
    That's where I have managed to get it - the audio and video play on Quest 2 but the channels are hard-panned and head-locked so I am not getting any correct spatialization out of my Ambix audio.
     
  4. Chris-RH

    Chris-RH

    Joined:
    Apr 21, 2022
    Posts:
    223
    Hi @avclubvids,

    FB360 is Windows desktop, UWP and Android only. .MKV won't play in macOS/iOS, hence the video not playing in your editor.
    The video files must be using a MKV file container and audio must be using the Opus codec encoded with Facebook Audio 360 tools.
    I would start with this. You obviously won't be able to test the file in OSX editor before you put it on your Quest2.
    Remember to ensure that the "Head Transform" field in the Audio section of the Mediaplayer component is set. This is usually the main camera.
    I believe that you shouldn't need audio source/audio output components. This is just for when Audio Output in the mediaplayer component is set to Unity. Audio Output should be set to Facebook Audio 360.

    I'm not sure about the technical details of the rest of your question. The dev team is away at the moment, but I'll see if I can get some more answers for you next week.

    Kind regards,
    Chris
     
  5. avclubvids

    avclubvids

    Joined:
    Jan 6, 2015
    Posts:
    27
  6. avclubvids

    avclubvids

    Joined:
    Jan 6, 2015
    Posts:
    27
    [EDIT]: I was accidentally rendering to the "Rift: Oculus Video" setting. The recommended "FB360 Matroska" setting generates a video that will not play in Quest 2.

    The FB360 encoder linked above works, but AVP does not play back the resulting media in a headset correctly:
    • 1OA ambix + binaural stereo = AVP plays the head-locked binaural
    • 2OA ambix + binaural stereo = AVP plays the head-locked binaural
    • 1OA ambix = AVP plays the 4 channels hard-panned to one ear or the other and head-locked
    • 2OA ambix = AVP plays the 9 channels hard-panned to one ear or the other and head-locked
    • Focus does not work on any media
    • Nothing changes with the above if I change the Head or Focus transforms
    • FB360 reports both 1OA and 2OA as "TBE_6_2" (it generates a text log file after encoding) but I get the above playback results from setting TBE_6_2 or AMBIX_4 or AMBIX_9
    Net result - I can only get head-locked audio in a headset. Do you have any sample media that definitely works??
     
    Last edited: May 15, 2023
  7. avclubvids

    avclubvids

    Joined:
    Jan 6, 2015
    Posts:
    27
    Ok, I've done some more experimentation after consulting a few spatial audio folks and I believe that I have isolated the issue to be a playback problem in AV Pro vs. an encoding issue. I tried the ffmpeg -> opus -> mkv path using these commands:

    ffmpeg -i audio.wav -c:a libopus -mapping_family 255 audio.opus
    ffmpeg -i audio.opus -i video.mp4 -c:a copy -c:v copy audio_video.mkv

    I made an .mkv with a 1OA 4-channel Ambix source and one with a 2OA 9-channel Ambix, and confirmed that the 9-channel does not play audio or video on a Quest2, which aligns with anecdotal "Unity only does 8 channels of audio on Android" info I've seen. This also aligns with the issue mentioned above wherein the "FB360 Matroska" encoding does not play in a Quest2. The 4-channel does work in the headset, but it is head-locked.

    So TL;DR, it appears that ambisonic audio playback in AV Pro is currently not working on Quest2, if not also not working on other platforms.

    I can prep an .apk if someone would like to see/hear it for themselves.
     
  8. Chris-RH

    Chris-RH

    Joined:
    Apr 21, 2022
    Posts:
    223
    Hi @avclubvids,

    That's really interesting, thanks.
    You can email unitysupport@renderheads.com. it would be helpful to include things like unity version and mediaplayer settings

    Kind regards,
    Chris
     
  9. avclubvids

    avclubvids

    Joined:
    Jan 6, 2015
    Posts:
    27
    Thanks Chris, I'll make a test .apk with a 1OA .mkv and email a link to you soon!
     
    Chris-RH likes this.
  10. avclubvids

    avclubvids

    Joined:
    Jan 6, 2015
    Posts:
    27
    @Chris-RH I just emailed unitysupport@renderheads.com a download link to some source files and a compiled .apk with various component and project settings detailed in the email, I got an automated response so just posting here in case it gets stuck in a filter.
     
  11. Chris-RH

    Chris-RH

    Joined:
    Apr 21, 2022
    Posts:
    223
    Hi @avclubvids,

    Thanks, we have received your email.

    Kind regards,
    Chris
     
  12. rosssssss

    rosssssss

    Joined:
    Jan 27, 2017
    Posts:
    70
    Hello - is it possible to play back m3u8 files from local storage on macOS ?
     
  13. kancsa

    kancsa

    Joined:
    Feb 2, 2022
    Posts:
    9
    Hi,
    Just wondering if there's any new ETA on AVPro 3.0, since the estimate on your page is January 2023.
    If you don't want to share it yet that's fine, I'm just evaluating if it's worth it to buy 2.0 now.
     
  14. Chris-RH

    Chris-RH

    Joined:
    Apr 21, 2022
    Posts:
    223
    Hi @rosssssss,

    Not yet, but we'd like to add support for this at a later date.

    Kind regards,
    Chris
     
  15. Chris-RH

    Chris-RH

    Joined:
    Apr 21, 2022
    Posts:
    223
    Hi @pablodawson1

    Yes, that was indeed our goal, but unfortunately the team has been very busy with external projects. We are currently looking at 3-6 months. There will be a discounted upgrade path between 2.x and 3.x.

    Kind regards,
    Chris
     
  16. Ste-RH

    Ste-RH

    Joined:
    May 17, 2019
    Posts:
    145
    AVPro Video version 2.8.0 has just been released!

    DOWNLOAD THE FREE TRIAL VERSION HERE

    Changes include:

    General
    • Fixes
      • #1527 Fixed issue when using overrideFrameRate parameter of GetCurrentTimeFrames()
    Android
    • Changes
      • Upgraded ExoPlayer from 2.18.2 to 2.18.7
    • Fixes
      • #1546 Fixed an issue that blocked audio playback via Unity when using Unity 2022.2.x
    macOS/iOS/tvOS
    • Improvements
      • #1033 Added support for programmatically changing the audio mode after the player has been created
    • Fixes
      • #1492 Fixed issue with audio desynchronising when the player is paused for a short period of time
      • #1544 Fixed issue with HEVC 10bit output not being visible
    macOS
    • Fixes
      • Fixed issue with HAP playback when reported dimensions are not multiples of 4
    iOS
    • Fixes
      • #1508 Fixed issue with Unity's audio not resuming when moving from background to foreground whilst a media player instance is playing
    Windows
    • Changes
      • Improved D3D11 GPU resource locking for better frame sync in Unity
      • Removed some legacy WinRT code
    • Fixes
      • Fixed issue with local HLS file playback not working in DirectShow and WinRT
      • Disabled GPU resource locking in WinRT due to MediaFoundation bug
      • Fixed WinRT crash on exit if still playing

    Download Links

    Editions

    On the Unity Asset Store we've made several editions of AVPro Video available so you can pick the one that's best for your project:

    Core Edition
    Core Windows Edition
    Core Android Edition
    Core macOS/iOS/tvOS Edition
    Ultra Edition
    • Enterprise Edition (contact us for multi-site licensing / support options)

    You can read this page to learn more about the features, pricing and upgrades for the different editions.

    DOWNLOAD THE FREE TRIAL VERSION HERE

    Thanks to everyone who reported bugs or feature requests! We're looking forward continuing to support this product into the future and adding more features.

    Please report any issues to our Github Issues
     
    Toshiza likes this.
  17. rosssssss

    rosssssss

    Joined:
    Jan 27, 2017
    Posts:
    70
    Hello - does AVPro provide any kind of available-bandwidth measure? So what we'd like to achieve is if bandwidth drops while a stream is playing (and there's no lower resolution available in the HLS) - to bring up a message saying "you don't have enough bandwidth to play this" or something.
    Or is the best way to do that just to check how often it is stalling?
    Thanks
     
  18. Chris-RH

    Chris-RH

    Joined:
    Apr 21, 2022
    Posts:
    223
  19. rosssssss

    rosssssss

    Joined:
    Jan 27, 2017
    Posts:
    70
    Hello - I'm hitting this build error when trying to build to IOS - any clues why this might be? Thanks -

    Code (CSharp):
    1.  
    2. Undefined symbols for architecture arm64:
    3.   "_AVPPlayerSetPlayerSettings", referenced from:
    4.       _AppleMediaPlayer_Update_m0E32E91A567FC22330A18847EC6D6027F5B52111 in AVProVideo.Runtime1.o
    5.       _Native_AVPPlayerSetPlayerSettings_m0752A468610C84790F62C36112F96CD88CE1A913 in AVProVideo.Runtime1.o
    6.       _AppleMediaPlayer_AudioConfigurationChanged_m58E9A71B49BCF1A8F205973ACC7538C3DE61667F in AVProVideo.Runtime1.o
    7.      (maybe you meant: _Native_AVPPlayerSetPlayerSettings_m0752A468610C84790F62C36112F96CD88CE1A913)
     
  20. rosssssss

    rosssssss

    Joined:
    Jan 27, 2017
    Posts:
    70
    Hello again - is there any way to get more specific detail about why a video couldn't play
    currently the error says - "File not found, codec not supported, video resolution too high or insufficient system resources."
    It would be really handy for us to be able to differentiate between when it's a resources problem and when the video is just too high res for this device... thanks
     
  21. Chris-RH

    Chris-RH

    Joined:
    Apr 21, 2022
    Posts:
    223

    @rosssssss,

    hmm, yeah that looks broken. Could you import AVPro into a new project and see what is different?
    Also AVPro version, unity version, Xcode version, iOS version etc etc would be helpful please :)

    Kind regards,
    Chris
     
  22. Chris-RH

    Chris-RH

    Joined:
    Apr 21, 2022
    Posts:
    223
    Hi @rosssssss

    We don't get much specific feedback from the Video APIs to be able to give a more helpful error report I'm afraid. Saying that, this is something that we want to improve for AVPro Video version 3.

    If there is a specific video/device that you are having issues with, please let us know.

    Kind regards,
    Chris
     
  23. rosssssss

    rosssssss

    Joined:
    Jan 27, 2017
    Posts:
    70
    Hello - it's
    AVPro 2.7.3
    Unity 2021.18.3
    Xcode 13.2.1

    I'll try importing it into a new project soon. This is quite an old project that we've been developing on PC until now -
    Thanks
     
    Chris-RH likes this.
  24. rosssssss

    rosssssss

    Joined:
    Jan 27, 2017
    Posts:
    70
    Thanks yes - there were legacy AVPro dlls in Assets/Plugins/... removed them and all good.
     
    Chris-RH likes this.
  25. Chris-RH

    Chris-RH

    Joined:
    Apr 21, 2022
    Posts:
    223
    Awesome! Thanks for letting us know @rosssssss :)
     
  26. Ste-RH

    Ste-RH

    Joined:
    May 17, 2019
    Posts:
    145
    AVPro Video version 2.8.1 has just been released!

    DOWNLOAD THE FREE TRIAL VERSION HERE

    Changes include:

    Android
    • Fixes
      • #1510 HLS playback from TS segments fixed
    macOS/iOS/tvOS
    • Fixes
      • Fixed issue with colour reproduction
    iOS
    • Fixes
      • Fixed crash caused by a player instance being deallocated whilst the control centre overlay is being opened
      • #973 Fixed issue with plugin version being reported incorrectly after being archived as part of Xcode's build process
      • #1570 Fixed crash caused by Unity using a released texture resource after the last player has been deallocated

    Download Links


    Editions

    On the Unity Asset Store we've made several editions of AVPro Video available so you can pick the one that's best for your project:

    Core Edition
    Core Windows Edition
    Core Android Edition
    Core macOS/iOS/tvOS Edition
    Ultra Edition
    • Enterprise Edition (contact us for multi-site licensing / support options)

    You can read this page to learn more about the features, pricing and upgrades for the different editions.

    DOWNLOAD THE FREE TRIAL VERSION HERE

    Thanks to everyone who reported bugs or feature requests! We're looking forward continuing to support this product into the future and adding more features.

    Please report any issues to our Github Issues
     
  27. dawnr23

    dawnr23

    Joined:
    Dec 5, 2016
    Posts:
    41
    Hello I am developing on Oculus Quest2 using AVPro VideoPlayer. Please contact us because the error below has occurred.

    1. Play AVPro VideoPlayer.

    2. Call CloseMedia.
    => We are calling with direct code.

    3. Move the scene.
    => At this time, AVPro VideoPlayer is destroyed and the following error occurs.

    Currently, there is an issue where the VR display stops, and this error is thought to be the cause.

    The screen doesn't freeze when this error occurs, but we want to catch it.

    The error log does not occur in UnityEditor, and you can check the error log only through Android Logcat.

    *Since there are 4 AVPro VideoPlayers, the error log is also called 4 times.

    upload_2023-7-7_13-12-35.png


    2023-07-07 13:05:00.703 10721 10744 Error Unity AndroidJavaException: java.lang.UnsatisfiedLinkError: No implementation found for void com.renderheads.AVPro.Video.Manager.nativeDestroy(int) (tried Java_com_renderheads_AVPro_Video_Manager_nativeDestroy and Java_com_renderheads_AVPro_Video_Manager_nativeDestroy__I)
    2023-07-07 13:05:00.703 10721 10744 Error Unity java.lang.UnsatisfiedLinkError: No implementation found for void com.renderheads.AVPro.Video.Manager.nativeDestroy(int) (tried Java_com_renderheads_AVPro_Video_Manager_nativeDestroy and Java_com_renderheads_AVPro_Video_Manager_nativeDestroy__I)
    2023-07-07 13:05:00.703 10721 10744 Error Unity at com.renderheads.AVPro.Video.Manager.nativeDestroy(Native Method)
    2023-07-07 13:05:00.703 10721 10744 Error Unity at com.renderheads.AVPro.Video.Manager.DestroyPlayer(Manager.java:8)
    2023-07-07 13:05:00.703 10721 10744 Error Unity at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
    2023-07-07 13:05:00.703 10721 10744 Error Unity at com.unity3d.player.UnityPlayer.access$300(Unknown Source:0)
    2023-07-07 13:05:00.703 10721 10744 Error Unity at com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source:95)
    2023-07-07 13:05:00.703 10721 10744 Error Unity at android.os.Handler.dispatchMessage(Handler.java:102)
    2023-07-07 13:05:00.703 10721 10744 Error Unity at android.os.Looper.loopOnce(Looper.java:214)
    2023-07-07 13:05:00.703 10721 10744 Error Unity at android.os.Looper.loop(Looper.java:304)
    2023-07-07 13:05:00.703 10721 10744 Error Unity at com.unity3d.player.U[ICODE]
    [/ICODE]
     
  28. Chris-RH

    Chris-RH

    Joined:
    Apr 21, 2022
    Posts:
    223
    Hi @dawnr23 ,

    Hmm, that doesn't look right. Could you post all the details in a new issue on our github to include a full logcat please.

    Kind regards,
    Chris
     
  29. Ste-RH

    Ste-RH

    Joined:
    May 17, 2019
    Posts:
    145
    Just tried to reproduce this here and I get the 'nativeDestroy' function called just as it should be, no errors.

    As Chris says...can you post all details to a github issue (AVPro Video version, Unity version, etc) ? Could you maybe send a simple test project to us that shows the issue? unitysupport@renderheads.com
     
  30. Ste-RH

    Ste-RH

    Joined:
    May 17, 2019
    Posts:
    145
    AVPro Video version 2.8.2 has just been released!

    DOWNLOAD THE FREE TRIAL VERSION HERE

    Changes include:

    General
    • Fixes
      • #1588 Safety check added to AudioOutput script
    • Improvements
      • #1574 ResolveToRenderTexture options can now be adjusted via script
    Android
    • Changes
      • Upgraded ExoPlayer from 2.18.7 to 2.19.0
    Windows
    • Improvements
      • #1506 Improved render threading/resource locking between native and Unity
    • Fixes
      • #1536 Fixed some compatibility issues with Microsoft Basic Render Driver (primarily for UWP)
      • #1579 Fixed D3D11 cached render target references causing resize issues
      • #1583 Fixed DirectShow failing to load a video after loading one with SAR != 1.0
    macOS
    • Fixes
      • Fixed editor crash when closing the editor whilst a video is playing caused by Unity shutting down the graphics context prior to releasing the media player instances

    Download Links


    Editions

    On the Unity Asset Store we've made several editions of AVPro Video available so you can pick the one that's best for your project:

    Core Edition
    Core Windows Edition
    Core Android Edition
    Core macOS/iOS/tvOS Edition
    Ultra Edition
    • Enterprise Edition (contact us for multi-site licensing / support options)

    You can read this page to learn more about the features, pricing and upgrades for the different editions.

    DOWNLOAD THE FREE TRIAL VERSION HERE

    Thanks to everyone who reported bugs or feature requests! We're looking forward continuing to support this product into the future and adding more features.

    Please report any issues to our Github Issues
     
  31. ZakaryOlyarnik

    ZakaryOlyarnik

    Joined:
    Jan 13, 2020
    Posts:
    2
    Hi, I'm having an issue with using the
    MediaPlayer.Control.Seek()
    family of methods on a 4K video.
    Basically I have a 3s video where the first 30 frames are an intro, next 30 a loop, and last 30 an outro, with code that plays the first 60, Seek()s back to 30, and then plays 30-60 a given number of times before continuing with 60-90 and stopping. I know the code is solid because I've been using the code on 2K and smaller videos with no issue. But when running on a 4K video, it reaches frame 60 and sits there for about a second before the Seek() returns and it jumps back to 30. I have tried switching between Seek(), SeekFast(), SeekToFrame(), and SeekToFrameRelative() and all display the exact same behavior, working on 2K with no pause on frame 60 but pausing on a 4K video. A video in between 2K and 4K pauses but not for as long. The 4K video also loads and plays straight through as expected if I set my loop count to 0, further evidence that it's the Seek() causing issues.

    I've read that a different codec might be a solution but we don't have access to the source code that our artists use to encode videos, so there's no way to know what it uses or how to change it.

    Is there anything we could try that we haven't thought of yet? Is this a known issue with 4K videos?
     
  32. Chris-RH

    Chris-RH

    Joined:
    Apr 21, 2022
    Posts:
    223
    Hi @ZakaryOlyarnik,

    Which platform/device is this?
    Are you using the latest version of AVPro Video?

    Kind regards,
    Chris
     
  33. ZakaryOlyarnik

    ZakaryOlyarnik

    Joined:
    Jan 13, 2020
    Posts:
    2
    This is Windows only. Version 2.8.0, I'll look into whether upgrading is feasible in our architecture.
     
  34. phileday

    phileday

    Joined:
    Feb 8, 2014
    Posts:
    123
    Hi, hopefully a quick question. I'm looking for a way to offset audio forward or backward for audio that is out of sync for both Windows and Android. Is this possible in script? I couldn't easily find it in the documentation on it.

    Regards

    Phil
     
    Last edited: Jul 17, 2023
  35. phileday

    phileday

    Joined:
    Feb 8, 2014
    Posts:
    123
    Hi, I've got another question/issue

    I'm trying to build for applab which requires the target SDK to be set to 32. As permissions need removing I've exported and opened in Android Studio. Then I've tried to build there. I get an error:

    Dependency ':exoplayer-core:' requires 'compileSdkVersion' to be set to 33 or higher.
    Compilation target for module ':launcher' is 'android-32'

    Does this mean that I can't build for android-32 with the current release of AVpro for android?

    Ragards

    Phil
     
  36. Chris-RH

    Chris-RH

    Joined:
    Apr 21, 2022
    Posts:
    223
  37. phileday

    phileday

    Joined:
    Feb 8, 2014
    Posts:
    123
    Thanks, I'll give that a go and let you know how I get on :)
     
    Chris-RH likes this.
  38. Ste-RH

    Ste-RH

    Joined:
    May 17, 2019
    Posts:
    145
    AVPro Video version 2.8.3 has just been released!

    DOWNLOAD THE FREE TRIAL VERSION HERE

    Changes include:

    Android
    • Fixes
      • #1420 Fixed obsolete warning when setting the override decryption key from script
      • #1594 Fixed issue with playback of videos with more than 2 channels of audio when using ExoPlayer
    iOS
    • Fixes
      • #1592 Fixed issue with playback being paused when starting at app startup with no splash screen
    Windows
    • Fixes
      • #1506 Fixed issue with DirectShow + remote MP4 video deadlocking with rapid seeking

    Download Links


    Editions

    On the Unity Asset Store we've made several editions of AVPro Video available so you can pick the one that's best for your project:

    Core Edition
    Core Windows Edition
    Core Android Edition
    Core macOS/iOS/tvOS Edition
    Ultra Edition
    • Enterprise Edition (contact us for multi-site licensing / support options)

    You can read this page to learn more about the features, pricing and upgrades for the different editions.

    DOWNLOAD THE FREE TRIAL VERSION HERE

    Thanks to everyone who reported bugs or feature requests! We're looking forward continuing to support this product into the future and adding more features.

    Please report any issues to our Github Issues
     
  39. Foreman_Dev

    Foreman_Dev

    Joined:
    Feb 4, 2018
    Posts:
    83
    Hello! What does the "High Quality" option do (click the thumbnail attachment below) and how would it affect performance on a Meta Quest 2 Android device? Thanks!

    AVPro_HighQuality.png
     
  40. Chris-RH

    Chris-RH

    Joined:
    Apr 21, 2022
    Posts:
    223
    Hi @ForemanDesigns ,

    You should be able to look in the shader to see what it does. I believe it does the conversions/uv mapping at per pixel level rather than per vertex. It will be a hit, but how much depends on the hardware used and what else the project is asking of the graphics hardware.

    Kind regards,
    Chris
     
  41. Foreman_Dev

    Foreman_Dev

    Joined:
    Feb 4, 2018
    Posts:
    83
    Hey Chris, thanks for your response!

    I may need to rely on your expertise as far as understanding what's happening in the shader. In your opinion is there a significant/noticeable visual improvement when using the "High Quality" option? Are there certain situations where this option makes the video look better (such as improving stereoscopic depth fidelity or something)? For me it's hard to tell a difference (but that doesn't mean there isn't one). If this option was created I'd assume it was made for a good reason - so, just trying to understand the specific benefits.

    And do you have a rough idea of how well the "High Quality" option would perform on a mobile Android device such as the Meta Quest 2? (I'm basically just searching for a rough answer on a scale of "it's probably fine as long as you're not seeing a framerate drop" to "never ever use this option on a mobile device".) Thanks!
     
    Last edited: Jul 25, 2023
  42. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    AVPro Video version 2.8.4 has just been released!

    DOWNLOAD THE FREE TRIAL VERSION HERE

    Changes include:

    Android
    • Fixes
      • #1600 Regression fix for exception on null

    Download Links


    Editions

    On the Unity Asset Store we've made several editions of AVPro Video available so you can pick the one that's best for your project:

    Core Edition
    Core Windows Edition
    Core Android Edition
    Core macOS/iOS/tvOS Edition
    Ultra Edition
    • Enterprise Edition (contact us for multi-site licensing / support options)

    You can read this page to learn more about the features, pricing and upgrades for the different editions.

    DOWNLOAD THE FREE TRIAL VERSION HERE

    Thanks to everyone who reported bugs or feature requests! We're looking forward continuing to support this product into the future and adding more features.

    Please report any issues to our Github Issues
     
  43. Dhass158

    Dhass158

    Joined:
    Jul 13, 2023
    Posts:
    1
    Hi,

    I Have looking forward for purchasing the videoplayer for our android project in unity.
    so i have decide to check with demo pack is that work fine.
    there i having a issue after the video loading, that is i have scenario where videos are going to be in the server and directly loading from the server streaming the videos in app.
    there i have a single media player and for rendering the video i have used the displayuGUI.




    I have using 480quality videos and lesser than that
    Here how i load the videos from URL ,like
    private void VideoLoad(string videoURL)
    {
    bool isOpening = mediaPlayer.OpenMedia(new MediaPath(videoURL, MediaPathType.AbsolutePathOrURL), autoPlay: true);

    // Changing the media hints for content loaded via Path
    MediaHints hints = mediaPlayer.FallbackMediaHints;
    hints.stereoPacking = StereoPacking.TopBottom;
    mediaPlayer.FallbackMediaHints = hints;

    }
    so the video will, then i will send the videoURL as respective if the video is going to be change.

    after doing this after some video played the application got hang or crashed so i have debugged using the android logcat profiler.
    Error i am getting is

    2023-07-27 23:02:29.018 14969 14992 Warn System.err at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
    2023-07-28 00:31:24.355 7146 7184 Warn System.err at com.unity3d.player.UnityPlayer.access$500(Unknown Source:0)
    2023-07-28 00:31:24.355 7146 7184 Warn System.err at com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source:126)
    2023-07-28 00:31:24.355 7146 7184 Warn System.err at com.unity3d.player.UnityPlayer$e.run(Unknown Source:20)
    2023-07-28 00:31:24.356 7146 7184 Warn System.err at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
    2023-07-28 00:31:24.356 7146 7184 Warn System.err at com.unity3d.player.UnityPlayer.access$500(Unknown Source:0)
    2023-07-28 00:31:24.356 7146 7184 Warn System.err at com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source:126)
    2023-07-28 00:31:24.356 7146 7184 Warn System.err at com.unity3d.player.UnityPlayer$e.run(Unknown Source:20)
    2023-07-28 00:31:24.360 7146 7184 Warn System.err at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
    2023-07-28 00:31:24.360 7146 7184 Warn System.err at com.unity3d.player.UnityPlayer.access$500(Unknown Source:0)
    2023-07-28 00:31:24.360 7146 7184 Warn System.err at com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source:126)
    2023-07-28 00:31:24.360 7146 7184 Warn System.err at com.unity3d.player.UnityPlayer$e.run(Unknown Source:20)
    2023-07-28 00:31:24.373 7146 7184 Warn System.err at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
    2023-07-28 00:31:24.373 7146 7184 Warn System.err at com.unity3d.player.UnityPlayer.access$500(Unknown Source:0)
    2023-07-28 00:31:24.373 7146 7184 Warn System.err at com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source:126)
    2023-07-28 00:31:24.373 7146 7184 Warn System.err at com.unity3d.player.UnityPlayer$e.run(Unknown Source:20)
    2023-07-28 00:31:24.373 7146 7184 Warn System.err at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
    2023-07-28 00:31:24.373 7146 7184 Warn System.err at com.unity3d.player.UnityPlayer.access$500(Unknown Source:0)
    2023-07-28 00:31:24.374 7146 7184 Warn System.err at com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source:126)


    is anything i am done or need to do some changes
    Any thing you could suggest is Helpful for me
    Please share your thoughts

    Thanks in advance.
     
    Last edited: Jul 27, 2023
  44. Foreman_Dev

    Foreman_Dev

    Joined:
    Feb 4, 2018
    Posts:
    83
    For anyone reading this in the future, I found out that you should definitely enable the "High Quality" option because if you don't, any logo you place at the bottom of your 360 video will become distorted.

    See below - left side is without "High Quality" enabled, and there is jaggedness/distortion. Right side is with "High Quality" enabled, which does not have any distortion.

    @Chris-RH Could a mention of this be added to the AVPro documentation so that people know about the actual effect of this option? I recieved a user report of a jagged logo in my app which was caused by not having "High Quality" enabled - this would definitely be useful for developers to know, and you may want to consider having this option enabled by default so that people aren't caught off-guard by this issue. Thanks!

    Low vs High Quality Shader.png
     
  45. Chris-RH

    Chris-RH

    Joined:
    Apr 21, 2022
    Posts:
    223
    @ForemanDesigns

    That's very interesting, thank you. We'll look into improving documentation around this.

    Kind regards,
    Chris
     
    Foreman_Dev likes this.
  46. avicenteUnity1234

    avicenteUnity1234

    Joined:
    Jun 2, 2023
    Posts:
    12
    Hi,
    I have this warrning: RTMP protocol is not supported by AVPro Video, except when Windows DirectShow is used with an external codec library (eg LAV Filters)

    how could i fix this?

    regards
     
  47. Chris-RH

    Chris-RH

    Joined:
    Apr 21, 2022
    Posts:
    223
    Hi,

    Yes, we only support RTMP on Windows using the Directshow API and LAV filters. More info here: https://www.renderheads.com/content/docs/AVProVideo/articles/feature-streaming.html
    Real-time streaming is not really the focus of this plugin. Most operating systems do not have good native support for them, hence requiring Directshow with LAV filters.
    You need to specify it in the preferred filters section: https://www.renderheads.com/content...media-player.html#platform-specific---windows

    Kind regards,
    Chris
     
  48. shma_unity

    shma_unity

    Joined:
    Jun 13, 2018
    Posts:
    118
    Hello,

    I've been recently using AVPro Video for timeline. Is there an easy way to play video on the uGUIDisplay during edit mode? It would really help with editing the timeline.
     
  49. amz012_utida

    amz012_utida

    Joined:
    Nov 16, 2016
    Posts:
    4
    Hi
    I'm using Core Android Edition to implement a video playback function in my app, but I wanted to use the content of the video as a thumbnail image. The image has a white tint in comparison.
    Isn't it possible to get textures with the same shades as the actual video screen?

    The color space used is linear.
     
  50. phileday

    phileday

    Joined:
    Feb 8, 2014
    Posts:
    123
    Hi

    I've had reports of users of my app that when using the Media Foundation video path that the videos occasionally flicker periodically. This doesn't seem to be a performance issue as it does this on very high end PC's and not on lower end. Also the issue doesn't happen when using WinRT (this works for some but there are limitations for this as well).

    Is there any reason this might be happening. Maybe I've got a setting on that shouldn't be, multithread rendering for example.

    Any ideas

    Phil