Search Unity

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

[ OSX Video Texture Pro ] - Improved QTKit/Quicktime video player for MacOSX

Discussion in 'Assets and Asset Store' started by brianchasalow, Jan 3, 2012.

  1. SeTHBeaRzz

    SeTHBeaRzz

    Joined:
    Jan 8, 2014
    Posts:
    35
    Alright, will look into it. Thanks for your help ^^
     
  2. Unity_gamer

    Unity_gamer

    Joined:
    Aug 19, 2011
    Posts:
    30
    Hi Brian,

    I have some problem with the plugin. While playing the video if i try to destroy the game object the video is getting stuck at that point and hence the the game is getting stuck! It won't happen all the time but it happens more often .I really want to fix this problem.

    I really appreciate your help on the same.

    Thanks
     
  3. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    i'm not entirely following. what does stuck mean? and, you're destroying a gameobject with the video on it, and the video is stopping, and that is surprising you? or you're destroying an entirely different gameobject, and the video is pausing? is this iOS or OSX? I'm going to need more specific details to understand your problem.
     
  4. Unity_gamer

    Unity_gamer

    Joined:
    Aug 19, 2011
    Posts:
    30
    Thanks for your reply.

    I'm working on iOS platform and specific to IPAD. I have a game object in the scene which has Close button and Video as the child.While video is playing if i press close button i will destroy the parent object so that game object which the video is playing will also get destroyed.But sometime when i do press close button video will stop playing and game will stop responding.I tried destroying the game object in which the video is attached separately but that also didn't work.

    In order to tackle this issue i tried a different way also like keeping the video playing all the time in the scene (its costly though) and change the volume to 0 (Will change the video screen dimension also to 0 )when the user press close button but in IPAD volume is not getting lowered I could see the log that volume has changed to 0 but still i could hear the video sound.

    I prefer the 1st way because it helps to reduce the memory intake. But not sure why its not working.

    Thanks
     
  5. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Let me see if i'm following- the problem is that the game stops responding when you attempt to destroy the GameObject that contains the VideoTexture?
    Maybe sounds like you're trying to access a reference of something that has been destroyed, race condition perhaps... Try DestroyImmediate() ?

    Volume control on iOS only work in recent builds- hopefully you're using the latest from the asset store. (or the beta I posted a few pages ago on this thread) But, you should probably be destroying the object instead, yeah.
     
  6. Unity_gamer

    Unity_gamer

    Joined:
    Aug 19, 2011
    Posts:
    30
    Thanks alot for your help Brain,

    Yes, the problem happens when i try to destroy the Game Object that contains the Video texture.

    Will try DestroyImmediate() and will let you know.

    I will double check the plugin I'm using currently.

    Thanks
     
  7. daterre

    daterre

    Joined:
    Jul 30, 2012
    Posts:
    41
    First of all let me say that this is an amazingly built plugin and your dedication to the community is truly inspiring.

    With that out of the way :), I am experiencing similar issues to those encountered by SeTHBeaRzz last week, but in my case, the problem occurs even when using the buttons on your inspector. My intention is to play different transitions in and out of a still frame by playing a video, freezing it on the last frame, waiting for user input, and then playing a different video that starts from the last frame of the previous.

    For this purpose I set the video texture to PLAY_VIDEO_AND_STOP.

    After much trial and error I have boiled it down to this:
    (a) I run the project. The 1st video in the queue plays.
    (b) I click on the 2nd video. If I do this before the 1st is done playing, the 2nd starts playing normally. If I wait for the 1st to end (it freezes on the last frame), the bug occurs:
    (c) The play/pause button changes to playing ( > ), but no video is visible. Pressing the 2nd button again and again has no effect expect making the timeline slider dance around to different positions.
    (d) After a few seconds (the length of the invisible video, presumably), the play button switches back to || and the timeline resets to 0. After this, if I press the button again, the video plays normally.

    The same is true for any number of videos in a queue, with the possible caveat that this is only true for the next video in the queue. Jumping to any other video works fine. Is it possible that upon ending playback of a video, the queue has already internally advanced and paused on the next, and the ensuing jumpToVideo call conflicts with it?

    Greatly appreciate any insights.
     
  8. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Right now, if you use any of the _AND_STOP loop styles, you are basically required to change the IsPaused state when you want the queue to advance again. Selecting any other method prior to doing this, (that happens to force the video to advance the queue) is not intentional. Is this what I understand is happening? You're waiting for it to naturally pause, and calling jumpToVideo, forcing an advance?

    If you are required to do this, try calling IsPaused = false; right before your code to jumpToVideo()
     
  9. daterre

    daterre

    Joined:
    Jul 30, 2012
    Posts:
    41
    Thanks for your response! You are right, that is what I am trying to do.

    I tried your solution but it still didn't help. What did work however is the following:

    Code (csharp):
    1.  
    2. int videoNext = -1;
    3. int videoPrev = 0;
    4. VideoTexture video;
    5.  
    6. void Update() {
    7.     // Wait for this value to be changed externally
    8.     if (videoNext < 0)
    9.         return;
    10.  
    11.     // Always unpause...
    12.     video.IsPaused = false;
    13.  
    14.     // ...but only jump when next video is not also next in queue
    15.     if (videoNext != videoPrev+1)
    16.         video.jumpToVideo(videoNext);
    17.  
    18.    // Remember current video index and reset
    19.     videoPrev = videoNext;
    20.     videoNext = -1;
    21. }
    22.  
    (I noticed that jumpToVideo sets the private field isPaused to false, bypassing the call to the plugin's setPause method. )

    I am not yet sure this is a bulletproof solution - video seems to stop rendering on some occasions when pausing, still need to reproduce this consistently.
     
  10. daterre

    daterre

    Joined:
    Jul 30, 2012
    Posts:
    41
    I'm going to add a few more problems to the list.
    • When playing a video, there is often a delay between the VideoTextureLoaded event and the video starting to render. Is there any way to detect when the video actually starts playing? Without this knowledge I can't really sync anything with the start of a video.
    • Sometimes, the video disappears when it reaches the end in the _AND_STOP mode, instead of holding on the last frame as it usually does. What could be the reason for this?

    Thanks in advance.
     
  11. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Wow, you're poking at some of the hard edges in my implementation. ;-) I'm semi-aware of both of these issues.

    As for #1), that's doable on iOS, but less simple on desktop, because of the multithreaded nature of the GL renderer on desktop. If you take a look at the beta i posted a few pages ago for iOS, there should be no (or very little) delay after the VideoTextureLoaded event, if you use VideoTextureBackingType.IOSONLY_FASTPATH_RGBA. I recently used this method to synchronize external audio tracks to video on iOS. Unsure if you're on iOS, though?
    #2) I'm not really sure. I've never had/seen a use case where I absolutely needed to rely on that functionality.

    Try something for me- only ever put only 1 item in the queue, and use the PLAY_VIDEO_AND_STOP method. Let me know if it goes to black sometimes, or if it still holds onto the last frame. When you need to load another movie,load the movie yourself (just keep an array of strings of the video paths and load the one you'd like) - if this doesn't work, I can take a deeper look at it sometime.
     
  12. daterre

    daterre

    Joined:
    Jul 30, 2012
    Posts:
    41
    #1) I'm on desktop :( In my specific scenario I am trying to do smooth transitions between videos, but since there is a small gap (i.e., black screen) between videos in the queue I tried to blend 2 video textures together, hiding one when the other starts playing. Hence the need know when the other actually starts playing.
    #2) I tried the only-1-video-in-the-queue method, but very strangely it only plays on the first call to load(). Any subsequent calls don't play anything and immediately jump from loading to paused. I tried manually fiddling with VideoTime but that didn't make any difference.
    Code (csharp):
    1. void PlayVideo(string file)
    2. {
    3.     if (video.videoPaths.Length > 0)
    4.         video.videoPaths[0] = file;
    5.     else
    6.         video.videoPaths = new string[] {file};
    7.     Debug.Log("Playing file " + Path.GetFileNameWithoutExtension(file));
    8.     video.load();
    9.         //video.VideoTime = 0f; // doesn't do anything
    10. }
    11.  
    Appreciate the help - I understand your solution is currently better suited for smooth video playback than interactive scripting. My videos are 1000x1000 and 5 seconds long so they might be fine as MovieTextures (or even, dare I say it, animated sprites), so I might try that next.
     
  13. daterre

    daterre

    Joined:
    Jul 30, 2012
    Posts:
    41
    (Okay, forget what I said about MovieTextures. Performance was abysmal. Back to VTP2 now.)

    The best solution I found so far is to put all videos into a single file and timeline jump on demand, pausing again when my clip length is done. The main problem left is that the video still tends to go black during playback. The next time I unpause and jump time, it plays back normally again. (See inline comments)

    Code (csharp):
    1.  
    2. float[] _clipTimes;
    3.  
    4. IEnumerator PlayClip(int clipIndex)
    5. {
    6.     float startTime = _clipTimes[clipIndex];
    7.     float endTime = clipIndex == _clipTimes.Length-1 ? video.VideoDuration : _clipTimes[clipIndex+1];
    8.    
    9.     // Set the start time, doesn't always get set immediately
    10.     video.VideoTime = startTime;
    11.     video.IsPaused = false;
    12.    
    13.     // Wait for the plugin to set the actual time
    14.     for (float t = video.VideoTime; t != startTime; t = video.VideoTime)
    15.     {
    16.         // Check that the video time is within a reasonable offset from where we requested - 0.5 seconds in my case.
    17.         // If we only checked t == startTime then we might miss it if the video had already started in between Unity
    18.         // frames.
    19.         if (t > startTime  t < startTime + 0.5f)
    20.             break;
    21.         else
    22.             yield return null;
    23.     }
    24.    
    25.     // Wait for the video to play past the endTime point
    26.     // BUG: during this time the video occasionally goes black
    27.     while(video.VideoTime >= startTime  video.VideoTime < endTime)
    28.         yield return null;
    29.    
    30.     // Clip is done so pause again (if video went black during playback screen will stay black when paused)
    31.     video.IsPaused = true;
    32.     yield break;
    33. }
    34.  
    Thanks for your continued support!
     
  14. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    in VideoTexture.cs, if you want to make 100% sure the video doesn't go black at some point in time, stick a bool around the GL.IssuePluginEvent calls as follows. This is an unusual use case this is specific to your needs- but worth trying out.

    Code (csharp):
    1.  
    2. //at top of VideoTexture.cs:
    3. public bool shouldRender;
    4. //now whenever you want to ensure it won't go to black, (perhaps just before pausing),
    5. //set this to false. Maybe even in the IsPaused setter, you could set this bool.
    6.  
    7.  
    8. //in the Update method:
    9.  
    10. if(shouldRender){
    11.         VTP.SafeMaterial.SetPass(0);   
    12.         RenderTexture.active = renderTex;
    13.  
    14.         #if UNITY_EDITOR
    15.         GL.IssuePluginEvent((int)VideoInstance);
    16.         #elif UNITY_IPHONE
    17.         #else
    18.         GL.IssuePluginEvent((int)VideoInstance);
    19.         #endif
    20.         RenderTexture.active = null;
    21. }
    22.  
    that's the magic that actually writes to the rendertexture.
     
    Last edited: Mar 24, 2014
  15. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    BTW: If you're constantly seeking around in a video, write a keyframe at every frame in the video. in quicktime 7 pro movie export options, there's a setting for keyframe rate that is 'all' - this should help.
     
  16. daterre

    daterre

    Joined:
    Jul 30, 2012
    Posts:
    41
    Not sure I know what you mean by "stick a bool"?
     
  17. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    see the above updated code for an example of my suggestion
     
  18. daterre

    daterre

    Joined:
    Jul 30, 2012
    Posts:
    41
    Adding this bool to IsPaused would definitely ensure the render texture retains its contents and doesn't get overwritten while trying to copy empty data.
    The problem I encountered is different though:
    I'm getting blank data before IsPaused is called, during normal playback. Everything indicates the video is still running (video.time advances) except the texture goes black.
     
  19. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Hrm. I'm not entirely sure, then. I've not experienced that. Do you have a small example scene I could look at?
     
  20. Bentoon

    Bentoon

    Joined:
    Apr 26, 2013
    Posts:
    98
    Hello Brian
    Thank you for your work! And I can see you're great at supporting it over the years
    I watched the instructional movie you did a few years back ...
    Is there still a "Video Manager script?"
    Thanks
    be
     
  21. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Bentoon: Thanks, and nope, no more Video Manager script. I hadn't bothered to update the video with the latest version, but usage should be pretty self explanatory, and the readme is fairly succinct.
     
  22. Bentoon

    Bentoon

    Joined:
    Apr 26, 2013
    Posts:
    98
    Thank Brian. Seems straight forward,
    What does it mean when I get the message " Multi-object editing not supported" ?
    I even opened a new scene to see
     
  23. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    It probably means I wrote the editor inspector before multi object editing was designed into unity. I wouldn't worry about it, probably?
     
  24. Bentoon

    Bentoon

    Joined:
    Apr 26, 2013
    Posts:
    98
    Thanks Brian. That error message removed all the other properties from your videoTexture script, so I couldn't access. But I started a New project and it plays cleanly. Phew.
    Thanks for all the great work and instantaneous support!
    great job!
    b
     
  25. danneskjold

    danneskjold

    Joined:
    Dec 1, 2012
    Posts:
    29
    hi ,

    Am facing the same issue as daterre .. theres a black interval between 2 videos... did you manage to sort it out daterre? can you point me in the right direction plz..
     
  26. Andy-StudioBuzzword

    Andy-StudioBuzzword

    Joined:
    Nov 26, 2012
    Posts:
    4
    Hi Brian,

    Firstly thanks for a great plugin, it works brilliantly. We're using it on iOS but can't get the project to build due to a conflict with Scaleform. It looks like both VTP and Scaleform override the UnityRenderEvent. The error when doing a build from Unity is:

    Is there any way the plugin could work without overriding UnityRenderEvent?

    Many thanks,

    Andy Nye
     
  27. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    If I remember correctly, UnityRenderEvent is only used on desktop platforms, so in theory, I should be able to make a build that #ifdef's that out for the iOS build target. Let me take a look at some point when I get a chance...
     
  28. ferretnt

    ferretnt

    Joined:
    Apr 10, 2012
    Posts:
    412
    Hi Brian,

    Firstly, thanks for your awesome free video texture player asset.

    I feel terrible for asking this about a free asset, but do you offer source code to the AVFoundation (presumably) objective-C part of the codebase, or can you otherwise reassure me that if I play a video on startup, then Destroy() the gameObject on which the VideoTexture is located, everything will be free(d) and (as far as is possible to guarantee with AVFoundation) memory use for the rest of the app's lifetime will be the same as if you hadn't played the video?

    I ask because I've got a copy of Prime31's LiveTexture plugin, but they stopped providing source code several years ago, and the old version that I still have source for (when it was called ARCamera) I can't remotely convince myself is free()ing everything in this such a scenario.

    Sorry, I've got an app that's tight on memory on low-end devices, and I can't afford to start by effectively leaking a huge chunk of memory. Really, I'm not just trying to be a jerk. And I do know how hard this stuff is and hugely appreciate everything you've done.

    Alex
     
  29. ArcaneLounge

    ArcaneLounge

    Joined:
    May 8, 2014
    Posts:
    2
    Hi Brian

    Thanks a million for the great plug-in.
    I have a question about using the queue.

    I am making a flashcard type app with videos acting as some of the answers. When I see the answer is a video, I call jumpToVideo(position) then set IsPaused to false to play. I have roughly 20 videos, with PLAY_VIDEO_AND_STOP set.

    The issue I see is that sometimes after calling jumpToVideo- I get the next video in the queue- sometimes 2 positions away.

    I assumed this had something to do with timing, like Pause doesn't just affect the video- it also seems to move the queue along- even if PLAY_VIDEO_AND_STOP is set.

    Am I using it incorrectly?

    Thanks again- I appreciate your time!

    C-
     
  30. Bentoon

    Bentoon

    Joined:
    Apr 26, 2013
    Posts:
    98
    Hey Brian

    Question: Alpha Channels
    exported RGB+Alpha but...
    don't see doc or other posts

    Thank you Sir
    be
     
  31. ArcaneLounge

    ArcaneLounge

    Joined:
    May 8, 2014
    Posts:
    2
    I see that IsPaused gets set to false when you call jumpToVideo in the video texture script, and I get that if I'm using _AND_STOP that to advance, I need IsPaused set to false.

    What is happening however is that VideoTextureLoaded is intermittently being called after I call jumpToVideo. It's not predictable, nor does it happen on the same movie. They are all less than a few seconds.

    Any ideas?

    Thanks!
     
  32. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    PhotoBob: the only behaviour supported with the _AND_STOP methods is for you to immediately set IsPaused to true after a movie ends, continuing in the queue's playback. If you try to jump to a different video immediately after, you will break its assumptions.I can see how different behaviour might be useful.

    So, If you need to jump around between a bunch of videos, just set the videoPaths array and call load() on them.

    Bentoon : alpha channel videos are only supported on desktop. This is an iOS restriction.

    ferretnt: source code licenses are not currently available. I could maybe be convinced with enough $.
     
  33. nindim

    nindim

    Joined:
    Jan 22, 2013
    Posts:
    130
    Hi Brian,

    I am evaluating your plugin for video playback in our app. The overall plugin looks great, easy to use and polished.

    I am currently just trying to see what resolution video I can play back on an iPhone 4 at 30fps (on a plane within my scene). My initial attempt has been a 640 x 1138 (16:9) video played in portrait. The framerate is very low, somewhere in the region of 1-2 fps (this is a test app where the only thing happening is the video playback).

    I noticed the post below and thought I would try that change as it seemed to improve Yalfbals performance a lot based on his reply. I have gone into debug mode and taken a look at Backing Type, I only get the options for "TEXTURE_ONLY", "TEXTURE_AND_PIXELS" and "PIXELS_ONLY", are any of these options equivalent to "IOSONLY_FASTPATH_RGBA"?

    Any help in getting quality and speed on an iPhone 4 in latest VTP (2.1.4x) would be much appreciated.

     
  34. symbell

    symbell

    Joined:
    May 19, 2013
    Posts:
    7
    Audio Channel Issue

    It's an awesome plugin.

    But unfortunately it is changing audio channels, I have a video at splash screen it plays nicely with audio sound but the audios get muted for rest of the games, Voices overs, sound effects are get muted, If I remove the splash screen then these VOs and SFX works.

    I am facing this issue on IOS6 only,working great for all other IOS devices, it seems VTP 2.0 changes the audio channels for video and don't reset it on completion of video.

    Please help.
     
    Last edited: Jul 17, 2014
  35. Bentoon

    Bentoon

    Joined:
    Apr 26, 2013
    Posts:
    98
    Brian
    I Love VTPro but am getting the following errors with 4.6 beta

    The errors I'm getting are as follows:

    Assets/Editor/VideoTextureInspector.cs(148,65): error CS0433: The imported type `Path' is defined multiple times

    Assets/Editor/VideoTextureInspector.cs(148,70): error CS0117: `Path' does not contain a definition for `GetFileName'

    Assets/Editor/VideoTextureInspector.cs(148,51): error CS1502: The best overloaded method match for `UnityEngine.GUILayout.Label(UnityEngine.Texture, params UnityEngine.GUILayoutOption[])' has some invalid arguments

    Assets/Editor/VideoTextureInspector.cs(148,51): error CS1503: Argument `#1' cannot convert `object' expression to type `UnityEngine.Texture'


    I am trying to use it with iTween and there seems to be a problem with "Path" being defined multiple times between them.
    Might there be an easy way to control this by switching the references to path in your script, or is it a lot more complicated?
     
  36. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Bentoon:
    Change it from Path.GetFileName to System.IO.Path.GetFileName and it should resolve your conflicts, in VideoTextureInspector at line 148
     
    Bentoon likes this.
  37. Bentoon

    Bentoon

    Joined:
    Apr 26, 2013
    Posts:
    98
    Brian
    Thanks so much for the reply. I'll try it out when I get back! Thanks again for the swift reply
    ~be
     
  38. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Hey folks- I just wanted to let you all know that I've recently released an app on iOS called Emoji Video (www.emojivideo.com) If I've been slow to respond regarding questions about VTP2.0, it's because I've been working on this nonstop for the past few months. Take a look- I actually use VTP in the app for imported movie playback. Thanks for your support y'all.
     
    Bentoon likes this.
  39. Bentoon

    Bentoon

    Joined:
    Apr 26, 2013
    Posts:
    98
    Hah! Brilliant!!

    ~be
     
  40. bDonsbach

    bDonsbach

    Joined:
    Apr 10, 2013
    Posts:
    1
    Hey Brian,
    First, great plugin.
    I am trying to use the your plugin to play a movie from a url on ios and it doesn't seem ever get back from trying to load it. Is video loading from a url supported?

    Thanks,
    Bryan
     
    Last edited: Sep 18, 2014
  41. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    what's the URL? It's only setup to support certain protocol prefixes right now.
     
  42. kob123

    kob123

    Joined:
    Aug 20, 2014
    Posts:
    5
    Hey Brian,

    Just bought your plug in, thanks so much!

    We are having a hell of a time getting a mov with rgb+alpha working however.

    Is there some trick or process were not doing?

    Btw , we are film makers trying to gett greenscreen footage in that is already keyed, so were rendering 1080p mov with rgb + alpha at pro res 4444
     
  43. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    replied via email, but to others trying to use alpha channels on OSX:
    There's a bug in the documentation.
    set VTP.useFastPathTextureCopying = false;
    (it's a static variable.) I at one point changed a bunch of code to make it more efficient if you use YUV texture copying. However, you clearly don't want to use YUV (in the backend) with ProRes 4444.
     
  44. lobsterhill

    lobsterhill

    Joined:
    Sep 25, 2014
    Posts:
    3
    Hi Brian, thanks for the great plugin! I noticed that you mentioned sync issues with the video playback and external audio before. I'm trying to play back video on a sphere with the audio played via WAV files attached to separate game objects. There is a lag with the video and audio at the moment.

    I'm looking to deploy on OSX.

    Do you have any suggestions for how I might find the true video playback start and cue the audio to begin at that point?

    Thanks!
     
  45. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    lobsterhill: there's a lot of related questions.. first of all, you (right now) can't expect to have 100% synchronized audio and video with VTP, the best you can hope to achieve is start the video and the audio at the same time and maybe account for dropped frame discrepencies by checking the current VideoTime every so often. The longer the video, the greater possibility the two files will fall noticably out of sync. When exactly are you loading the audio -- on the VideoTextureLoaded callback? There's presumably some latency in loading the audio file as well...so you might need to take that into account and preload the audio and preload the video, and just 'play' them at the same time.
     
  46. lobsterhill

    lobsterhill

    Joined:
    Sep 25, 2014
    Posts:
    3
    Right on. I just had the audio play on awake. I'll try preloading the assets and see if the sync is workable.

    Thanks!
     
  47. SeTHBeaRzz

    SeTHBeaRzz

    Joined:
    Jan 8, 2014
    Posts:
    35
    I've ran into a peculiar bug, when I added the Video Texture script to a cube with no videos setup on the queue list.
    When I hit play on the editor it runs fine, but when I hit stop, it crashes my Unity with no error messages.
    Any ideas?

    I'm currently running on 4.5.4f1 and Mac OSX 10.9.5


    Regards,
    SeTH B. Wong
     
    Last edited: Oct 16, 2014
  48. lobsterhill

    lobsterhill

    Joined:
    Sep 25, 2014
    Posts:
    3
    In regards to my last question about audio sync - I created a script to delay the audio playback by a certain amount. Playing around with the time, I found a delay of 0.8 seconds worked. Sync remained decent throughout playback since the video was only 4 minutes.

    I am having another issue, with the Oculus Rift DK2 in Unity, playback doesn't work.

    A few other people have had this issue:
    https://developer.oculusvr.com/forums/viewtopic.php?f=17&t=12794&status=1

    This is probably an Oculus problem, but I thought I would post here in case anyone had recommendations.

    Thanks
     
  49. Synapz

    Synapz

    Joined:
    Oct 2, 2014
    Posts:
    16
    Hello,

    Great work with the plugin.
    i have a movie of someone saying something in front of green screen.
    within aftereffects we deleted the green screen and made a rgb movie and a alpha movie.
    what the general idea is that i want this guy to say his things while we don't see the green screen.

    also i want to have this worked with vuforia.
    but first things first. is this possible with the movie?
    and second will this plugin work with vuforia?

    Thanks in advance.
     
  50. TomHaygarth

    TomHaygarth

    Joined:
    Oct 16, 2014
    Posts:
    2
    Hi,
    Awesome plugin, saved a fair chunk of time implementing decent video playback on OSX and iOS.
    Though I'm having an issue right now of getting the plugin to work with video loaded from the iPod Library on iOS using MPMediaQuery.

    Xcode reports that the URL is invalid whenever the URL string is used with the video texture. However I know the video file URL is valid as if I initialise an AVPlayer object with the URL and start playing I can hear the video running in the background.

    You mentioned in an earlier post that the plugin's only setup to work with a limited set of protocol prefixes, would it be possible to add support for the ipod-library:// prefix?

    Thanks, and once again awesome plugin