Search Unity

[Released] AVPro Video - complete video playback solution

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

  1. fum1

    fum1

    Joined:
    Jul 5, 2017
    Posts:
    2


    Hi,

    I've tried free version.
    But movie playback sample is strange. Please see a video above.
    Is this restriction of free trial version?
    Purchased version doesn't have this problem?

    Btw, I have one more question.
    I want to extract frame pixels faster than real-time.
    Could this do that?
    I want to extract frame pixels from a video and store to image files.
    No real-time.

    Thanks.
     
  2. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,619
    Hi,
    Yes the purchased version doesn't have this problem. This problem is due to the watermarking rendering, and it only affects certain models of Mac's, and only when using the METAL graphics API. So you could also switch from METAL to OpenGL to fix it. The full version doesn't have this issue.

    Yes, we have a demo scene included (06_Demo_FrameExtract.unity) that shows you how to extract frames. It uses a methods on the MediaPlayer called ExtractFrame() and ExtractFrameASync()

    Thanks,
     
    fum1 likes this.
  3. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,619
    Damn...Windows XP makes it really difficult as back then there were hardly any decent codecs available.

    As far as I know you would have to use something like H.263. The most common manifestation of this codec was called DivX or XVid (the open source version).

    This codec is probably the best choice for encoding if you want the best compatibility. You can use a tool like FFMPEG to encode your videos with this format.

    As for the audio - I'm not sure. I can't remember whether Windows XP had AAC support.

    You may have to go for:
    AVI file container, with DivX/H.263 for video codec and MP3 for audio codec

    MP4 with AAC might work too, but I'm not sure.

    Thanks,
     
  4. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,619
    I believe this is just what iOS does. This is by design. You would have to manually detect the video pausing (without user interaction) then then start the video playing again.
    Thanks,
     
  5. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,619
    I can't think of any reason why Curved UI couldn't be used. AVPro Video can render the video to materials , meshes, textures, IMGUI and uGUI. I'm sure Curved UI uses one of these, so it should be possible. It is not something we have tested.

    We are going to work on improving the (rather basic) demo scenes in the near future :)
     
  6. wechat_os_Qy00RIL2kdo6meQNFSwnAusf8

    wechat_os_Qy00RIL2kdo6meQNFSwnAusf8

    Joined:
    Jul 12, 2019
    Posts:
    5
    Hi,andrew,
    I'm a rookie in developing with unity and C#,I have some troubles and need your help please,
    I want to add a function to my player which enables users to switch resolution as they wish, and I've read your reply above which says I can parse the streams with StreamParser and feed the streams to MediaPlayer, when doing this, i have some questions:
    1. StreamParser returns a list of streams and can I get a list <bandwidth, stream> pair? Is stream in this list a URL?
    2. Should I feed the URL to MediaPlayer.OpenVideoFromStream? I'll pass the URL to argument path but what should I pass to IRandomStream?
    thank you
     
    wanorde23 likes this.
  7. netpost

    netpost

    Joined:
    May 6, 2018
    Posts:
    174
    @AndrewRH

    That makes sense! Thank you for the quick reply.
     
  8. remy_rm

    remy_rm

    Joined:
    Jan 16, 2017
    Posts:
    17
    @netpost I can confirm that AVPro works smoothly with curved UI asset(s) (I happen to own a license for both "AVPro video" and "Curved UI" by chisely so tested it out for you :) . I am in no way associated to either, besides using them)
     
    AndrewRH likes this.
  9. netpost

    netpost

    Joined:
    May 6, 2018
    Posts:
    174
    @remy_rm Thank you so much for taking the time to test this. I made some tests myself but haven't succeed yet. I am still trying to connect the dots between the two assets to make it work. :)

    I can make some basic interaction using the Curved Ui with basic game objects but I haven't find how to load different movie files yet using the events methods. There are probably answers in the "simple controller" script but It is not that obvious to find your way when you are not a programmer. ;)

    @AndrewRH

    Is it possible to select a movie using the "on Click" event? I can use the "on Click" event with the VCR script using VCR.OnOpenVideoFile but this method doesn't allow me to load the exact video file I want to play. The 02_Demo_imGui,I is a great example of what I am trying to accomplish, (click a button to select the file or stream to play). Is this only doable with scripting? or can it be done thru event trigger?

    For multi platform optimization, would you recommend using multiple scenes (one per 360 video media player and a main "menu" scene) or just one single scene/media player for all 360 videos files?

    Thanks again.
     
    Last edited: Jul 18, 2019
  10. Modernllama

    Modernllama

    Joined:
    Nov 30, 2012
    Posts:
    19
    Hi,

    When a video or stream is being prepared at the start of a new video/stream, what feedback can I get, in regards to whether it's progressing through the preperation?

    One issue I occasionally get told is a stream or video file taking a very long time to prepare. Now this could be the user's network but I'm just wondering if there's anything I can do with AVPro to display more feedback about the preperation progress?

    Thanks,
     
    Last edited: Jul 19, 2019
  11. kdarius43

    kdarius43

    Joined:
    Mar 16, 2015
    Posts:
    157
    Hello,
    Sorry if this had been answered but I could not find it. I have 6 videos that can be chosen at random very quickly. What is the best way to do this. I tried the loadvideofile but there is a flash of a which screen while it opens and is not quick enough. Should have 6 video players always playing and make one active at a time? I don't care if the videos start from the beginning just that they show up instantly.
     
  12. mikerz1985

    mikerz1985

    Joined:
    Oct 23, 2014
    Posts:
    66
    It would take a little custom work to completely remove a flash. Personally if I were in your situation, I would render the video texture into a new Texture2D when playing the next video, use that as the default image for the ApplyToMaterial/ApplyToMesh script, and then play the next video. If you're using a single video player, there will always be a delay with unloading the current video and loading the next video.
     
  13. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,619
    1) Yes, the URL is for each stream resolution - so if you ask MediaPlayer to play that URL it will just play for that resolution
    2) You should use MediaPlayer.OpenVideoFromFile(), eg:

    OpenVideoFromFile(FileLocation.AbsolutePathOrURL, url, true);
     
  14. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,619
    I'm not sure what you're trying to do.. Anything is possible with scripting :)

    I'd recommend a single mediaPlayer if possible - loading and unloading MediaPlayer causes a lot of internal resource thrashing, so best to just reuse a single one.
     
  15. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,619
    We don't really have anything for this. You may be able to query how much of the video is buffered by calling:

    GetBufferedTimeRangeCount()
    GetBufferedTimeRange()

    See our demo scene "02_Demo_imGui" that uses the SimpleController.cs file to draw the currently buffered amount using this method.
     
  16. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,619
    If you're running on a desktop platform, then you can probably preload the 6 videos - each one with its own MediaPlayer component, and then just toggle which one is playing and which one is displayed.

    You could also combine the 6 videos into a single uber video if they are never played at the same time. This way you can quickly seek within the one video to play each subvideo.

    Otherwise you can look at our PlaylistMediaPlayer component that handles loading mutliple videos seamlessly. This component is quite expensive though, as it uses two MediaPlayers and extra textures to make this happen.

    You could also look at our demo scenes that achieve seamless video switching by ping ponging between two MediaPlayers and switching them once the video is loaded and ready to display (see demo scenes 02_Demo_imGui and 03_Demo_VideoControls)

    Thanks,
     
  17. mikerz1985

    mikerz1985

    Joined:
    Oct 23, 2014
    Posts:
    66
    Hi -- I seem to have trouble playing back HAP videos via the DirectShow mechanism on Windows 10 with Unity 2019.1.11f1, but only if LAV Video Decoder is in the filters list -- as soon as I try to play the video, it crashes Unity (have also seen this with 2018.3 in the past). Have you encountered this issue before?

    I'm wondering if there's deeper documentation about the DirectShow playback path. With a list of filters, how is playback handled through them?

    Here is the final running portion from the editor log:
    Code (CSharp):
    1.  
    2. [AVProVideo] Opening C:/media/hapq8x4.mov (offset 0) with API DirectShow
    3. UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object)
    4. UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
    5. UnityEngine.Logger:Log(LogType, Object, Object)
    6. UnityEngine.Debug:Log(Object, Object)
    7. RenderHeads.Media.AVProVideo.Helper:LogInfo(String, Object) (at Assets\AVProVideo\Scripts\Internal\Interfaces.cs:609)
    8. RenderHeads.Media.AVProVideo.MediaPlayer:OpenVideoFromFile() (at Assets\AVProVideo\Scripts\Components\MediaPlayer.cs:893)
    9. RenderHeads.Media.AVProVideo.MediaPlayer:Start() (at Assets\AVProVideo\Scripts\Components\MediaPlayer.cs:520)
    10. (Filename: Assets/AVProVideo/Scripts/Internal/Interfaces.cs Line: 609)
    11.  
    12. Crash!!!
    13. SymInit: Symbol-SearchPath: 'C:/Program Files/Unity/Hub/Editor/2019.1.11f1/Editor/Data/Mono;.;C:\Users\romaszewiczm\Documents\FFMPegTest;C:\Program Files\Unity\Hub\Editor\2019.1.11f1\Editor;C:\WINDOWS;C:\WINDOWS\system32;SRV*C:\websymbols*http://msdl.microsoft.com/download/symbols;', symOptions: 534, UserName: 'romaszewiczm'
    14. OS-Version: 10.0.0
    From the error log:
    AVProVideo.dll caused an Access Violation (0xc0000005)
    in module AVProVideo.dll at 0033:3da4d51a.

    I've attached the error log just in case it would be helpful
    Thank you
     

    Attached Files:

  18. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,619
    I'm not aware of this issue. A few questions:

    Which version fo AVPro Video are you using?
    Which version of LAV Filters do you have installed?

    Thanks,
     
  19. MotoFckr9k

    MotoFckr9k

    Joined:
    Jul 2, 2017
    Posts:
    1
    Any plans for linux support?
     
  20. kdarius43

    kdarius43

    Joined:
    Mar 16, 2015
    Posts:
    157
  21. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,619
    I'm afraid not...we don't get many requests for this
     
  22. mikerz1985

    mikerz1985

    Joined:
    Oct 23, 2014
    Posts:
    66

    I'm using
    AV Pro Video 1.10.0
    LAV Video Decoder 0.74.1
     
  23. wechat_os_Qy00RIL2kdo6meQNFSwnAusf8

    wechat_os_Qy00RIL2kdo6meQNFSwnAusf8

    Joined:
    Jul 12, 2019
    Posts:
    5
    thank you for your reply, but i've got a new question:
    StreamParser doesn't provide a constructor, so how can i instantialize it in another script?
    I've tried to use this:
    public StreamParser _parser = new StreamParser();
    but it returns a ‘NULL' object and i cannot get the list of streams from it.
     
  24. ludum_mubul

    ludum_mubul

    Joined:
    Dec 9, 2016
    Posts:
    21
    Hello!
    Is there any tutorial or guide for switching to HDRP/LWRP, because my video sphere disappeared after applied HDRP.
    Unity 2018.3.14, plugin v1.9.12.
     
  25. svanderbeck

    svanderbeck

    Joined:
    Oct 23, 2017
    Posts:
    17
    Is there a way to clear the MediaPlayer's texture (I am using the ugui display). I am using a media player to play Video1. And then once it is complete I am calling CloseVideo(). Later I am using that same MediaPlayer to load another video, Video2. However, in the time period while Video2 is loading, Video1's last frames are still on display. This seems to be true that the old frames are still on display for a few frames even after the FirstFrameReady event is called.
     
  26. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,619
    I've tried to replicate your crash with LAV Video Decoder 0.74.1 but it's working fine.

    Perhaps it's something to do with your video file?

    Does it have an audio track? If you remove the audio track does it fix it?

    Or perhaps you could email us the file for testing?

    Thanks,
     
  27. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,619
    StreamParser is a MonoBehaviour, so you must add it to a gameobject as a component.

    var go new GameObject();
    go.AddComponent<StreamParser>();

    Or just add it in the Unity editor.

    StreamParser is really just an example of how to use the HLSStraem class, which you can instantiate.
     
  28. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,619
    I'm not sure why this is happening - did you run the HDRP menu option to update all materials to HDRP?

    If you're using the ApplyToMaterial / ApplyToMesh components, then you would also need to set the TextureName field to "_BaseColorMap" if you are using a HDRP standard material.

    I hope this helps?
     
  29. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,619
    Which version of AVPro Video are you using, and on which platform?

    On the UGUI Display component it has an option Default Texture - so you could assign a black texture here and then untick "No Default Display".

    Hope this helps?
     
  30. wechat_os_Qy00RIL2kdo6meQNFSwnAusf8

    wechat_os_Qy00RIL2kdo6meQNFSwnAusf8

    Joined:
    Jul 12, 2019
    Posts:
    5
    thank you, I've writen some codes like StreamParser did and successfully parsed the streams with HLSStream.
    But i found that use OpenVideoFromFile when user change a resolution will make the video play from the beginning again, how can i get rid of this?
     
  31. ludum_mubul

    ludum_mubul

    Joined:
    Dec 9, 2016
    Posts:
    21
    Yes, I did. Shader didn't change to standard HDRP, stayed" inside sphere unlit (stereo + fog)". Should it be changed?

    TextureName field set, as you mentioned on material with Lit shader, but there is nothing rendered on Sphere mesh even outside. But in material preview texture from video is displayed.
    Also set simple texture to BaseMap, as was displayed in hint of ApplyToMesh component and attached "UpdateStereoMaterial" component as video is 3d 360 degrees.

    Btw, which shader should I use to see video inside sphere or other mesh?
     
  32. nicklowkc1

    nicklowkc1

    Joined:
    Feb 27, 2019
    Posts:
    9
    Hi, is that possible to make the video sphere in 08_demon scene become darker through the shader? I am trying to find the _Color property inside AVProVideo/VR/InsideSphere Unlit but it seems like it doens't included in the shader. I mean I want to change the alpha color of the sphere when I do something like pause the video.

    Thank you.
     
  33. oukaitou

    oukaitou

    Joined:
    Jan 10, 2014
    Posts:
    6
    Hello, if I don't need exoplayer2 and audio360, can I remove 'audio360.jar' and 'exoplayer2.jar' from android project to reduce package size? Is it safe? Thanks.
     
  34. RenderHeadsSte

    RenderHeadsSte

    Joined:
    May 17, 2019
    Posts:
    65
    I don't think that is possible. Sorry.
     
  35. hanklord

    hanklord

    Joined:
    May 2, 2017
    Posts:
    5
    Hi All, I met a problem about playing video (AVPro version: 1.9.8) on Win10
    I use following code to play a video

    Code (CSharp):
    1. mediaPlayer.OpenVideoFromFile(FileLocation.RelativeToProjectFolder, "file path");
    2. mediaPlayer.Stop();
    3. mediaPlayer.Rewind(true);
    4. mediaPlayer.Play();
    but "sometimes" the video doesn't be played (audio is played out), "sometimes" works fine
    If there has any solution that will be great, thanks
     
  36. wechat_os_Qy00RIL2kdo6meQNFSwnAusf8

    wechat_os_Qy00RIL2kdo6meQNFSwnAusf8

    Joined:
    Jul 12, 2019
    Posts:
    5
    @AndrewRH ,or in another way, is there any way to play a video from a certain offset or a certain time?
     
  37. RenderHeadsSte

    RenderHeadsSte

    Joined:
    May 17, 2019
    Posts:
    65
    If possible, you might want to update to the latest version (1.10.0) to see if the problem you are seeing has been addressed. If that does not give you a fix, please post your issue on github with as much information as possible: https://github.com/RenderHeads/UnityPlugin-AVProVideo/issues
     
  38. hanklord

    hanklord

    Joined:
    May 2, 2017
    Posts:
    5
    OK,thanks for your reply
    I will try the new version
     
    RenderHeadsSte likes this.
  39. tengkufathullah

    tengkufathullah

    Joined:
    Apr 3, 2017
    Posts:
    13
    Hi, I purchase the video plugin AVPro all in one to play 64 bit android, but the plugin not able to play video on 64bit apk android. Tried on IOS and 32 bit apk, working fine apart from 64bit apk. I am using Unity 2018.4.4, any thought?
     
  40. wechat_os_Qy00RIL2kdo6meQNFSwnAusf8

    wechat_os_Qy00RIL2kdo6meQNFSwnAusf8

    Joined:
    Jul 12, 2019
    Posts:
    5
    @RenderHeadsSte @AndrewRH Hello,
    I tried to use m_control.seek() in MediaPlayer.cs to set a certain time to play but the video still play from the beginning, is there anything wrong ?

    7-31-19:56:
    I found that this function will be useless after i call OpenVideoFromFile(), and it seems that the CloseVideo() in Open...() will make m_Control no longer able to control m_player. so how can i open a new stream and keep m_control in effect?
     
    Last edited: Aug 1, 2019
  41. RenderHeadsSte

    RenderHeadsSte

    Joined:
    May 17, 2019
    Posts:
    65
    I know we have pointed you in the direction of a solution via email, but for others:

    A fix to this issue can be found by following the solution outlined here: https://github.com/RenderHeads/UnityPlugin-AVProVideo/issues/112
     
  42. Modernllama

    Modernllama

    Joined:
    Nov 30, 2012
    Posts:
    19
    Anything that could be added to a future release? Would just help especially if better feedback can be provided at the start of playback.
     
  43. natSED

    natSED

    Joined:
    Apr 30, 2018
    Posts:
    1
    @RenderHeadsSte I understand that AVPro supports HLS on iOS, but does the plugin allow us to control which stream is picked or is that handled automatically?
     
  44. kuchida

    kuchida

    Joined:
    Dec 25, 2012
    Posts:
    5
    Hello,
    If a video with the following specifications is downloaded from a local video server and played back, HTTP Progressive Streaming, the video will stop intermittently and cannot be played back smoothly.
    OS is Windows10.
    If the bit rate was 15Mbps with the same specifications, it could be played smoothly.
    any thought?

    Bit rate: 19Mbps
    Resolution: 4320x2160
    Frame rate: 59.94
    Size: 5.40 GB
     
  45. JJunior

    JJunior

    Joined:
    May 22, 2019
    Posts:
    12
    Hi,

    I am trying to play two different videos, one after another, but I am getting a blink between them (1 frame blink to be exact). The first one is is opened and played on startup, and the second video I open from file (OpenVideoFromFile). I am waiting for FirstFrameReady to play the second video but I am still getting this blink effect between them.

    I tried using ApplyToMaterial and ApplyToMesh scripts on Quad mesh and got the same blink result.

    Any clues?

    Code (CSharp):
    1.  
    2. avMediaPlayer.OpenVideoFromFile(FileLocation.RelativeToStreamingAssetsFolder, connectedSpot.videoClip.name + ".mp4", false);
    3.  
    4. // Callback function to handle events
    5.     public void OnVideoEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, ErrorCode errorCode)
    6.     {
    7.         switch (et) {
    8.             case MediaPlayerEvent.EventType.ReadyToPlay:
    9.                 avMediaPlayer.Play();
    10.                 break;
    11.             case MediaPlayerEvent.EventType.FirstFrameReady:
    12.                 Debug.Log("First frame ready");
    13.                 StartCoroutine(SyncVideoAndAnimation2(connectedSpot));
    14.                 break;
    15.         }
    16.  
    17.         Debug.Log("Event: " + et.ToString());
    18.     }
    19.  
    20.  
     
    Last edited: Aug 6, 2019
  46. CorstiaanMediamonks

    CorstiaanMediamonks

    Joined:
    Sep 14, 2015
    Posts:
    21
    Hi Renderheads, first off we absolutely love AVProVideo and since Unity is still not on top of their video game we'll be using it for all the video we can play.

    I'm in the process of creating a unity app that needs to run in a React-Native-Unity-View(1). Although it all seems to work, the console is being spammed by these errors:



    ...
    08/05 16:49:13.905 18283 18283 Info ExoPlayerImpl Init d81f5f1 [ExoPlayerLib/2.9.3] [crownlte, SM-N960F, samsung, 28]
    08/05 16:49:13.909 18283 19202 Info Unity [AVProVideo] Creating player 0
    08/05 16:49:13.909 18283 19202 Info Unity
    08/05 16:49:13.909 18283 19202 Info Unity (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    08/05 16:49:13.909 18283 19202 Info Unity
    08/05 16:49:13.911 18283 19202 Error Unity OPENGL NATIVE PLUG-IN ERROR: GL_INVALID_ENUM: enum argument out of range
    08/05 16:49:13.911 18283 19202 Error Unity
    08/05 16:49:13.911 18283 19202 Error Unity (Filename: ./Runtime/GfxDevice/opengles/GfxDeviceGLES.cpp Line: 348)
    08/05 16:49:13.911 18283 19202 Error Unity
    08/05 16:49:13.913 18283 19202 Warn SimpleExoPlayer Player is accessed on the wrong thread. See https://google.github.io/ExoPlayer/faqs.html#what-do-player-is-accessed-on-the-wrong-thread-warnings-mean
    08/05 16:49:13.913 18283 19202 Warn SimpleExoPlayer java.lang.IllegalStateException
    08/05 16:49:13.913 18283 19202 Warn SimpleExoPlayer at com.google.android.exoplayer2.SimpleExoPlayer.verifyApplicationThread(SimpleExoPlayer.java:1195)
    08/05 16:49:13.913 18283 19202 Warn SimpleExoPlayer at com.google.android.exoplayer2.SimpleExoPlayer.setVideoSurface(SimpleExoPlayer.java:317)
    08/05 16:49:13.913 18283 19202 Warn SimpleExoPlayer at com.RenderHeads.AVProVideo.AVProVideoExoPlayer.BindSurfaceToPlayer(AVProVideoExoPlayer.java:946)
    08/05 16:49:13.913 18283 19202 Warn SimpleExoPlayer at com.RenderHeads.AVProVideo.AVProVideoPlayer.CreateAndBindSinkTexture(AVProVideoPlayer.java:1090)
    08/05 16:49:13.913 18283 19202 Warn SimpleExoPlayer at com.RenderHeads.AVProVideo.AVProVideoPlayer.RendererSetup(AVProVideoPlayer.java:511)
    08/05 16:49:13.913 18283 19202 Warn SimpleExoPlayer at com.RenderHeads.AVProVideo.AVProMobileVideo.RendererSetupPlayer(AVProMobileVideo.java:233)
    08/05 16:49:13.913 18283 19202 Warn SimpleExoPlayer at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
    08/05 16:49:13.913 18283 19202 Warn SimpleExoPlayer at com.unity3d.player.UnityPlayer.c(Unknown Source:0)
    08/05 16:49:13.913 18283 19202 Warn SimpleExoPlayer at com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source:88)
    08/05 16:49:13.913 18283 19202 Warn SimpleExoPlayer at android.os.Handler.dispatchMessage(Handler.java:102)
    08/05 16:49:13.913 18283 19202 Warn SimpleExoPlayer at android.os.Looper.loop(Looper.java:214)
    08/05 16:49:13.913 18283 19202 Warn SimpleExoPlayer at com.unity3d.player.UnityPlayer$e.run(Unknown Source:20)
    08/05 16:49:13.922 18283 19202 Info Unity [AVProVideo] Initialising AVPro Video (script v1.9.14 plugin v1.9.10) on Mali-G72/OpenGL ES 3.2 v1.r16p0-01rel0.###other-sha0123456789ABCDEF0### (MT False) on Android
    ...


    ...and then an endless stream of these errors:


    08/05 16:50:06.659 18283 19202 Warn SimpleExoPlayer Player is accessed on the wrong thread. See https://google.github.io/ExoPlayer/faqs.html#what-do-player-is-accessed-on-the-wrong-thread-warnings-mean
    08/05 16:50:06.676 18283 19202 Warn SimpleExoPlayer Player is accessed on the wrong thread. See https://google.github.io/ExoPlayer/faqs.html#what-do-player-is-accessed-on-the-wrong-thread-warnings-mean
    08/05 16:50:07.544 18283 19202 Info chatty uid=10459(com.standred) UnityMain identical 210 lines
    08/05 16:50:07.544 18283 19202 Warn SimpleExoPlayer Player is accessed on the wrong thread. See https://google.github.io/ExoPlayer/faqs.html#what-do-player-is-accessed-on-the-wrong-thread-warnings-mean
    08/05 16:50:07.560 18283 19202 Warn SimpleExoPlayer Player is accessed on the wrong thread. See https://google.github.io/ExoPlayer/faqs.html#what-do-player-is-accessed-on-the-wrong-thread-warnings-mean
    08/05 16:50:07.560 18283 19202 Warn SimpleExoPlayer Player is accessed on the wrong thread. See https://google.github.io/ExoPlayer/faqs.html#what-do-player-is-accessed-on-the-wrong-thread-warnings-mean
    08/05 16:50:07.560 18283 19202 Info chatty uid=10459(com.standred) UnityMain identical 1 line
    08/05 16:50:07.560 18283 19202 Warn SimpleExoPlayer Player is accessed on the wrong thread. See https://google.github.io/ExoPlayer/faqs.html#what-do-player-is-accessed-on-the-wrong-thread-warnings-mean
    08/05 16:50:07.561 18283 18283 Debug ViewRootImpl@5a138c7[MainActivity] ViewPostIme pointer 0
    08/05 16:50:07.579 18283 19202 Warn SimpleExoPlayer Player is accessed on the wrong thread. See https://google.github.io/ExoPlayer/faqs.html#what-do-player-is-accessed-on-the-wrong-thread-warnings-mean
    ... etc


    We're using Unity 2019.2.0b7 (yes it's released we know)
    AVProMedia version 1.9.14

    Any Ideas would we more than welcome, thnx!

    grtz, Cors

    (1) https://github.com/f111fei/react-native-unity-view
     
  47. JoakimOlsson

    JoakimOlsson

    Joined:
    May 20, 2019
    Posts:
    11
    Can I step through frame by frame of a mp4 video using AVPro? I am a newbie when it comes to working with video / audio files, but was kind of hoping that if the video contained a key on every frame it would be easy to step through the video? Or maybe there are ways to go about it, preferably something that allows me to get the data for a frame multiple times per second?
     
  48. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,619
    Yes, after opening the video you would have to seek after loading the video.

    You would need to wait for the Event to say that the video Is ready to play, then you can seek.
     
  49. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,619
    Perhaps you could post the HDRP issues you've been having to our Issues page so that the rest of our team can investigate:
    https://github.com/RenderHeads/UnityPlugin-AVProVideo/issues/76

    Also for seeing inside the sphere, we use our InsideSphere VR shader.
     
  50. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,619
    Yes that shader doesn't have a _Color property. You could add one manually, or you could use the transparent version of that shader, which does have the _Color property:
    "AVProVideo/VR/InsideSphere Unlit Transparent(stereo+color+fog+alpha)"

    Thanks,
     
unityunity