Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[Released] AVPro Video - complete video playback solution

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

  1. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Thanks for the detailed report. This isn't an issue that I've seen before... Does your app use the camera at all (eg for AR or something)?

    Thanks,
     
  2. Lintzmaia

    Lintzmaia

    Joined:
    Apr 2, 2016
    Posts:
    3
    Yes, we have a feature that allows our users to take pictures.
    We use Unity's WebCamTexture and WebCamDevice classes to achieve that.
     
  3. unity_-GhUspGFefjG-g

    unity_-GhUspGFefjG-g

    Joined:
    Sep 24, 2019
    Posts:
    2
    Hi,

    We are currently experimenting with the trial version of your AVPro Video plugin for Unity. It looks very promising, however we run into a problem playing 4K videos (4096x2048) in WebGL. When we play the video in Google Chrome, the fps suddenly starts to drop down over time and becomes unplayable (seems like a memory leak).
    In Firefox everything works smoothly. The video is placed within Streaming Asset folder and directly referenced.

    After some investigation the cause of the problem is the MediaPlayer component, after disabling it, the application runs fine. Therefore, if you could provide some tips and tricks on how it is possible to play 4K videos in WebGL without lagging, we would be very grateful.

    Video properties: - H.264 encoding
    - 4096x2048
    - MP4
    - 8 sec length
     
  4. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Hi,

    We've had a look through our plugin code, but we are not doing anything related to webcams etc. It could be a bug in Unity. Perhaps try using a newer version of Unity to see whether they've fixed it?

    Thanks,
     
  5. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Hi, which version of Chrome are you using? Have you tried other browsers besides Firefox and Chrome such as Edge?

    Which version of AVPro Video are you using too?

    I'm not aware of any memory leak issue...If you're just playing back a video then it's not doing much with resources while the video is playing. Or are you seeing the resources/slowdown happening because you're playing and closing the video multiple times?

    If you could post the issue to our GitHub then our support team can take a look:
    https://github.com/RenderHeads/UnityPlugin-AVProVideo/issues

    Thanks,
     
  6. Lintzmaia

    Lintzmaia

    Joined:
    Apr 2, 2016
    Posts:
    3
    So, I added some code to check and request camera permissions on iOS and the problem got fixed.
    I think it was just coincidence that when we added AVPro to our project and the bug got found on our tests.

    Thanks for the support and sorry for the inconvenience
     
    NathanRH likes this.
  7. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Glad you have a solution :)
     
  8. PiAnkh

    PiAnkh

    Joined:
    Apr 20, 2013
    Posts:
    126
    I just upgraded from the trial version and get the same message in a project which worked perfectly with the trial version. I tried AVPRO in a fresh unity project (versions 2018.3 and 2019.3) and got this error on windows even for the included demo project Demo_360StereoSpatialAudio. "Error: Loading failed. File not found, codec not supported, video resolution too high or insufficient system resources."
     
  9. unity_-GhUspGFefjG-g

    unity_-GhUspGFefjG-g

    Joined:
    Sep 24, 2019
    Posts:
    2

    Hi Nathan,

    Thank you for the fast reply. We haven't tried Edge, just Chrome and Firefox.

    Chrome Version: 81.0.4044.138 (64-bit)
    AVPro Video Version: 1.10.3

    The memory leak only occurs if we play 4K video, for Full HD (1920x1080) it works like a charm. It seems like, it just gives up at that high resolution. At the 4K, it starts with 60 fps and second by second it goes down. In the Editor works also fine, I think it is something with the WebGL build. We tried to increase the memory restrictions, scripts, debug everything. In our despair we just switched the video from one of the example scenes (08_Demo_360SphereVideo) from AVPro Video to a 4K. And it produced the same result, so it the problem is not in our code side for sure.

    I will post the issue and hope that it can be fixed. Thanks again for your reply.
     
    NathanRH likes this.
  10. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Hi,

    It sounds like the upgade may have not completed correctly. Try this:
    1) Close Unity
    2) Open Unity
    3) Run the installer immediately

    Hope that solves the issue for you. Otherwise please open up a issue thread here so that your support team can assist you:
    https://github.com/RenderHeads/UnityPlugin-AVProVideo/issues

    Thanks,
     
  11. magglemitch

    magglemitch

    Joined:
    Dec 8, 2013
    Posts:
    110
    Doing a bit of WebVR - trying to get the videos working in WebGL to be viewed in Oculus Browser. Using streaming assets it seems to be working fine - but I'm unable to stream any video in. Is this meant to work or have I got to do any workarounds or something to get this up and running?

    Thanks!
     
  12. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Hi,

    What do you mean by streaming it in? Which formats specifically?
    Don't forget to check the PDF documentation. We talk there about how to get streaming working in WebGL builds as there are some differences between which formats browsers natively support, and we have workarounds using javascript libraries for those.

    Thanks,
     
  13. magglemitch

    magglemitch

    Joined:
    Dec 8, 2013
    Posts:
    110
    Thanks for that - have looked into it and have found a work around that will work without streaming in as everything seems to be working fine from streaming assets. I'm wanting to play 360 videos through WebGL but am noticing some slow performance when playing larger resolution videos. Is there any tips or tricks to help performance when playing larger videos?
     
  14. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,806
    Hmm, I think you posted on the GitHub issues? We will answer there as it seems to be asking the same question. Basically you need to check that your larger resolution video is using hardware decoding (check the Task Manager Performance tab), as some high resolution videos will switch to software decoder if the appropriate hardware is not found. Using a more modern codec like H.265 for over 3840x2160 can also help. WebGL has plenty of overheads and I believe we're already doing the minimum amount to render the video, so I'm not aware of anything else we can do on our side to speed things up...
    Thanks,
     
  15. AndrewRH

    AndrewRH

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

    AVPro Video version 1.11.0 has just been released!

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

    Changes include:

    iOS / macOS / tvOS
    • Added support for routing movie audio through to Unity via the Audio Output component
    • Fixed issue with empty AES Key-Server Auth Token being applied
    • Fixed issue with empty AES Key-Server URL override being applied
    iOS
    • Fixed issue with multi-threaded rendering and the OpenGLES renderer introduced with Unity 2019.2
    • Fixed crash when running on iOS 9
    macOS
    • Fixed trial version rendering issue when using the Metal renderer
    Windows
    • Fixed a bug where a live MPEGTS stream would not play or would only show the first frame
    General
    • Improvements to ApplyToMaterial and ApplyToMesh components
    • Fixed an issue with HTTP header field escaping removing characters

    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,
     
  16. xeye

    xeye

    Joined:
    Jun 25, 2013
    Posts:
    37
    Just grabbed the Windows version. Trying to figure out how to get the skybox working with stereo version - I linked my source file, select Stereo Packing/ Top Bottom, it gives a warning "no updateStereoMaterial component found in scene, UpdateStereoMaterial is required for stereo display".

    I stuck an UpdateStereoMaterial onto the "apply" gameObject, linked the mainCamera and SkyboxVideoSphere in the Camera and Material fields - nothing, still getting my over/under rendered above and below each other. Tried setting that material as a lighting/skybox and it didn't do anything (it wasn't linked in the default sample scene). Have I missed something?

    Alternately, is there a way to render this out to a regular texture so I can hook up to a unity panoramic skybox (or is that going to reduce my FPS if I try that anyway?)

    EDIT: video is 4k, need to maintain 90 FPS
     
  17. Mandelboxed

    Mandelboxed

    Joined:
    Apr 17, 2015
    Posts:
    50
    Is there any way to read the video metadata (of a video streamed over http) in order to correct the orientation of a video using AVPro on Android?
     
  18. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Hi,

    I believe the orientation should be fixed when our components+shader are used to display the video. If you're using your own then you would have to do that manually. You should be able to get the transform needed with these method:

    Code (CSharp):
    1. // The affine transform of the texture as an array of six floats: a, b, c, d, tx, ty.
    2. float[] matrix = mediaPlayer.Info.GetTextureTransform();
    3.  
    4. // Convert matrix to orientation
    5. Orientation ori = Helper.GetOrientation(matrix);
    6.  
    7. // Get the Unity matrix from orientation
    8. Matrix4x4 unityMatrix = Helper.GetMatrixForOrientation(ori);
    I hope this helps.

    Thanks,
     
  19. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Hi,

    You are correct, there is a bug there - those shaders don't currently support stereo. We will update those and send you a copy of the new shaders shortly. In the meantime, if you take a look at the 08_Demo_360SphereVideo demo scene, you will see a way to achieve 360 video playback without using skybox shaders.

    Thanks,
     
  20. AbelChiu

    AbelChiu

    Joined:
    Nov 29, 2016
    Posts:
    12
    Hi!
    I am trying to play videos on android using EXOPlayer,And found that the avopro load all the video in memroy on Start;
    What did I do wrong?
     
  21. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    I'm not sure I understand your question. Is the problem that the media is loading automatically? In which case, simply uncheck the 'auto open' option in the MediaPlayer component.
    Thanks,
     
  22. AbelChiu

    AbelChiu

    Joined:
    Nov 29, 2016
    Posts:
    12
    My problem is when playing the same video the memory is much bigger using EXOPlayer than using MediaPlayer

    It look like EXOPlayer load the whole video
     
  23. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Oh I see... you mean when download a video it seems to buffer the whole video into memory? Well, could you open the issue here (with as much details as possible so we can reproduce it) so our support team can take a look please:
    https://github.com/RenderHeads/UnityPlugin-AVProVideo/issues

    Thanks,
     
  24. AbelChiu

    AbelChiu

    Joined:
    Nov 29, 2016
    Posts:
    12
    NathanRH likes this.
  25. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Hi @xeye ,

    I've attached the fixed skybox shaders here. They should now support stereo. Let me know if you have any problems with them.

    Thanks,
     

    Attached Files:

    xeye likes this.
  26. rolliefingez

    rolliefingez

    Joined:
    Apr 4, 2013
    Posts:
    23
    hi there just checking something just been compiling an ios build and during distribution via xcode I get an error:

    Code signing "AVProVideo.bundle" failed.

    never seen this one before? I have checked the logs but nothing is that clear.

    upload_2020-5-15_2-39-37.png
     
  27. rolliefingez

    rolliefingez

    Joined:
    Apr 4, 2013
    Posts:
    23
    I should add that it built and ran through xcode this is at the point where Im sending for distribution.
     
  28. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Could you tell us which version of AVPro Video you're using?
    I'm sure in the latest version (1.11.0) we fixed the above issue....
    Thanks,
     
  29. allan-oooh

    allan-oooh

    Joined:
    Mar 29, 2019
    Posts:
    53
    I'm seeing an issue where the video player stutters for a couple frames when it starts playing and ReplayKit is running (on iOS devices), the same issue also occur if ReplayKit starts while a video is in the middle of playing.

    The Unity Profiler shows large spike in the MediaPlayer.Update() function. You can see in the screen shot that it ran for 400ms on this frame (and 200ms 2 frames before this one). However when running the Timer Profiler via Instruments I'm unable to detect any significant CPU usage around this frame, so presumably the process is blocked by some other activity.

    Note that all this testing is done after the user has already given permissions via the recording prompt, so there's no funny app background / foreground activity here.

    Any ideas on how to get ReplayKit and AvPro to play nicely together?

    Thanks,

    Allan
     

    Attached Files:

  30. fsdk

    fsdk

    Joined:
    Mar 7, 2017
    Posts:
    2
    Apologies if this has been answered before or if the solution is right in front of me but I haven't found it yet.

    When displaying stereo videos, side by side, I see the ability to display STEREO_LEFT_RIGHT and it all works fine.
    If I have a video decoded RIGHT_LEFT how would I go about doing that?

    Is it possible to decide what eye get what part of the video?
     
  31. MorrisRH

    MorrisRH

    Joined:
    Nov 28, 2016
    Posts:
    8
    That sounds like the audio session is being changed which always incurs a big cost on iOS. Ideally you want it to be configured as part of the apps startup and not whilst it is running. We don't explicitly handle the audio session in the plugin so any changes will be because video playback has started or because ReplayKit has started recording.

    Have you checked 'Prepare iOS for Recording' in the iOS Player Settings?
     
    NathanRH likes this.
  32. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Hi,
    I'm afraid we don't support that. We only support LEFT being on the left or at the top. You would have to manually go in and make some changes to shaders to add support for flipping this arrangement, or ensure your video always has left eye first.

    Thanks,
     
  33. fsdk

    fsdk

    Joined:
    Mar 7, 2017
    Posts:
    2
    Thank you for the reply.

    I have never tinkered with shaders before but luckily it was a quick 5 minutes fix to sort it out.
     
  34. allan-oooh

    allan-oooh

    Joined:
    Mar 29, 2019
    Posts:
    53
    Thanks Morris.

    You are bang on it's an issue with the audio session changing. I had 'Prepare iOS for Recording' enabled already, but it's the native plugin I'm using for ReplayKit that's the source of the problem. Luckily I'm able to modify that to control when the audio session change occurs.
     
  35. wpetillo

    wpetillo

    Joined:
    May 23, 2017
    Posts:
    24
    Sorry if this has been asked already, but forum has gotten long enough to be difficult to search.

    I'm running into an issue where videos lag to the point of being rather jarring. Running some console tests, I found that the videos are seeking for several frames while playing. I found this answer: https://forum.unity.com/threads/rel...playback-solution.385611/page-76#post-5477043, which I understand as being "encode videos so that they play/seek faster", which is not sufficient since it only hopefully makes the problem less bad and I would guess varies in effectiveness by the player's hardware (and I will need to sync events to specific points in the video). In my use-case, it is acceptable to have a short wait time before a video starts playing (in response to the player clicking a button), which could be used to make sure the video has been buffered enough to play smoothly and reliably. I've also noticed that events ReadyToPlay, FirstFrameReady, and FinishedBuffering only get called once when starting the scene, which might be an issue since videos can be replayed (though the lag is present on the first play as well as all the replays).

    For reference see below for controlling code, with comments from testing. Using AVPro version 1.11.0, Unity 5.6.7.f1.

    Code (CSharp):
    1. using RenderHeads.Media.AVProVideo;
    2. using UnityEngine;
    3. using UnityEngine.Events;
    4.  
    5. public class VideoTransitionInterface : MonoBehaviour
    6. {
    7.     MediaPlayer mediaPlayer;
    8.     DisplayUGUI display;
    9.    
    10.     [SerializeField] UnityEvent OnBegin;
    11.     [SerializeField] UnityEvent OnEnd;
    12.    
    13.     private void Awake()
    14.     {
    15.         mediaPlayer = GetComponent<MediaPlayer>();
    16.         display = GetComponent<DisplayUGUI>();
    17.         if (!mediaPlayer) Debug.LogError("Attach a MediaPlayer to " + gameObject);
    18.         if (!display) Debug.LogError("Attach a DisplayGUI to " + gameObject);
    19.        
    20.         mediaPlayer.Events.AddListener(OnVideoEvent);
    21.     }
    22.  
    23.     public void Begin()
    24.     {
    25.         display.enabled = true;
    26.        
    27.         // Workaround to MediaPlayerEvent.EventType.Started not being called reliably
    28.         OnBegin.Invoke();
    29.        
    30.         // *** Insert delay here, but make sure video started buffering, including on replays ***
    31.         mediaPlayer.Play();
    32.     }
    33.    
    34.     // FOR TESTING ONLY
    35.     private void Update()
    36.     {
    37.         if (!display.enabled) return;
    38.  
    39.         // TEST: Only called on entering scene, not when replaying video
    40.         if (mediaPlayer.m_Control.IsBuffering())
    41.             Debug.Log(gameObject + " buffering...");
    42.  
    43.         // TEST: Called for several frames when video playing -> source of lag?
    44.         if (mediaPlayer.m_Control.IsSeeking())
    45.             Debug.Log(gameObject + " seeking...");
    46.     }
    47.    
    48.     private void OnVideoEvent(MediaPlayer mediaPlayer, MediaPlayerEvent.EventType eventType, ErrorCode error)
    49.     {
    50.         switch (eventType)
    51.         {
    52.             // Only called once when scene begins (0.353 seconds)
    53.             case MediaPlayerEvent.EventType.ReadyToPlay:
    54.                 Debug.Log("ReadyToPlay at time " + Time.time);
    55.                 break;
    56.            
    57.             // Only called once when scene begins (0.415 seconds)
    58.             // later than others -> use for delayed start if can be called consistently?
    59.             case MediaPlayerEvent.EventType.FirstFrameReady:
    60.                 Debug.Log("FirstFrameReady at time " + Time.time);
    61.                 break;
    62.            
    63.             // Sometimes does not get called when replaying a video
    64.             // worked around via internal solution (OnBegin)
    65.             case MediaPlayerEvent.EventType.Started:
    66.                 Debug.Log("Started at time " + Time.time);
    67.                 break;
    68.            
    69.             // Only called once when scene begins (0.353 seconds)
    70.             case MediaPlayerEvent.EventType.FinishedBuffering:
    71.                 Debug.Log("FinishedBuffering at time " + Time.time);
    72.                 break;
    73.            
    74.             // Works as expected
    75.             case MediaPlayerEvent.EventType.FinishedPlaying:
    76.                 display.enabled = false;
    77.                 mediaPlayer.Rewind(true);
    78.                 OnEnd.Invoke(); break;
    79.         }
    80.     }
    81. }
     
  36. wpetillo

    wpetillo

    Joined:
    May 23, 2017
    Posts:
    24
    [Edited] wrote an interface script to solve. Using BroadcastDuration to hook into my own systems to trigger events at specific points in the video.

    Still have the issue where playing the same video at the same rate will result in a slightly variable amount of time from calling Play() to when the video is finished, including when waiting for first frame before starting.

    Code (CSharp):
    1. using RenderHeads.Media.AVProVideo;
    2. using UnityEngine;
    3.  
    4. [Serializable] public class FloatEvent : UnityEvent<float> { }
    5.  
    6. public class VideoTransitionInterface : MonoBehaviour
    7. {
    8.     MediaPlayer mediaPlayer;
    9.     DisplayUGUI display;
    10.  
    11.     public string filepath;
    12.     [SerializeField] FloatEvent BroadcastDuration;
    13.  
    14.     MediaPlayer.FileLocation streamingAssets { get { return MediaPlayer.FileLocation.RelativeToStreamingAssetsFolder; } }
    15.  
    16.     bool isPlaying;
    17.  
    18.     private void Awake()
    19.     {
    20.         display = GetComponent<DisplayUGUI>();
    21.         mediaPlayer = display._mediaPlayer;
    22.         mediaPlayer.Events.AddListener(OnVideoEvent);
    23.     }
    24.  
    25.     public void Begin()
    26.     {
    27.         mediaPlayer.enabled = true;
    28.         mediaPlayer.OpenVideoFromFile(streamingAssets, filepath, false);
    29.         isPlaying = true;
    30.     }
    31.  
    32.     private void OnVideoEvent(MediaPlayer mediaPlayer, MediaPlayerEvent.EventType eventType, ErrorCode error)
    33.     {
    34.         if (!isPlaying) return;
    35.  
    36.         switch (eventType)
    37.         {
    38.             case MediaPlayerEvent.EventType.FirstFrameReady: BeginPlay(); break;
    39.             case MediaPlayerEvent.EventType.FinishedPlaying: EndPlay(); break;
    40.         }
    41.     }
    42.          
    43.     private void BeginPlay()
    44.     {
    45.         var duration = mediaPlayer.m_Info.GetDurationMs()/1000f;
    46.         var rate = mediaPlayer.m_Control.GetPlaybackRate();
    47.  
    48.         // WARNING: this reports a consistent (expected) value, but actual video duration is inconsistent
    49.         BroadcastDuration.Invoke(duration/rate);  
    50.      
    51.         mediaPlayer.Play();
    52.         display.enabled = true;
    53.     }
    54.  
    55.     private void EndPlay()
    56.     {
    57.         isPlaying = false;
    58.         display.enabled = false;
    59.         mediaPlayer.Rewind(true);
    60.         mediaPlayer.enabled = false;
    61.     }
    62. }
     
    Last edited: May 21, 2020
  37. AndrewRH

    AndrewRH

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

    I'm having a little trouble following what's going on or what the issue is you're having. Perhaps you could submit an issue report to our Github issue tracker (https://github.com/RenderHeads/UnityPlugin-AVProVideo/issues) so our team can investigate?

    Thanks,
     
  38. AndrewRH

    AndrewRH

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

    AVPro Video version 1.11.1 has just been released!

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

    Changes include:

    Android
    • Fixed issue of texture padding when using OES textures causing edge artifacts or image jumps when adaptive media switch resolutions with non-multiple of 16 resolutions on some devices
    • Fixed linear colour space conversion function in OES shaders
    • Added error message about cleartext support
    iOS / tvOS
    • Plugins built with Xcode 11.3.1 in order to support Unity Cloud Build
    Windows
    • Fixed D3D11 watermark blending in trial version
    • Fixed D3D9 warnings in skybox shaders
    General
    • Added stereo support to skybox shaders

    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,
     
  39. gio_987654321

    gio_987654321

    Joined:
    Jan 25, 2017
    Posts:
    39
    hello Vuforia team
    I would to know if , at this time june 2020 , you do support loading from Unity asset bundle files yet ? for android and IOS ?)
    if not , do you planning this feature ? or is it impossible ?
    if not ive read that is possible to load from server and manage movie in the mobile persistantFolder for example , isn't it ?
    ideally, is there a way to hide movie in mobile (both apk and iap )
    thank you


    GiO

    Order Details
    Order #9071258763080Order Date: Apr 24, 2020 2:20 PM
     
  40. MMeyers23

    MMeyers23

    Joined:
    Dec 29, 2019
    Posts:
    101
    Problem description:
    I just imported the trial version, created new game object and added the media player component, selected my mp4 file (H.264) in the source path option and the video will not display in the inspector or in game mode or scene view. Other videos of different resolution do work, though.
    Device (which devices are you having the issue with - model, OS version number):
    Windows 10
    Media (tell us about your videos - number of videos, resolution, codec, frame-rate, example URLs):
    1 video, mp4/H.264, 6144 x 1024, 30 fps
    System Information:
    AVPro Video: plugin v1.11.1t scripts v1.11.1
    Target Platform: Standalone
    Unity: v2019.3.0f3 WindowsEditor
    OS: Desktop - HP Laptop 15-bs0xx (HP) - Windows 10 (10.0.0) 64bit - English
    CPU: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz - 4 threads - 8107KB
    GPU: Intel(R) HD Graphics 620 - Intel - Direct3D 11.0 [level 11.1] - 4053KB - 16384
     
    Last edited: May 28, 2020
  41. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Hi,

    I suspect that it's because your onboard GPU isn't able to decode that video resolution. H.264 over 4096 pixels wide wasn't supported that well until recently. You could try convert it to H.264 (HEVC) as that usually has better compatibility with very high resolution videos. Otherwise an external GPU is probably required.

    Another approach as a fallback would be to switch to software decoding. You can do this by installing LAV Filters and then switching to DirectShow for decoding (in MediaPlayer > Platform Specific > Windows > Preferred Video API).

    I hope that helps,
     
  42. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Hi,

    We are not Vuforia FYI :)

    We do not support loading videos from Asset Bundles, and this isn't something we plan to support in the future (on any platform).

    There is nothing to stop you manually downloading your content from a server URL and storing it in the persistantDataFolder and then playing it from there. I'm not sure whether local playback will work always though - it often depends on the platform and the media format.

    We have a section in the PDF documentation that talks about all the methods we support to protect content.

    Thanks,
     
    gio_987654321 likes this.
  43. MMeyers23

    MMeyers23

    Joined:
    Dec 29, 2019
    Posts:
    101
    Hi, I am experiencing same issue with 3078 and 2048 videos. I looked into this asset because Unity's default video player played at poor frame rate, but at least it could play these higher resolution videos on my system. It does not seem acceptable that AVPro cannot play a 3078x2048 video, perhaps there is a different cause?
     
  44. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Yes, there might be a different cause. Could you send us the video file so we can test it?

    You can open an issue for our support team here:
    https://github.com/RenderHeads/UnityPlugin-AVProVideo/issues

    Thanks,
     
  45. AndrewRH

    AndrewRH

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

    AVPro Video version 1.11.2 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
    • Fixed flickering rendering issue when using Metal with certain GPUs
    iOS
    • Fixed crash when using multithreaded rendering with the OpenGLES renderer

    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,
     
  46. THBC_

    THBC_

    Joined:
    Apr 24, 2017
    Posts:
    2
    Dear Renderheads team,

    we are happily using AVPro Video, thanks for the great product!
    But I am having a hard time optimizing the playback for our use-case.
    Running in a WebGL-Build we need to seamlessly switch between at least 4 HD-Videos (30sec duration) and trigger each playback from the same time position that the last played back video was at. This works so far but the videos are jittering/ lagging when played back. I guess this has to do with the fact that all videos are pre-loaded and buffered.
    Do you have recommendations for Codecs to use with WebGL builds, as well as bitrates?
    I'd appreciate any suggestions.
    Thanks!
     
  47. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Have you thought about perhaps using a single video instead of 4? Then you can seek to the desired place in the video to effectively change video seamlessly. In order to make seeking fast you would need to seek to a keyframe, so you can encode your videos with many keyframes (or all keyframes). There is a section in the PDF documentation that helps about encoding with keyframes to help seek performance.

    Codec/bitrate shouldn't really make too much difference.

    WebGL via Unity has a lot of overheads, so yeah performance can be an issue. I hope the above recommendation helps.

    Cheers,
     
  48. BlueSpirit

    BlueSpirit

    Joined:
    Jun 10, 2013
    Posts:
    33
    Hello,

    I'm trying to get the Demo05-360CaptureODS scene to work, but it freezes Unity when I try to start the recording. I get the error log "thread group size must be above zero". Any idea how I can get 360CaptureODS to work?

    I'm using 2019.3.10f1. Thanks!
     
  49. NathanRH

    NathanRH

    Joined:
    Oct 24, 2012
    Posts:
    447
    Hi,

    So this is not the right forum for your question. This forum is for AVPro Video, you want AVPro Movie Capture forum which is here:
    https://forum.unity.com/threads/released-avpro-movie-capture.120717/page-21

    :)

    I'm not sure why you're getting that error. Please could you post more details - either to the correct Forum, or ideally to our issue track so that support team can take a look at that you for you:
    https://github.com/RenderHeads/UnityPlugin-AVProMovieCapture/issues

    Bare in mind that ODS capture is VERY VERY slow, so it is likely to lock up your editor for some time. Try with a lower resolution capture to see whether that helps.

    Also if you click on the error message does it show where it's coming from?

    Thanks,
     
    BlueSpirit likes this.
  50. THBC_

    THBC_

    Joined:
    Apr 24, 2017
    Posts:
    2
    Thank you for your quick response. That is actually a great idea that I did not consider yet.
    I will give it a try. Also good to know that codecs should not make a great difference.
    Thanks!