Search Unity

[Released] AVPro Video - complete video playback solution

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

  1. amaceikaCortina

    amaceikaCortina

    Joined:
    Nov 6, 2015
    Posts:
    5
    HI guys I am trying to use a webm video using vp8 codec with an alpha channel. AVpro MediaPlayer is not respecting the alpha channel. Also I am building my app for iOS and Android device so I believe hap is out of the question. Am I doing something wrong or do you guys not support alpha channel vp8?
     
  2. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    Yes, we do not support alpha channel in VP8/9

    Check the PDF documentation where we have a section about transparent video support - there we explain the supported formats and methods. We also have a demo scene that shows transparency being used via packed-alpha. This is a cross-platform technique that works well with H.264/H.265.

    Thanks,
     
    amaceikaCortina likes this.
  3. annarqi

    annarqi

    Joined:
    Nov 28, 2018
    Posts:
    2
    kwajom_unity says: Hi, I'm getting the error "the type or namespace name 'RenderHeads' could not be found" since I've moved from mac to windows. and updated unity to unity 2018.3.5f1. I have using RenderHeads.Media.AVProVideo; as described in the documentation but I can't seem to access the library at all. Can anyone offer some assistance. Thanks!

    Hi,

    I have the same problem. Can you explain the solution?

    Thanx Ahmet.
     
    Last edited: Sep 4, 2019
  4. mikerz1985

    mikerz1985

    Joined:
    Oct 23, 2014
    Posts:
    65
    Hi --

    I'm having some trouble with MediaPlayer on Windows, both DirectShow and MediaFoundation paths.

    OpenVideoFromFile and MediaPlayer.Update seem to take a very long time when opening a new file. OpenVideoFromFile can take 600 ms or so, and MediaPlayer.Update is hitting 1398 ms. In a VR application this is causing the stock VR environment to show for some amount of time.

    Any tips for reducing or avoiding this load time?
     
  5. eleister

    eleister

    Joined:
    Feb 8, 2018
    Posts:
    4
    I am having a similar issue. I was using the Android version to test in Oculus and just purchased the Windows version so I can record out of Unity without watermarks everywhere. But the watermark is still there! I cannot rebuild this file without hours of work and need to record a video asap. There has to be some sort of solution to this problem but I cannot find anything? Should be able to have two versions running simultaneously, right?
     
  6. evolvingtech

    evolvingtech

    Joined:
    May 27, 2012
    Posts:
    12
    Stereoscopic 180 Not Working Correctly

    Apologies if this has been asked before. I am trying to render stereoscopic MP4 file in VR (Windows, HTC Vive, Unity 2019.2). I started with the 12_Demo_180SphereVideo scene, replaced it with a Left-Right stereo video, set the stereo mode in the sphere to Left-Right, also has the UpdateStereoScript attached. In the AVPro Video Media Player the Video Mapping is set to Equi Rectangular 180. All other items are their default values. I've also made sure that the video clip has no metadata. In vr it plays a perfectly monoscopic rendering in 180 and never stereoscopic. The equivalent happens when I use a video created for Top-Bottom with the corresponding settings.

    Am I missing something here? Any suggestions?
     
    Last edited: Sep 6, 2019
  7. unity_vdgjI3a8kZRHzQ

    unity_vdgjI3a8kZRHzQ

    Joined:
    Aug 1, 2019
    Posts:
    1
    Hello RenderHead,

    We would like to return or exchange our AVPro Video purchase on Unity Asset Store.

    We bought AVPro Video for Android and IOS on Unity Asset Store, each costs US$150. However, the iOS purchase was a mistake because our original intent was to buy Android and MacOS versions instead. Furthermore, we found out that the Full All-in-one version cost US$300.

    As a result, could we do either of the following:

    1. Return the IOS version, but buy the Full All-in-one (all platforms) at US$300?
    2. OR pay the US$150 difference and buy the Full All-in-one (all platforms) instead?


    This is our Unity Asset Store acount ID:
    dev@xrspace.io

    We await your speedy response. Thank you.

    Regards,

    XRSpace
     
  8. eaquino_unity

    eaquino_unity

    Joined:
    Aug 13, 2019
    Posts:
    3
    Hi Andrew,

    Is it possible to apply a fade effect when a video is in loop?

    I apply a fade effect when I give it to play the video but when using the FinishedPlaying event to apply the video it executes my fade after finishing the video (maybe this will solve the want to apply it in loop mode)

    Something crazy that has occurred to me is to detect the last two seconds of life and apply the fade but I don't know how possible that is.

    Any suggestions?
     
  9. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    We have handled this via email.
     
  10. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    I think what happened is you imported the package after the AVPro Video plugin had already run, so the plugin files were locked and Unity couldn't update them. If you close Unity, then open your project again and immedaitely impor the Windows plugin unitypackage, then it should work.

    Thanks,
     
  11. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    Hmm, have you tried using the PlaylistMediaPlayer component? It should handle all of that for you...
     
  12. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    It sounds like you're doing everything correctly...I can't imagine why it wouldn't be working.

    Try enabling the Debug Eye Tint option in the Visual section. This will colour the eyes red/green to at least give a better idea whether stereo is working at all.

    You could also try using our sample video AlphaLeftRight.mp4 with stereo packing set to left-right - just to make sure it isn't something still related to stereo metadata in your video.

    Thanks,
     
  13. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    Hmm that sound strange..I don't have any idea and I haven't heard of this before.

    Perhaps you could give more details about your setup:
    1) Unity version
    2) AVPro Video version
    3) Video specs (resolution, frame-rate, codec, source type)
    4) How often does Update hit 1398ms?

    When opening the video using MediaFoundation it should use another thread, so it shouldn' block the main thread. DirectShow loading will block the main thread though during loading, so the complexity of the encoding will relate to the loading time. You could try encoding your videos in a simpler manner. For example in FFMPEG there is the -tune fastdecode option, and you could also use other options to disable B-frames.

    Thanks,
     
  14. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    Sounds like the plugin / your scripts could be in an incorrect folder. There are rules about the order of compiling which you can see here:
    https://docs.unity3d.com/Manual//ScriptCompileOrderFolders.html

    It could also be related to assembly definitions if you're using those.
     
  15. celsius9

    celsius9

    Joined:
    Sep 18, 2017
    Posts:
    1
    Hi Andrew,
    Tried sending this via support email address, but understand you're not supporting via that route any longer.

    You’ve a nice dual player example script within the AVPro Video package called ‘VCR’ which handles smooth switching between clips. It also seems to offer a significant amount of additional functionality as standard over the general MediaPlayer script (OnOpenVideoFile, OnVideoSeekSlider etc.), plus the ability to create a 'playlist' within the PersistentDataPath.

    Is there a demo VCR script available that would permit us to offer the same features within a 360° Spherical Video player in VR? If not could you offer some further guidance please on how to create one? (To clarify I’m not asking for assistance in the VR aspect, just how to hook up the standard functions of AVPro to achieve what we need).

    Many thanks - keep up the great work!
     
  16. SteenPetersen

    SteenPetersen

    Joined:
    Mar 13, 2016
    Posts:
    28
    Hi I am performing some tests with the newest version of AVPRo trial version in order to determine if this would be a good solution for us.

    I wanted to test if I could play m3u8 files (360 degree content) with your player. And ultimately build it for an Oculus Quest/Go. As far I understand modern Android devices can use HLS even though it is developed by apple.

    The problem is that, even though it does play video, it only plays what seems to be one chunk of the video and its not even the first one. So it seem to be taking them in the wrong order and only playing one, not continuing the play the others.

    All I did to set this test up was take the 08_demo scene and tell it to go play a m3u8 file. As far as I understand (ref) it should simply read from the m3u8 file and play the video files in the order dictated by that file.

    I used FFMPEG to convert a mp4 video to a m3u8 file by using the following command:

    Code (CSharp):
    1. ffmpeg -i video.mp4 outputvideo.m3u8
     
  17. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    Yes, HLS is supported by AVPro Video on all platforms.

    Is it only failing to play the whole thing on Android, or also in the Editor?

    Have you tried switching Video API (in Platform Specific > Android section of the MediaPlayer component)?

    Also you may want to try using more encoding options:

    ffmpeg -i input.mp4 -profile:v baseline -level 3.0 -s 640x360 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls index.m3u8

    or

    ffmpeg -i input.mp4 -b:v 1M -g 60 -hls_time 2 -hls_list_size 0 -hls_segment_size 500000 index.m3u8

    Thanks,
     
  18. SteenPetersen

    SteenPetersen

    Joined:
    Mar 13, 2016
    Posts:
    28
    Yes I think its the FFMPEG. The m3u8 file looks like this:

    Code (CSharp):
    1. #EXTM3U
    2. #EXT-X-VERSION:3
    3. #EXT-X-TARGETDURATION:8
    4. #EXT-X-MEDIA-SEQUENCE:47
    5. #EXTINF:8.341667,
    6. vr360Lake47.ts
    7. #EXTINF:7.340667,
    8. vr360Lake48.ts
    9. #EXTINF:8.341667,
    10. vr360Lake49.ts
    11. #EXTINF:8.341667,
    12. vr360Lake50.ts
    13. #EXTINF:2.635967,
    14. vr360Lake51.ts
    15. #EXT-X-ENDLIST
    Which basically means its only showing the last 5 videos for some reason.
     
  19. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    You may want to try the PlaylistMediaPlayer component. It has most of these features and more (including working with 360 video). There is a demo scene that uses it so you can easily test it. It doesn't have a UI though, but that is something you could add yourself.

    I hope this helps,
     
  20. SteenPetersen

    SteenPetersen

    Joined:
    Mar 13, 2016
    Posts:
    28
    Is it possible to, when using m3u8 (HLS), tell the Media Player to only start playing once a certain amount of buffering has been done? How do I go about knowing how the download/stream is coming along?

    Can I instead make a WWW call and feed the stream to the media player and save the download at the same time? so it doesn't have to be streamed all over if watched a second time?

    Further I am building a simple video player for the oculus GO and loading the .m3u8 file along with its .ts files into a folder on the headset. I find the file by accessing the oculus Gos internal storage and finding the location where I placed it, I have done this before for another app on the quest with no issue. My debug log says that it indeed does find the video but it wont play it. Just a black screen, no sound either. Work fine in the editor:

    Code (CSharp):
    1.    
    2. /// This log does no fire in the editor or in the oculus GO build, which means it is finding a file at that location
    3. if (!File.Exists(path))
    4.     _debugText.text += "\nFile NOT found!\n\nChecking Path " + path + "\n\n";
    5.  
    6.     _mp.OpenVideoFromFile(MediaPlayer.FileLocation.AbsolutePathOrURL, path, true);
     
    Last edited: Sep 12, 2019
  21. dryraa

    dryraa

    Joined:
    Apr 10, 2017
    Posts:
    7
    Hello,
    I'm using avpro media player for both Android and iOS and I noticed that after the OnVideoEvent gets fired, I can get the video's width and height from the MetaDataReady event on Android, but on Mac and iOS, it is always returning 0.

    I'm implementing it this way:

    Code (CSharp):
    1. videoPlayer.Events.AddListener(OnVideoEvent);
    2.  
    3.                         videoPlayer.OpenVideoFromFile(MediaPlayer.FileLocation.AbsolutePathOrURL, package.VideoPath, true);
    And the Listener:

    Code (CSharp):
    1. public void OnVideoEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, ErrorCode errorCode)
    2.     {
    3.        
    4.         switch (et)
    5.         {
    6.             case MediaPlayerEvent.EventType.ReadyToPlay:
    7.                
    8.                 break;
    9.             case MediaPlayerEvent.EventType.Started:
    10.                
    11.                 break;
    12.             case MediaPlayerEvent.EventType.MetaDataReady:
    13.                 videoWidth = mp.Info.GetVideoWidth();
    14.                 videoHeight = mp.Info.GetVideoHeight();
    15.                 videoStarted = true;
    16.                 break;
    17.             case MediaPlayerEvent.EventType.FirstFrameReady:
    18.                 //SwapPlayers();
    19.                 break;
    20.             case MediaPlayerEvent.EventType.FinishedPlaying:
    21.                 break;
    22.         }
    23.  
    24.         Debug.Log("Event: " + et.ToString());
    25.     }
    I am using the exact same code and logic in the Android and iOS projects, but it's not working correctly on Mac/iOS.


    Unity Version: 2019.1.6f1
    iOS Versions: 12.4
    MACOS 10.14.5
    Latest AVPro version from the unity Asset store.

    Thank you for your help
     
  22. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    I think if you instead wait for the FirstFrameReady event, and then get the width/height it should work on all platforms.

    Thanks,
     
  23. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    Hmm, this might be a bug. Could you submit this in detail to our GitHub page so the team can investigate?

    https://github.com/RenderHeads/UnityPlugin-AVProVideo/issues

    Thanks,
     
    RenderHeadsSte likes this.
  24. yaboo

    yaboo

    Joined:
    Mar 23, 2016
    Posts:
    20
    LWRP no upgrader .
    sphere360 material was not upgraded. There's no upgrader to convert AVProVideo/VR/InsideSphere Unlit (stereo+fog) shader to selected pipeline
    UnityEditor.Rendering.LWRP.LightweightRenderPipelineMaterialUpgrader:UpgradeSelectedMaterials()
     
  25. DerrickBarra

    DerrickBarra

    Joined:
    Nov 19, 2013
    Posts:
    117
    @AndrewRH Hi Andrew, I'm trying to get video playback on Android from the Persistent Data Path working, but I'm running into issues.

    1) I download videos files from my Amazon storage to my local persistent data path, and I can confirm they exist and playback using my Android phone file explorer.

    2) Set my AVPro MediaPlayer to the file URL using the 'Relative to Persistent Data Folder' setting and told it to play via script.

    Error below
    [AVProVideo] Failed to open /storage/emulated/0/Android/data/com.Snap.CityUnseen/files/Videos/Italia.m4v
    RenderHeads.Media.AVProVideo.MediaPlayer:OpenVideoFromFile()
    RenderHeads.Media.AVProVideo.MediaPlayer:Start()


    Click this link to view the full ADB logcat during the time when the loading is attempted.

    In googling this issue, I've tried the following...

    - Made sure I'm on the latest version of the plugin from the asset store (fresh grab, no previous version of the plugin in my project)

    - Set my project's Write Permission to 'External (SDCard)'

    - Added
    android:usesCleartextTraffic="true"
    to my Android manifest within the <application> tag following this video on how to copy the Manifest from the temp/staging folder and this post on the Unity forums.

    - Tested changing my Android preferred video API from the 'Exo Player' to the 'Media Player'

    - Tried .mp4, m4v, and .webm files. Click those links to download the files for your own testing.

    - I originally tried all this using the Unity video player, with a similar error about not being able to access the files. I already had an AVPro license so I figured I would see if the issue was with the default Unity video player, but it seems to be something else.

    Any assistance you can provide would be beneficial! Since the issue occurs with AVPro & Unity Video Player, there's probably some setting or small thing I can change that will make it work. Thanks!
     
    Last edited: Sep 18, 2019
  26. mpattiewss

    mpattiewss

    Joined:
    Aug 13, 2019
    Posts:
    2
    I'm trying to read the audio output on android and iOS. I notice the AudioOutput component and override is only available for windows in the current version. Do you have an ETA on unity audio support for iOS and Android? Any ideas on a workaround for the current version?
     
  27. DerrickBarra

    DerrickBarra

    Joined:
    Nov 19, 2013
    Posts:
    117
    @AndrewRH : Solved it! I determined the file accessibility issue was indeed on my end, turns out it was just a simple error with the path string to my video in persistent data being wrong. Any of those other things I tried in my earlier post might have helped as well.
     
    AndrewRH likes this.
  28. mikerz1985

    mikerz1985

    Joined:
    Oct 23, 2014
    Posts:
    65
    Hi --

    I've noticed a weird bug with the Android ExoPlayer route. On occasion, it will fail to play a video -- seems to lock up on the first frame. Querying IsPlaying returns false, IsPaused returns true, IsBuffering is false, IsFinished is false. Looks like the dll/environment is reporting that it's paused. Calling play on it will not resume.

    Have you encountered this before?
    This is on the Oculus Quest Unity 2019.2.5f1


    note: what seems to "fix" it is changing to another video, then back to the same video. Sometimes this will happen twice in a row.
     
  29. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    Hmm..and is this a problem?
    I tried it here, and indeed it doesn't convert..but it still works perfectly fine as far as I can see.
     
  30. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    Hmm that's weird..which version of AVPro Video is this with?
     
  31. mikerz1985

    mikerz1985

    Joined:
    Oct 23, 2014
    Posts:
    65
    This was with version 1.9.16; I just tried out the latest 1.10 and actually you've already fixed this issue. thank you!
     
    AndrewRH likes this.
  32. therealrmorris

    therealrmorris

    Joined:
    Feb 15, 2019
    Posts:
    3
    Hi there,

    I'm not sure if this is possible, but can adaptive resolution have a baseline to start at? We're looking to try to start a video up at a baseline resolution of 720p. The application is for VR in particular, and supports the Go/Quest/Rift currently. That being said, we've noticed that the Rift starts the resolution at 540p (or somewhere around there) and quickly upscales so there isn't too much of a issue there. However, the Go/Quest being on mobile chipsets tends to take a little longer to upscale. It'd be preferrable to start at 720p then continuously upscale from there.

    Another thing to note is that we are using the Vimeo Unity SDK to interface with AVPro. I'm not sure if that changes anything or not. From what I've been able to see, this question belongs with AVPro more than with the Vimeo people though. If it is possible, a point in the right direction would be greatly appreciated! Thanks in advance! :)
     
  33. SteenPetersen

    SteenPetersen

    Joined:
    Mar 13, 2016
    Posts:
    28
    @AndrewRH I have posted the bug on github quite a while ago and still no update.

    Can you or anyone here suggest a good way to load high quality videos onto an Oculus GO headset?

    I have tried putting .m3u8 files into a locally stored folder on the headset (black screen no sound) I have tried making my mp4 verison of the file into a streamable file with FFMPEG using this command from the User manual:

    Code (CSharp):
    1. ffmpeg -i input.mp4 -acodec copy -vcodec copy -movflags faststart index-streaming.mp4
    this also results in blackscreen with no sound. The only way I can get the video to play is by putting it through filmora and reducing the file size and quality. I know that this cannot be the problem because I can play the video from the headset directly so I know that the GO can actually render the quality. so My assumtion is I am doing something wrong in order to load it in. Here is my current loading code:

    Code (CSharp):
    1.  
    2. _mp = GetComponent<MediaPlayer>();
    3. _mp.Events.AddListener(OnVideoEvent);
    4.  
    5. if (Application.platform == RuntimePlatform.Android)
    6. {
    7.      rootPath = Application.persistentDataPath.Substring(0, Application.persistentDataPath.IndexOf("Android", StringComparison.Ordinal));
    8. path = Path.Combine(Path.Combine(rootPath, "Android/Data/_Videos"), fileName);
    9. }
    10. else
    11. {
    12.       path = "D:\\_FFMPEG\\" + fileName;
    13. }
    14.  
    15.      if (!File.Exists(path))
    16.         _debugText.text += "\nFile NOT found!\n\nChecking Path " + path + "\n\n";
    17.  
    18. _mp.OpenVideoFromFile(MediaPlayer.FileLocation.AbsolutePathOrURL, path, false);
    19.  
    Then the OnVideoEnter callback function:

    Code (CSharp):
    1.  public void OnVideoEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, ErrorCode errorCode)
    2.         {
    3.             switch (et)
    4.             {
    5.                 case MediaPlayerEvent.EventType.ReadyToPlay:
    6.  
    7. #if UNITY_EDITOR
    8.                     Debug.Log("Ready to play");
    9. #endif
    10.  
    11.                     break;
    12.                 case MediaPlayerEvent.EventType.Started:
    13.                     break;
    14.                 case MediaPlayerEvent.EventType.FirstFrameReady:
    15.  
    16. #if UNITY_EDITOR
    17.                     Debug.Log("First Frame is ready");
    18.                     _mp.Play();
    19. #endif
    20.                     break;
    21.                 default:
    22.                     break;
    23.             }
    24.         }
    -------------------------------------------------
     
    Last edited: Sep 29, 2019
  34. UnityDev101

    UnityDev101

    Joined:
    Dec 10, 2014
    Posts:
    7
    Hi guys,
    Is it possible to prevent screen recording app like Mobizen from recording the videos on Android devices ? (Yes, i know that user can easily use another device to record the video, but it's a requirement from client).

    I know that on Android, putting this code: (getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);)
    in the onCreate() method will prevent taking screenshot and screen recording. However, this code only works on native Android app. Using this code in Unity only prevent screenshot, NOT screen recording.

    My problem is like this guy's problem: https://stackoverflow.com/questions...eo-recording-or-screen-recording-in-unity-app

    Currently, i am using AVPro 1.10

    Any ideas on how to solve this? Can ExoPlayer detect screen recording attempts ?
     
    Last edited: Sep 27, 2019
  35. FlorianBernard

    FlorianBernard

    Joined:
    Jun 9, 2015
    Posts:
    101
    Any update on Playable/Timeline support?
     
  36. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    Ahhh, sadly not..we haven't had time yet I'm afraid. It's still on the roadmap though.
     
  37. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    Hi,
    So currently this isn't something that's possible. In the future we will be looking at things like protected textures and DRM, but this is not something we really know much about right now. Please post a feature request to our GitHub page so the rest of the team can be aware of this requirement:
    https://github.com/RenderHeads/UnityPlugin-AVProVideo/issues?q=is:issue+is:open+sort:updated-desc

    Thanks,
     
  38. SteenPetersen

    SteenPetersen

    Joined:
    Mar 13, 2016
    Posts:
    28
    Hi,

    I am wondering why there is such a huge difference between unitys built in videoplayer and AVPR media Player when it comes to rendering things slowly (slowmotion / slow-motion). I have read your post here about the quirks of playbackrate, but in my tests with the unity built in video system with the exact same video it works flawlessly. Are the two working in different ways? Is there is a better way to render things in slow motion using AVpro. I thought that I could simply do this:

    Code (CSharp):
    1. mediaPlayer.Control.SetPlaybackRate(n > 1? 1 : 0.5f);
    But this causes a lagspike directly before setting it to 0.5 or 1.

    on the unity built in I can even do this:

    Code (CSharp):
    1. float videoPlaybackSpeed =  Mathf.Clamp(n, 0, 1);
    2.  
    3. videoPlayer.playbackSpeed = videoPlaybackSpeed;
    and it works fine.
     
  39. UnityDev101

    UnityDev101

    Joined:
    Dec 10, 2014
    Posts:
    7
  40. MESHED-space-GmbH

    MESHED-space-GmbH

    Joined:
    Nov 11, 2015
    Posts:
    22
    Hi,
    which video format works for Safari Browser , we use Safari 13.0.1 on macOS 10.14.6 - WebGL works fine with FireFox on Mac, but Safari only shows me the first frame of the video, which is not played then. I tried videos without audio (as described in the previous posts), but no change. Is it possible to play a video in Safari with AvProVideo and WebGL?

    Thanks,
    Ulf
    MESHED space Team
     
  41. Aidan-Wolf

    Aidan-Wolf

    Joined:
    Jan 6, 2014
    Posts:
    54
    Is there an option for Speed control? All I see is Rate which just skips X number of frames. I'm looking to play every frame at a custom rate between 6x to 30x fps.

    Thank you!
     
  42. jabromovitz

    jabromovitz

    Joined:
    Oct 5, 2012
    Posts:
    1
    Is there a separate shader that needs to be used for lightweight
    I have a similar question, I want to use something like your "inside sphere" shader on a VR/Android platform, from my understanding this would require a completely separate shader that supports their LW Render Pipeline. Am I far off on this?
     
  43. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    Hmm..I think it should work, because those are unlit shaders. I think it's only a problem when you are using lit shaders, or surface shaders. So in theory it should just work with LWRP/HDRP.
     
  44. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    The Playback Rate is the thing you want. If it is just skipping frames, then it isn't able to decode the video fast enough and either you need a more powerful system, or you need to encode the videos in a way that facilities fast seeking. We have a section in the PDF documentation all about this - Seeking and Playback rate and how to prepare videos for this. 30x is probably not possible. You then need to start looking at video codecs designed for this use case, such as the Hap codec which we support.

    Thanks,
     
  45. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    Please post the issue to our GitHub page so that the team can investigate. Some browsers are stricter with auto-playing videos and require user initiated playback. Thanks,
     
  46. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,611
    Unity's video player has a lot of advantages, and so does ours. They have probably implemented rate control at a lower level so they have more control over it. Our implementation is very high level so we can't change the behaviour of changing the playback rate unforunately.
     
  47. AndrewRH

    AndrewRH

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

    AVPro Video version 1.10.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
    • ExoPlayer API path now uses a bandwidth meter to enable adaptive streaming
    iOS
    • Add support for auto-resuming playback after an audio route change has occurred (i.e. by removing headphones)
    macOS / iOS / tvOS
    • Fixed crash caused by trying to change to non-existent audio track
    • Fixed crash caused by race condition when disposing of a player whilst an open is still pending completion
    Windows
    • Added support for Hololens single-pass-instanced stereo mode to InsideSphere shaders
    General
    • Added option to PlaylistMediaPlayer component to auto close videos that are not visible (freeing up memory)
    • Fixed issue when calling RemoveAllListeners() where it wouldn’t correctly remote listeners

    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,
     
  48. Aidan-Wolf

    Aidan-Wolf

    Joined:
    Jan 6, 2014
    Posts:
    54
    Thank you for the detailed reply! I'm wondering if I'm simply entering an edge case, as:
    - My original MP4 is 1 frame per second and 6 frames long
    - The video is small, monochromatic, 11KB in size, so not performance intensive
    - I'm assuming since the results are consistent and linear (rate of 2 = 1, 3, 5, rate of 3 = 1, 4, 1), it's actually skipping frames rather than decreasing the time between frames. This is probably not noticeable in typical videos
    - Also I'm able to achieve the desired results with Unity's VideoPlayer
     
  49. MoctezumaDev

    MoctezumaDev

    Joined:
    Aug 14, 2013
    Posts:
    44
    Hi, I'm having an issue after updating to the version 1.10.1

    Code (CSharp):
    1.  
    2. EntryPointNotFoundException: SetHeadOrientation
    3. RenderHeads.Media.AVProVideo.WindowsMediaPlayer.SetAudioHeadRotation (UnityEngine.Quaternion q) (at Assets/AVProVideo/Scripts/Internal/WindowsMediaPlayer.cs:682)
    4. RenderHeads.Media.AVProVideo.MediaPlayer.UpdateAudioHeadTransform () (at Assets/AVProVideo/Scripts/Components/MediaPlayer.cs:1770)
    5. RenderHeads.Media.AVProVideo.MediaPlayer.Update () (at Assets/AVProVideo/Scripts/Components/MediaPlayer.cs:1099)
    6.  
    Any idea? the exception seems to be related to the DLLs
     
  50. MoctezumaDev

    MoctezumaDev

    Joined:
    Aug 14, 2013
    Posts:
    44
    Ok I found the problem, the DLL was not being unloaded while importing the new ones and thus it was not finding the function since it was still working with the old dlls, I switched the platform from x86_64 to x86 and reimported the DLLs from the unitypackage.
     
unityunity