Search Unity

  1. Unity 2020.1 has been released.
    Dismiss Notice
  2. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    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,647
    This is something we've never tried...You can test it with the trial version. The behaviour will certainly be different between platforms, so if it works on one platform it might not work on another.

    Thanks,
     
  2. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    Thanks....some Android TVs can only decode a single video at once using hardware decoding. Did you try switching from ExoPlayer to MediaPlayer video API? Could you explain more about how often it fails to load a video...It's very difficult for me to guess what the issue could be without more details :)
     
  3. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    We are developing an app for playing HLS Video, but we have a problem that we can't jump to the accurate second with using seek() function during testing iOS Device (iPhone X/Xs iOS 12). Sometimes we have error more than 5 seconds.
    The function works fine on Android and Unity Editor for us.
    We are using Unity 2018.2.5f1 for this project.

    What can we do to improve the accuracy of the seeking action?
    Thank you.
    [/QUOTE]
    Thanks, we'll continue this thread over email support.
     
  4. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    Hi Marcos,

    I'm not sure what the issue could be..which version of AVPro Video and Unity are you using? Do any of our demo scenes work on the Android device (with our sample media)? Also you could look at the ADB log cat to see if what the error logged is.

    Thanks,
     
  5. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    Thanks for this Mandelboxed. I'm glad it's working for you, and this can certainly help other people to do the same thing. When we are back from the holidays we will look at integrating this into the plugin :)
     
  6. AndrewRH

    AndrewRH

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

    AVPro Video version 1.9.8 has just been released!

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

    Changes include:

    Windows
    • Fixed a rare crash bug that could happen when closing multiple videos at once

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

    Please report any issues here on the forum, or to our customer support email

    Thanks,
     
  7. Aismudi

    Aismudi

    Joined:
    Sep 14, 2017
    Posts:
    5
    Hi @AndrewRH
    I use AVPro Video version 1.9.8 . Video playback is good
    ,But Green screen when switching this video to next video on IOS platform. I use Unity2017.4.3, XRSetting(Cardboard). VideoType: URL(http),3840*1920,50fps

    QQ图片20181213112740.jpg
    QQ图片20181213112746.png

    QQ图片20181213112729.jpg
    And my AVPro Setting See pictures
     

    Attached Files:

  8. JackMini36

    JackMini36

    Joined:
    Feb 13, 2014
    Posts:
    20
    Hello Andrew,

    I also tried 1.9.6, but the issue is still there. I am not using OES.

    We use many different 360 videos (Mono and stereo), mostly mp4. Resolutions vary a lot (2K, 3K, 4K, even 5K). Eventually the issue appears to happens with any video.
     
    Last edited: Dec 13, 2018
  9. cellarmation

    cellarmation

    Joined:
    Jan 17, 2015
    Posts:
    25
    I am unable to get AVPro to work on the Hololens any more (I am sure I have seen it working in the past, but don't have a note of version information). I think someone else raised this issue a while ago, but it didn't really go anywhere as the RenderHeads dev's don't have access to a Hololens device. I can confirm that I still see the issue on AvPro 1.9.8 with Unity 2017.2 and VisualStudio 2017 15.9.2. I also see the issue on the Hololens Emulator which can be installed on a Windows 10 Pro PC for free (it needs Windows Hyper V).

    The follow debug information is from a Hololens Emulator session (version 10.0.17134.80). I have removed some information from the video paths. The repetition is as seen, possibly because the application had two videos in it.

    Code (CSharp):
    1. [AVProVideo] Failed to load DLL. Unable to load DLL 'AVProVideo': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
    2. [AVProVideo] Failed to load DLL. Unable to load DLL 'AVProVideo': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
    3. [AVProVideo] Not supported on this platform MetroPlayerX86 Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz (2047 MB) Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz Windows 10 (10.0.17134).  Using null media player!
    4. [AVProVideo] Not supported on this platform MetroPlayerX86 Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz (2047 MB) Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz Windows 10 (10.0.17134).  Using null media player!
    5. [AVProVideo] Initialising AVPro Video (script v1.9.8 plugin v0.0.0) on Microsoft RemoteFX Graphics Device - WDDM/Direct3D 11.0 [level 11.1] (MT True) on MetroPlayerX86
    6. [AVProVideo] Opening C:/Data/Users/DefaultAccount/AppData/Local/DevelopmentFiles/APPNAMEVS.Release_x86.USERNAME/Data/StreamingAssets\AVProVideoSamples/BigBuckBunny_360p30.mp4 (offset 0)
    7. [AVProVideo] Failed to load DLL. Unable to load DLL 'AVProVideo': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
    8. [AVProVideo] Failed to load DLL. Unable to load DLL 'AVProVideo': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
    9. [AVProVideo] Not supported on this platform MetroPlayerX86 Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz (2047 MB) Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz Windows 10 (10.0.17134).  Using null media player!
    10. [AVProVideo] Not supported on this platform MetroPlayerX86 Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz (2047 MB) Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz Windows 10 (10.0.17134).  Using null media player!
    11. [AVProVideo] Opening C:/Data/Users/DefaultAccount/AppData/Local/DevelopmentFiles/APPNAMEVS.Release_x86.USERNAME/Data/StreamingAssets\AVProVideoSamples/BigBuckBunny_360p30.mp4 (offset 0)
     
  10. ywwynm

    ywwynm

    Joined:
    Jun 27, 2018
    Posts:
    3
    Hi Andrew:

    I'm using your brilliant asset along with LAVFilters to play RTMP stream. I installed latest official release of LAV provided in form of installer(.exe) and everything works fine. However, I need to support some other functionalities which requires me to compile a custom version of LAV by myself. That's when the problem comes. I compiled LAV successfully with modifying some of its components like FFmpeg, and I registered LAV filters to Windows DirectShow framework after the build. Then I tested if I can find and use those filters: In both GraphEditNext(a tool to manage DirectShow filters) and PotPlayer, I can see and use LAV filters/codecs so I assume that LAV filters are registered correctly. However, I cannot play RTMP stream with your plugin! After I start playing the game, the AV Pro log shows it cannot open the url, and no DirectShow filter is used to open and decode the stream. I guess that AV Pro didn't find LAV filters so the problem occurred.
    I noticed that there is an option of AV Pro called "preferred filters" but I don't know how to use it. Should I fill it with paths of .ax files? I searched the user manual pdf but found nothing :(

    Because you often mentioned "LAVFilters", I think you may know it well and can give me a hand. Really need some help or suggestions. Thanks in advance.
     
  11. netpost

    netpost

    Joined:
    May 6, 2018
    Posts:
    239
    Hi,

    I just bought AVPro Video along with AVPro Video capture. Both seems like GREAT assets. I was just wondering if there is a way to use the timeline to control the playback a 360 video in AVPro video? I would like to add VFX on my 360 video project and being able to control play stop rewind scrub from the timeline would make my life easier. Just so you know, I know I am not a programmer. :)
     
  12. mathias_unity633

    mathias_unity633

    Joined:
    Jul 17, 2018
    Posts:
    35
    Hi, maybe you could add some information in the documentation about how you set up the whole YpCbCr420 pipeline? I only see some vague answers here about using 'a script' or 'the script' to split up the channels and turn them into RGB. I think it would be pretty nice if this was just handled automatically in AV Pro, but just a short tutorial or an explanation on which material/shader/script to use specifically would be great. I don't like that most solutions were 'just disable it', since it definitely helps performance.
     
  13. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    When switching video using the same MediaPlayer, the texture is destroyed/cleared so there is no valid texture to display. To get around this you can see how we do it in the demo scenes:

    02_Demo_imGui - here we fade to black between media loads

    03_Demo_VideoControls - here we use two MediaPlayers and only switch contents when the video is loaded and has a frame to display

    14_Demo_PlaylistTransitions - here we also use two MediaPlayers but add support for transition effects and more advanced playlisting

    I hope this helps.

    Thanks,
     
  14. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    Could you try using OES to see whether that helps?

    We still haven't managed to replicate the issue here but we'll keep trying.

    Thanks,
     
  15. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    Hmm that's strange...It seems that either it doesn't find the AVPro Video DLL file, or the platform isn't set correctly in the inspector so it is loading the wrong architecture DLL, or there is some dependency in the DLL that isn't available.....

    And does this also happen if you just try to make a normal desktop UWP build?

    Thanks,
     
  16. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    I'm afraid we aren't LAV Filter experts :) Very brave of you to build your own FFMPEG+LAV...I'm not sure why it wouldn't play the RTMP after that.. One reason could be that your filter doesn't have a high enough MERIT value, which means if there is another filter registered to handle RTMP then this will get used instead, and if it isn't able to play your stream it will just fail instead of giving your filter a chance to load it. If you try to open a RTMP URL in GraphStudioNext then it should also use the first available (default) filter for handling RTMP so that is one way of telling.

    The "Prefered Filters" field you can just put in the name of the filter, so perhaps "LAV Splitter Source" and/or "LAV Splitter" and/or "LAV Video Decoder".

    Thanks,
     
  17. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    Hi, I'm afraid we don't include any any timeline functionality with the assets, so this sort of integration would have to be done by the user (and probably involve scripting). I hope in the future we can add timeline support.

    Thanks,
     
  18. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    YpCbCr420 mode should already be supported automatically. Our shaders have support for this mode, so as long as you're using the DisplayIMGUI, DisplayUGUI components, or the ApplyToMesh/ApplyToMaterial components and your mesh is using a material with one of the AVPro Video shaders, it should just work.

    What problem are you having with it?
     
  19. mathias_unity633

    mathias_unity633

    Joined:
    Jul 17, 2018
    Posts:
    35
    That's what I meant :D Write it explicitly in the docs that you have to use a material with an AVPro Video shader. It just says vaguely 'shader'
    Personally I wouldn't mind if it detected that you are using YpCbCr420-mode and created a new Material with your AVPro Video shader and set that to the DisplayUGUI's material property. Then it would be automatic, completely careless.
     
  20. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    DisplayUGUI's and DisplayIMGUI do detect that YCbCr is being used, and then it uses the appropriate shader.

    All of our sample scenes that show mapping video to meshes (using ApplyToMesh/ApplyToMaterial) are you using the AVPro Video shaders.

    We'll update the documentation to explain this and the shader requirements. Thanks,
     
  21. futuraspace

    futuraspace

    Joined:
    Apr 18, 2017
    Posts:
    2
    Hi, I have issues with playing a Video (.mkv) with the most recent update of AVPro in Oculus Go:

    - I've tried creating a new project, and using a Demo scene (360SphereVideo), it worked well without touching anything and just buildibng that scene.

    - Once I loaded the mkv video and builded again, the video did not start in the Oculus Go, in editor it worked well.

    - The mkv video I'm trying to use is encoded through FB360 Encoder because I need Spatial Audio.
     
  22. futuraspace

    futuraspace

    Joined:
    Apr 18, 2017
    Posts:
    2
    Edit: False alarm, but if it is any use for anyone, the Audio Encoder was set to Direct, instead of FB 360.
     
    AndrewRH likes this.
  23. mborke

    mborke

    Joined:
    Jan 16, 2017
    Posts:
    5
    Problem description:

    When playing a (any) video in Windows Standalone, this Error is thrown:
    [AVProVideo] Opening C:/PATH_TO/PROJECT/PROJECT_Data/StreamingAssets\Circle.mov (offset 0)


    ArgumentOutOfRangeException: StartIndex cannot be less than zero.
    Parameter name: startIndex
    at System.String.Remove (System.Int32 startIndex) [0x00013] in <c95265f74fdf4905bfb0d5a4b652216c>:0
    at LogOutputHandler.HandleLog (System.String logString, System.String stackTrace, UnityEngine.LogType type) [0x00047] in <e84af055b65b4e7ea40a9fe01b5632f0>:0
    at UnityEngine.Application.CallLogCallback (System.String logString, System.String stackTrace, UnityEngine.LogType type, System.Boolean invokedOnMainThread) [0x0002a] in <4b58939e897a4c34942efe344ae250a9>:0
    UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
    UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
    UnityEngine.Logger:Log(LogType, Object, Object)
    UnityEngine.Debug:LogError(Object, Object)
    RenderHeads.Media.AVProVideo.MediaPlayer:OpenVideoFromFile()
    RenderHeads.Media.AVProVideo.MediaPlayer:Start()

    [AVProVideo] Failed to open C:/PATH_TO/PROJECT/PROJECT_Data/StreamingAssets\Circle.mov

    Curiously, it does work on one computer; our development computer (Standalone build still). It also works in the editor. Any idea why this is occurring? DirectShow is selected

    Device (which devices are you having the issue with - model, OS version number):

    Windows 10 x64 Standalone

    Media (tell us about your videos - number of videos, resolution, codec, frame-rate, example URLs):

    This happens with any video, 1920x1080, HAP codec (video plays in VLC with no problem on each computer), 30FPS. I've used your plugin hundreds of times,
    and this is the first time I've had issues with it. Seems to only be problematic in this project. I've tried running it in unity 2018.1, 2018.2 and 2017.3 (currently using).

    System Information:

    AVPro Video: plugin v1.8.9 scripts v1.8.9
    Target Platform: Standalone
    Unity: v2017.3.1f1 WindowsEditor
    OS: Desktop - G751JY (ASUSTeK COMPUTER INC.) - Windows 10 (10.0.0) 64bit - English
    CPU: Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz - 8 threads - 32717KB
    GPU: NVIDIA GeForce GTX 980M - NVIDIA - Direct3D 11.0 [level 11.1] - 4053KB - 16384
     
  24. c_andrews

    c_andrews

    Joined:
    Jan 26, 2015
    Posts:
    45
    Hi, I am having some issues with a HLS stream from Vimeo on my Huawei tablet. When the video starts buffering I get the following error:

    [AVProVideo] Creating player 0
    12-15 10:54:03.421 4183 4201 I Unity : UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
    12-15 10:54:03.421 4183 4201 I Unity : UnityEngine.Logger:Log(LogType, Object)
    12-15 10:54:03.421 4183 4201 I Unity : RenderHeads.Media.AVProVideo.AndroidMediaPlayer:.ctor(Boolean, Boolean, VideoApi, Boolean, Audio360ChannelMode, Boolean)
    12-15 10:54:03.421 4183 4201 I Unity : RenderHeads.Media.AVProVideo.MediaPlayer:CreatePlatformMediaPlayer()
    12-15 10:54:03.421 4183 4201 I Unity : RenderHeads.Media.AVProVideo.MediaPlayer:Initialise()
    12-15 10:54:03.421 4183 4201 I Unity : RenderHeads.Media.AVProVideo.MediaPlayer:Start()
    12-15 10:54:03.421 4183 4201 I Unity :
    12-15 10:54:03.421 4183 4201 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    12-15 10:54:03.421 4183 4201 I Unity :
    12-15 10:54:03.427 4183 4201 I Unity : [AVProVideo] Initialising AVPro Video (script v1.9.7 plugin v1.9.7) on Adreno (TM) 505/OpenGL ES 3.2 V@145.0 (GIT@Ib1167d03fb) (MT True) on Android
    12-15 10:54:03.427 4183 4201 I Unity : UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
    12-15 10:54:03.427 4183 4201 I Unity : UnityEngine.Logger:Log(LogType, Object)
    12-15 10:54:03.427 4183 4201 I Unity : RenderHeads.Media.AVProVideo.MediaPlayer:Initialise()
    12-15 10:54:03.427 4183 4201 I Unity : RenderHeads.Media.AVProVideo.MediaPlayer:Start()
    12-15 10:54:03.427 4183 4201 I Unity :
    12-15 10:54:03.427 4183 4201 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    12-15 10:54:03.427 4183 4201 I Unity :
    12-15 10:54:03.429 4183 4183 I ExoPlayerImpl: Init 91b0d3a [ExoPlayerLib/2.8.4] [HWBAH-Q, BAH-W09, HUAWEI, 24]
    12-15 10:54:03.431 4183 4201 E Unity : [AVProVideo] No file path specified
    12-15 10:54:03.431 4183 4201 E Unity : UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
    12-15 10:54:03.431 4183 4201 E Unity : UnityEngine.Logger:Log(LogType, Object, Object)
    12-15 10:54:03.431 4183 4201 E Unity : UnityEngine.Debug:LogError(Object, Object)
    12-15 10:54:03.431 4183 4201 E Unity : RenderHeads.Media.AVProVideo.MediaPlayer:OpenVideoFromFile()
    12-15 10:54:03.431 4183 4201 E Unity : RenderHeads.Media.AVProVideo.MediaPlayer:Start()
    12-15 10:54:03.431 4183 4201 E Unity :
    12-15 10:54:03.431 4183 4201 E Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    12-15 10:54:03.431 4183 4201 E Unity :
    12-15 10:54:03.440 1650 1998 I qti_sensors_hal: [ACC]processReportInd: X: -0.203511 Y: 0.173817 Z: 10.151905 x_offset:0.023564 y_offset:-0.087865 z_offset:1.002834
    12-15 10:54:03.460 1650 1998 I qti_sensors_hal: [ACC]processReportInd: X: -0.304066 Y: 0.226491 Z: 9.820570 x_offset:0.023564 y_offset:-0.087865 z_offset:1.002834
    12-15 10:54:03.480 1650 1998 I qti_sensors_hal: [ACC]processReportInd: X: -0.404622 Y: 0.116353 Z: 9.791756 x_offset:0.023564 y_offset:-0.087865 z_offset:1.002834
    12-15 10:54:03.642 1650 1998 I qti_sensors_hal: [LightSensor]processReportInd: ItemData[0]:1670000,ItemData[1]:cf60000,lux:359.000000,cct:3318.000000
    12-15 10:54:03.656 1650 2064 I SendBroadcastPermission: action:android.net.wifi.SCAN_RESULTS, mPermissionType:0
    12-15 10:54:03.664 1650 2064 W WifiStateMachine: attemptAutoConnect: false
    12-15 10:54:03.899 14468 4270 I DeviceScanner: [MDNS] Received response from "Bedroom TV" (bab728567d16b6da74f943b5bab0e535) with result "1 New device"
    12-15 10:54:03.932 4183 4201 I Unity : [AVProVideo] Opening https://player.vimeo.com/play/11711...\Api\Resources\VideoController.&logging=false (offset 0)
    12-15 10:54:03.932 4183 4201 I Unity : UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
    12-15 10:54:03.932 4183 4201 I Unity : UnityEngine.Logger:Log(LogType, Object, Object)
    12-15 10:54:03.932 4183 4201 I Unity : UnityEngine.Debug:Log(Object, Object)
    12-15 10:54:03.932 4183 4201 I Unity : RenderHeads.Media.AVProVideo.MediaPlayer:OpenVideoFromFile()
    12-15 10:54:03.932 4183 4201 I Unity : Vimeo.Player.VimeoPlayer:VideoControllerPlayVideo()
    12-15 10:54:03.932 4183 4201 I Unity : Vimeo.Player.VimeoPlayer:VideoMetadataLoad(String)
    12-15 10:54:03.932 4183 4201 I Unity : Vimeo.<Request>c__Iterator3:MoveNext()
    12-15 10:54:03.932 4183 4201 I Unity : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
    12-15 10:54:03.932 4183 4201 I Unity :
    12-15 10:54:03.932 4183 4201 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    12-15 10:54:03.932 4183 4201 I Unity :
    12-15 10:54:03.939 4183 4183 I System.out: AVProVideo buffer preparing
    12-15 10:54:03.978 1650 1998 I qti_sensors_hal: [LightSensor]processReportInd: ItemData[0]:1240000,ItemData[1]:c820000,lux:292.000000,cct:3202.000000
    12-15 10:54:04.051 1650 2429 I SendBroadcastPermission: action:huawei.intent.action.APP_KILLED_FOR_KARAOKE_ACTION, mPermissionType:0
    12-15 10:54:04.053 1650 3141 E HsmCoreServiceImpl: onTransact in code is: 102
    12-15 10:54:04.053 1650 3141 I MediaProcessHandler: processOp opType: 1, uid: 10071, pid: 1456
    12-15 10:54:04.053 1650 3141 W MediaProcessHandler: remove target not exist, maybe the UI process: uid: 10071, pid: 1456
    12-15 10:54:04.314 1650 1998 I qti_sensors_hal: [LightSensor]processReportInd: ItemData[0]:1270000,ItemData[1]:cb30000,lux:295.000000,cct:3251.000000
    12-15 10:54:04.322 2436 3102 I DownloadState: @@@@@@@@@@@@ uid :10116 download :true
    12-15 10:54:04.322 2436 3102 I PGServer: report state:5 event type:1 pid:0 uid:10116 pkg:null to pid: 1650
    12-15 10:54:04.521 2134 2134 E wpa_supp: RSSI=-66;LINKSPEED=195;NOISE=9999;FREQUENCY=5240;
    12-15 10:54:04.567 4183 4183 E AVProVideo: EventLogger: internalError [1.15, loadError]
    12-15 10:54:04.567 4183 4183 E AVProVideo: EventLogger: com.google.android.exoplayer2.source.UnrecognizedInputFormatException: None of the available extractors (MatroskaExtractor, FragmentedMp4Extractor, Mp4Extractor, Mp3Extractor, AdtsExtractor, Ac3Extractor, TsExtractor, FlvExtractor, OggExtractor, PsExtractor, WavExtractor, AmrExtractor) could read the stream.
    12-15 10:54:04.567 4183 4183 E AVProVideo: EventLogger: at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractorHolder.selectExtractor(ExtractorMediaPeriod.java:927)
    12-15 10:54:04.567 4183 4183 E AVProVideo: EventLogger: at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:849)
    12-15 10:54:04.567 4183 4183 E AVProVideo: EventLogger: at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:320)
    12-15 10:54:04.567 4183 4183 E AVProVideo: EventLogger: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
    12-15 10:54:04.567 4183 4183 E AVProVideo: EventLogger: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    12-15 10:54:04.567 4183 4183 E AVProVideo: EventLogger: at java.lang.Thread.run(Thread.java:776)
    12-15 10:54:04.568 4183 4292 E ExoPlayerImplInternal: Source error.
    12-15 10:54:04.568 4183 4292 E ExoPlayerImplInternal: com.google.android.exoplayer2.source.UnrecognizedInputFormatException: None of the available extractors (MatroskaExtractor, FragmentedMp4Extractor, Mp4Extractor, Mp3Extractor, AdtsExtractor, Ac3Extractor, TsExtractor, FlvExtractor, OggExtractor, PsExtractor, WavExtractor, AmrExtractor) could read the stream.
    12-15 10:54:04.568 4183 4292 E ExoPlayerImplInternal: at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractorHolder.selectExtractor(ExtractorMediaPeriod.java:927)
    12-15 10:54:04.568 4183 4292 E ExoPlayerImplInternal: at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:849)
    12-15 10:54:04.568 4183 4292 E ExoPlayerImplInternal: at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:320)
    12-15 10:54:04.568 4183 4292 E ExoPlayerImplInternal: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
    12-15 10:54:04.568 4183 4292 E ExoPlayerImplInternal: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    12-15 10:54:04.568 4183 4292 E ExoPlayerImplInternal: at java.lang.Thread.run(Thread.java:776)
    12-15 10:54:04.570 4183 4183 I System.out: AVProVideo error null
    12-15 10:54:04.584 4183 4201 E Unity : [AVProVideo] Error: Loading failed. File not found, codec not supported, video resolution too high or insufficient system resources.
    12-15 10:54:04.584 4183 4201 E Unity : UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
    12-15 10:54:04.584 4183 4201 E Unity : UnityEngine.Logger:Log(LogType, Object)
    12-15 10:54:04.584 4183 4201 E Unity : RenderHeads.Media.AVProVideo.MediaPlayer:UpdateErrors()
    12-15 10:54:04.584 4183 4201 E Unity : RenderHeads.Media.AVProVideo.MediaPlayer:Update()
    12-15 10:54:04.584 4183 4201 E Unity :
    12-15 10:54:04.584 4183 4201 E Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    12-15 10:54:04.584 4183 4201 E Unity :


    I have been developing on IOS and that is fine with no problems.

    On Android I have tried the following:
    I have tried switching betwen the MediaPlayer and ExoPlayer in the MediaPlayer->PlatformSpecific->Android settings
    I have tried modifying the build settings between .NET 4 to .NET 3.5, switching the scripting backend between Mono and IL2CPP and changed the Api Compatability level.
    I have also setup a new empty project just containing the Vimeo API and AVPro plugins
    Internet access is set to "Require" and Minimum API level is Android 6.0

    Device (which devices are you having the issue with - model, OS version number):

    Android Huawei MediaPad M3, running Android 7.0

    Media (tell us about your videos - number of videos, resolution, codec, frame-rate, example URLs):

    Videos are stored on Vimeo and is using Adaptive streaming.

    System Information:

    AVPro Video: plugin v1.9.6 scripts v1.9.7
    Target Platform: Android
    Unity: v2018.2.16f1 OSXEditor
    OS: Desktop - MacBookPro10,2 - Mac OS X 10.14.0 - English
    CPU: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz - 4 threads - 8192KB
    GPU: Emulated GPU running OpenGL ES 3.0 - Emulated - OpenGL ES 3.0 [emulated] - 1536KB - 4096


    Any help is appreciated.
    Thanks,
     
  25. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    Thanks for all of that information. When I download the link it is a DASH stream, not HLS. Maybe that's because I'm on Windows... Are you using the VimeoPlayer Unity plugin to get the URL?

    Thanks,
     
  26. BjoUnity3d

    BjoUnity3d

    Joined:
    Jul 24, 2012
    Posts:
    39
    I ran into this just now:


    Problem description:

    12-15 06:47:36.365 14701 14733 I Unity : Playing from cache: /storage/emulated/0/Android/data/com.react.supersquares/files/ad_video_cache/757ebe8a-9a3e-452c-a83c-b17119a322be.mp4
    12-15 06:47:36.365 14701 14733 I Unity :
    12-15 06:47:36.365 14701 14733 I Unity : (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
    12-15 06:47:36.365 14701 14733 I Unity :
    12-15 06:47:36.393 14701 14733 E Unity : AndroidJavaException: java.util.NoSuchElementException
    12-15 06:47:36.393 14701 14733 E Unity : java.util.NoSuchElementException
    12-15 06:47:36.393 14701 14733 E Unity : at java.util.ArrayDeque.removeFirst(ArrayDeque.java:264)
    12-15 06:47:36.393 14701 14733 E Unity : at com.google.android.exoplayer2.ExoPlayerImpl.updatePlaybackInfo(ExoPlayerImpl.java:682)
    12-15 06:47:36.393 14701 14733 E Unity : at com.google.android.exoplayer2.ExoPlayerImpl.stop(ExoPlayerImpl.java:358)
    12-15 06:47:36.393 14701 14733 E Unity : at com.google.android.exoplayer2.SimpleExoPlayer.stop(SimpleExoPlayer.java:777)
    12-15 06:47:36.393 14701 14733 E Unity : at com.google.android.exoplayer2.SimpleExoPlayer.stop(SimpleExoPlayer.java:772)
    12-15 06:47:36.393 14701 14733 E Unity : at com.RenderHeads.AVProVideo.AVProVideoExoPlayer._stop(AVProVideoExoPlayer.java:843)
    12-15 06:47:36.393 14701 14733 E Unity : at com.RenderHeads.AVProVideo.AVProVideoExoPlayer.CloseVideoOnPlayer(AVProVideoExoPlayer.java:394)
    12-15 06:47:36.393 14701 14733 E Unity : at com.RenderHeads.AVProVideo.AVProVideoPlayer.CloseVideo(AVProVideoPlayer.java:408)
    12-15 06:47:36.393 14701 14733 E Unity : at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
    12-15 06:47:36.393 14701 14733 E Unity : at com.unity3d.player.UnityPlayer.c(Unknown Source:0)
    12-15 06:47:36.393 14701 14733 E Unity : at com.unity3d.player.UnityPlayer$e$2.queueIdle(Unknown Source:72)
    12-15 06:47:36.393 14701 14733 E Unity : at android.os.MessageQueue.next(MessageQueue.java:395)
    12-15 06:47:36.393 14701 14733 E Unity : at android.os.Looper.loop(Loope

    Device (which devices are you having the issue with - model, OS version number):

    Android Google Pixel 2

    Media (tell us about your videos - number of videos, resolution, codec, frame-rate, example URLs):

    720p mp4 streaming from Google CDN

    System Information:

    AVPro Video: plugin v1.9.6 scripts v1.9.8
    Target Platform: Android
    Unity: v2017.4.10f1 OSXEditor
    OS: Desktop - iMac18,3 - Mac OS X 10.14.1 - English
    CPU: Intel(R) Core(TM) i5-7600 CPU @ 3.50GHz - 4 threads - 24576KB
    GPU: Emulated GPU running OpenGL ES 3.0 - Emulated - OpenGL ES 3.0 [emulated] - 4096KB - 4096
     
  27. c_andrews

    c_andrews

    Joined:
    Jan 26, 2015
    Posts:
    45
    No problem, hopefully it helps figure out the issue.
    Yes I am using the VimeoPlayer Unity Plugin.
    I can send you my test project if that helps?
     
  28. lauraaa

    lauraaa

    Joined:
    Dec 30, 2016
    Posts:
    16
    Hello!
    Does AVProVideo still only support routing to Unity's AudioSource on Windows platform?
    Would it be possible on iOS and Android, for achieving spatial sound? Thanks!
     
  29. 8r3nd4n

    8r3nd4n

    Joined:
    Sep 10, 2011
    Posts:
    28
    Hi,

    Is there a way to access the individual camera settings in Stereo VR mode?
    I have my own subtitle system that I have implemented onto a canvas but render at the same position on each eye causing them to appear unaligned. I would need to set an offset on the x axis on the canvas for each eye/camera.
    How can I achieve this?

    Cheers
     
  30. Aismudi

    Aismudi

    Joined:
    Sep 14, 2017
    Posts:
    5

    Thank you for your reply. I've tested the script in 02_Demo_imGui demo, and I changed the texture of Sphere into another one. However, the screen still would become green. Please look at the picture:
    This is the picture of my code 4@03GXDYN0AXEPRPAXNVQ}6.png

    That problem only exists on IOS platform. I've set the variable: close "Use YpCbCr420", the screen would not become green but the program would crash. Would you mind analyzing that? S~S[1TCZF~G%XX%NOACOXUQ.png
     
  31. JackMini36

    JackMini36

    Joined:
    Feb 13, 2014
    Posts:
    20
    Hello Andrew,

    The OES shader produces distortions on the poles with 360 videos (all videos), so this is not an options for us. Anything else I should try?

    Also, I came across another bug.
    I noticed that sometimes the
    MediaPlayerEvent.EventType.FinishedPlaying
    is not been triggered at all when the video finishes. So, as a workaround I tried to do it manually by using
    Control.GetCurrentTimeMs()
    and
    Info.GetDurationMs()
    .

    I guess internally you use the same way of checking whether a video is finished, because I found out that
    Control.GetCurrentTimeMs()
    just gets stuck at 17 or 33 most of the time. Moreover, it got stuck on the same videos that the
    MediaPlayerEvent.EventType.FinishedPlaying
    was not being triggered. Is this somehow affected by the type/resolution/duration of the video? I tried many videos but could not see a clear pattern of when it works and when it doesn't.

    Our app relies a lot on
    MediaPlayerEvent.EventType.FinishedPlaying
    , so this is a big issue. Is there another workaround for this?

    I am using Android and MediaPlayer.
    Oculus Go and Gear VR (Samsung S6). On Windows it seems to work fine.

    AVPro Video 1.9.6
    Unity 2018.2.9
     
    Last edited: Dec 17, 2018
  32. remy_rm

    remy_rm

    Joined:
    Jan 16, 2017
    Posts:
    17
    Hi Andrew,

    I was wondering where in the AVPro video codebase the `m_videoPath` uri gets requested and processed when using `AbsolutePathOrURL`. I couldn't find it, but may have just overlooked it. Is it publicly accessable? Or perhaps in a dll?

    Edit:
    If it is not publicly accessable could you maybe explain what you are using to request it? (UnityWebRequest, NetworkStream etc.)

    I am currently stumbling accros an occasional error
    System.IO.IOException: Unable to write data to the transport connection: Connection reset by peer. ---> System.Net.Sockets.SocketException: Connection reset by peer.
    when writing my videos to the mediaplayer.

    Since I am using unity 2019 which isn't officially supported yet (though it seems to work very good) I want to make sure wether the issue is on my end or that upgrading to Unity 2019 broke something in the plugin.

    using AVPro video 1.9.6

    With kind regards,
    Remy.
     
    Last edited: Dec 19, 2018
  33. sandman3

    sandman3

    Joined:
    Feb 21, 2017
    Posts:
    12
    I am experiencing a NullPointer on a Samsung Galaxy J5 when leaving a scene with a MediaPlayer in it using ExoPlayer as playback engine. I hope this is enough information, but it looks like a clear stack trace:

    Edit: using AVProVideo 1.9.8, but can also reproduce in 1.9.5. Workaround for me was using Destroy on the player manually before leaving the scene (although the scene unload should do the same).

     
    Last edited: Dec 20, 2018
  34. sandman3

    sandman3

    Joined:
    Feb 21, 2017
    Posts:
    12
    I am also regularly getting a Stalled event that the player never seems to exit on its own, using an Absolute Path and ExoPlayer. Reloading the video from the same settings on MediaPlayer works, but this shouldn't be necessary. Do you have any info on how to prevent this from happening?
     
  35. prasetion

    prasetion

    Joined:
    Apr 3, 2014
    Posts:
    16
    hello team, i want to ask, something weird happen in my iOS app. Ok, i have already succed to get thumbnail with ExtractFrame method. And when i tried in unity editor, it runs well, and everything is ok. When i build for iOS,and tested in my device, iPhone 7 with OS 12, something weird happened. when i success get the texture after extract frame, i assign into rawimage ui unity, and the image so red or sometimes the image too bright, it likes error in brightness or contrast in extractframe method. Then i try to play and pause the video, then use ugui video component, the result is same. In this case i try to get thumbnail from my video in server.

    Actually my video is using HLS format, i dont use specific setting in media player avpro component, i just use the default setup, is it the problem?? i really don't know. And i use three thumbnail in UI canvas. So I added three media player to load video stream and get the texture, is it the problem too if add more than one media player? it makes me stressed.

    my team use unity 2018.1.3f1, avpro version 1.9.8 Released 13 December 2018

    Hope to get your reply. Thanks
     
  36. gaoyu22

    gaoyu22

    Joined:
    Nov 22, 2018
    Posts:
    7
    Hello AndrewRH!

    I have a problem playing online videos.
    My Unity version is 2017.4, AVPro version latest trial verion(1.9.7), android version 8.1.

    Here is the details:
    I load the online audio which has a http url and avpro start to buffer, works fine the first buffering and the buffering progress increase fast cause the network speed used by avpro is high(about 1MB/s); then avpro starts to play for several seconds and i notice that when playing the buffered video, avpro cant buffer at the same time, which is different from what i expected like youtube can buffer when playing; after avpro play all the buffered data, it start the buffering again and that is when the problem come. it seems that the second buffering can only get little data and then no speed at all. i have a adb log which shows the progress of second buffering for you to check.

    To be clear, can avpro buffer when play? And the second problem is, is it true that avpro cant buffer regularly after the first buffering?

    I only tested Windows and Android for the same playing method. When on windows, avpro can buffer when play for sure. But i cant get it work on Android, avpro buffer seems stopped on the second buffer.

    Need some help, thanks a lot. If the details is not clear, ask me for more information.
     

    Attached Files:

  37. c_andrews

    c_andrews

    Joined:
    Jan 26, 2015
    Posts:
    45
    Hi, i'm having a compile issue with Unity 2018.3 and AVPro 1.9.8.
    I get the following build error from XCode:

    Undefined symbols for architecture arm64:
    "_OBJC_CLASS_$_MPMoviePlayerViewController", referenced from:
    objc-class-ref in MediaLibraryHandler.o
    "_MPMoviePlayerPlaybackDidFinishReasonUserInfoKey", referenced from:
    -[MediaLibraryHandler moviePlayerDidFinishReason:] in MediaLibraryHandler.o
    "_MPMoviePlayerPlaybackDidFinishNotification", referenced from:
    -[MediaLibraryHandler playVideoAtURL:fullscreen:] in MediaLibraryHandler.o
    -[MediaLibraryHandler moviePlayerDidFinishReason:] in MediaLibraryHandler.o
    ld: symbol(s) not found for architecture arm64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    Any idea how to fix it?
    Thanks in advance
     
  38. c_andrews

    c_andrews

    Joined:
    Jan 26, 2015
    Posts:
    45

    Ok I seem to have resolved it by adding the MediaPlayer.framework to my XCode project.
     
    AndrewRH likes this.
  39. Andy_Zhu

    Andy_Zhu

    Joined:
    Dec 23, 2014
    Posts:
    1
    Problem description:

    1,Use shader:AVProVideo-VR-InsideSphere-AndroidOES
    2,Run in Android,Use ExoPlayer and Set "Use Fast OES Path"to true
    3,Run "08_Demo_360SphereVideo",The "Apply To Mesh" "Default Texture" not work

    Device (which devices are you having the issue with - model, OS version number):

    Android device

    Media (tell us about your videos - number of videos, resolution, codec, frame-rate, example URLs):

    video:AVProVideoSamples/BigBuckBunny_720p30

    System Information:

    AVPro Video: plugin v1.9.5 scripts v1.9.6
    Target Platform: Android
    Unity: v2017.4.3f1 WindowsEditor
    OS: Desktop - B85-HD3-A (Gigabyte Technology Co., Ltd.) - Windows 10 (10.0.0) 64bit - Chinese
    CPU: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz - 8 threads - 16283KB
    GPU: Emulated GPU running OpenGL ES 3.0 - Emulated - OpenGL ES 3.0 [emulated] - 2017KB - 4096
     
  40. snw

    snw

    Joined:
    Mar 13, 2014
    Posts:
    41
    Hi,

    I'm currently trying out the trial version and somehow can't get it to run in Editor on Mac OSX.
    No error messages, but the videos in all example scenes don't play.

    Any ideas?

    Specs:
    MacOS 10.13.6
    Unity 2018.2.13f1
    AVPro 1.9.8 Trial


    Thanks
     
  41. DarknessYao

    DarknessYao

    Joined:
    Dec 17, 2017
    Posts:
    7
    I use unity v5.3.2, and avpro1.7.4 to play my video, i check the auto open in media player, but i do not check the auto play in media player. The floder is set right , it work well when i test the video in editor, but when i build the game, it can't play and failed. Can you help me ? :(:(:(


    Following are some details:
    1.I put the video file in the Assets\StreamingAssets\AVProVideoSamples, with other sample videos.
    2.In the MediaPlayer Component, i set the source path to:realtive to streaming asset floder, and i choose the video file. It shows:AVProVideoSamples\MDSave.mp4.(MDSave.mp4 is the mp4 file i want to play).
    3.I use the following code to control the media player:

    public class MDController : MonoBehaviour {
    public MediaPlayer mp; //the media player component reference
    public GameObject diamovie; //the ugui to display the video file

    void Start(){
    diamovie.SetActive(false);
    }

    void Show(){
    diamovie.SetActive(true);
    mp.Control.Play();
    }

    void Stop(){
    diamovie.SetActive(false);
    mp.Control.Stop();
    }
    }

    4.The set of the two object is as follow:

    5.I make no other things to the other things.
    6.The problem is the video can be played in the editor,but it can not be played in the build application.
     
  42. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    Hey everybody, thanks for your patience while we've been away for the season holidays. We're back in the office now so normal support should resume soon. Thanks,
     
  43. cellarmation

    cellarmation

    Joined:
    Jan 17, 2015
    Posts:
    25
    Sorry for the slow response to this. I have tried running the application as a normal desktop UWP build as you requested. This also does not work, and I get a very similar error just with the errors specifying the different platform/architecture. The log below is slightly abridged:

    Code (CSharp):
    1. [AVProVideo] Failed to load DLL. Unable to load DLL 'AVProVideo': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
    2. [AVProVideo] Failed to load DLL. Unable to load DLL 'AVProVideo': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
    3. [AVProVideo] Not supported on this platform MetroPlayerX64 To be filled by O.E.M. (Gigabyte Technology Co., Ltd.) Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz Windows 10 (10.0.17763) 64bit.  Using null media player!
    4. [AVProVideo] Not supported on this platform MetroPlayerX64 To be filled by O.E.M. (Gigabyte Technology Co., Ltd.) Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz Windows 10 (10.0.17763) 64bit.  Using null media player!
    5. [AVProVideo] Initialising AVPro Video (script v1.9.8 plugin v0.0.0) on NVIDIA GeForce GTX 1080/Direct3D 11.0 [level 11.1] (MT True) on MetroPlayerX64
    6. [AVProVideo] Opening <PATHREMOVED>/BigBuckBunny_360p30.mp4 (offset 0)
    7. [AVProVideo] Failed to load DLL. Unable to load DLL 'AVProVideo': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
    8. [AVProVideo] Failed to load DLL. Unable to load DLL 'AVProVideo': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
    9. [AVProVideo] Not supported on this platform MetroPlayerX64 To be filled by O.E.M. (Gigabyte Technology Co., Ltd.) Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz Windows 10 (10.0.17763) 64bit.  Using null media player!
    10. [AVProVideo] Not supported on this platform MetroPlayerX64 To be filled by O.E.M. (Gigabyte Technology Co., Ltd.) Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz Windows 10 (10.0.17763) 64bit.  Using null media player!
    11. [AVProVideo] Opening <PATHREMOVED>/BigBuckBunny_360p30.mp4 (offset 0)
    Currently what I see is that it won't work on the Hololens device, Hololens emulator or UWP desktop, but it does work in the Unity editor. Any other ideas of what to try or information to gather? Thanks.
     
  44. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    Hmm that sounds very strange. Did you manage to resolve it?

    From the log above it looks like there is something in the code that has registered to listen for logging events. It looks like it's called "LogOutputHandler.HandleLog" which is from a 3rd party script called Loggly....so perhaps it's something related to this?
     
  45. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    Thanks for reporting this. Did you manage to resolve it? If not, a workaround may be to switch the video API from ExoPlayer to MediaPlayer (in MediaPlayer > Platform Specific > Android > Preferred Video API).
    Do let me know if you're still having this problem, how often it happens, and whether you're able to easily reproduce it, especially with one of our demo scenes). Thanks,
     
  46. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    We've got in touch with Vimeo. We're both trying to fix the issue - it seems to be related to some issue with the Windows decoder and a specific manifest format. We also have it fixed in AVPro Video 2.0 but that won't be released for a while.
     
  47. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    Yes this is still the case. On iOS I don't think it is possible. On Android it may be possible but it will be a lot of work so it's not something we're looking at doing right now. On Android though we do have support for spatial audio using the Facebook Audio 360 encoding tech.

    Thanks,
     
  48. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    Unity automatically renders in stereo and applies the IPD offset to each camera when you are using VR, so your text should render in stereo correctly without doing anything... Keep in mind that there may be an optimal distance from the camera that your text should be. This Unity doc says:

    https://unity3d.com/learn/tutorials/topics/virtual-reality/user-interfaces-vr

    "Placement of the UI within the world also needs some consideration. Too close to the user can cause eye strain, and too far away can feel like focussing on the horizon - this might work in an outdoor environment, but not in a small room. You’ll also need to scale the size of the UI accordingly, and perhaps dynamically depending on your needs.

    If possible, it’s best to position your UI at a comfortable reading distance, and scale it accordingly. See the UI in Main Menu for an example of this: It’s positioned a few meters away, and the text and images are large and easy to view."


    They also have a sample scene that shows to how to render text in VR.

    Thanks,
     
  49. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    Instead of trying to change the material texture property yourself, you should use the ApplyToMesh component. This component handles different cases (like the YCbCr mode on iOS).

    Thanks,
     
  50. AndrewRH

    AndrewRH

    Joined:
    Jan 24, 2012
    Posts:
    2,647
    The OES shader juses uses the texture coordinates of the mesh, so you could try to use a mesh with more accurate coordinates, or a more highly tesselated mesh.

    You could also add support to the OES shader to use the normals of the mesh to derive more accurate texture coordinates. This is what we do in the other InsideSphere shaders with the HIGH_QUALITY option which fixes the issue of the distortion at the poles, but at a high per-pixel shader cost. It may be possible to take this code and convert it into the GLSL OES shader, but it will be a little tricky. I would first try the mesh changing method.

    I haven't seen this issue before where FinishedPlaying event doesn't fire, or when GetCurrentTimeMs keeps returning the same value. To me this sounds like the video decoder is struggling to keep up. Perhaps your video is too high bit-rate? What is the resolution, frame-rate, codec, bit-rate of your video? It's certainly curious that it is always the same videos that do this.... I also wonder whether you switch the API to ExoPlayer whether it will still have this problems. Let me know how it goes. If you want to send us one of the offending videos then we can test it too. Also let us know how often it will have this incorrect behaviour.

    Thanks,
     
unityunity