Search Unity

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

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

  1. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Now released! Video Texture Pro 2.0. Now compatible simultaneously with Syphon. Free.

    VTP 2.0 is a HD video player plugin for Unity Pro. It uses fast texture decoding on OSX 10.8+ or iOS 6.0+ For games, art installations, performances, and simulations, and for those needing a high performance, flexible video player.

    Features:
    • Supports alpha channel transparency
    • Adjustable volume/speed/timeline scrubbing
    • Callbacks generated in Unity when a video ends
    • Playlist support- queue up multiple videos
    • Runtime GUI included to control all videos


    Images:

    Asset store Link:
    http://u3d.as/content/brian-chasalow/osx-video-texture-pro/2yW

     
    Last edited: Feb 14, 2014
  2. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    Looks good. I am likely to buy this within a couple of days, but Im wondering how the audio of the movies behaves when you are adjusting the speed of the video or scrubbing. Can you give me a clue about this or post a video that shows it in use? Cheers.
     
  3. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Hey there elbows- When you adjust the speed, the audio does not change pitch, it just slows down in playback speed. As for scrubbing, drag the timeline in an open movie in Quicktime 7- the plugin should behave similarly. I will see if I can get a demo video of this up there.
     
  4. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
  5. livemixlove

    livemixlove

    Joined:
    Sep 16, 2009
    Posts:
    17
    Uggg, yes. This is what I've been dreaming about for so long!!!

    But! No windows support will keep me away, for now. Know of anything similar using Ogg?
     
  6. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    livemixlove: switch to only macOS? ;-) i saw there's both packages for windows and mobile video texture playback on the asset store, made by other developers so I'm not sure of their details.
     
    Last edited: Jan 9, 2012
  7. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    Thanks for the demo video. I went ahead and purchased your plugin yesterday, happy with it so far, cheers :)
     
  8. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Np, and thanks elbows! Let me know if you have any questions/issues/etc.
     
  9. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Hey guys, just a heads up- the next version I'm submitting tomorrow-ish has support for HTTP movie streaming via Quicktime. Give it an URL, and stream videos from the web to any video surface in your game. This feature needs some beta testing, but it seems like it works!

    I also made a class called VideoTextureSimple, for those that don't want to deal with queue lists/video preloading or want to load videos from different locations on their hard drive, (or from the web, in the case listed above)
    I added some samples that show how to programmatically create a video texture from script- it's really easy.
     
    Last edited: Jan 12, 2012
  10. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    Nice one, I was going to ask about web streaming at some point.
     
  11. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    just submitted the update to the asset store- so whenever it gets approved, give web streaming a try and let me know how it works for you. :)
     
  12. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    hey all- I've updated the plugin 2x in the past 2 days for fixes to web streaming, bug fixes, etc, but naturally the asset store folks take a day or two to verify updates. If you want to send me your invoice # from the purchase via email (brian@chasalow.com), i can email you the latest updates as soon as they are completed.

    The http web streaming should work properly now- and if it can't load a video from the web, it should return an error gracefully and print an error to the OSX Console.

    Also, I should let y'all know- if you are having problems with built apps not displays your videos, there appears to be a bug on Unity's end where if you use the Unlit/Transparent shader but don't have it in your Resources folder, it can't find it, and aborts. It finds it just fine in the Editor. Apparently, built apps rely on this shader being in your Resources folder, even if it is supposed to be one of the default Unity-included shaders. Just copy the Unlit-Alpha.shader to your Resources folder and it should work. Version 1.0.6 of OSX Video Texture Pro has this shader included by default. If anyone at UT is watching, this is Case #438005

    Also, there is a bug that prevents the plugin from appearing properly in standalone apps built with the 3.5b6 Trial. EDIT: this has been fixed and submitted to the asset store.
     
    Last edited: Jan 15, 2012
  13. helioxfilm

    helioxfilm

    Joined:
    Apr 23, 2008
    Posts:
    259
    I would need this for iOS. Is there any chance it will work in the future on iOS devices?
     
  14. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    helioxfilm: I currently have no plans to adapt it to iOS, unfortunately. However, this is not completely outside of the realm of possibilites.

    Other folks- i just posted a very important update to the plugin bundle to the asset store- email me if you need it sooner. It fixes a low level GL texture stack issue, and it makes the plugin compatible with the 3.5b6 trial version.
     
    Last edited: Jan 15, 2012
  15. helioxfilm

    helioxfilm

    Joined:
    Apr 23, 2008
    Posts:
    259
    Well, I would be on the market for such a version... In that case I would not need to leave Unity for an interactive video-book application development...
     
  16. tylo

    tylo

    Joined:
    Dec 7, 2009
    Posts:
    154
    Can this be used to load movies dynamically from the file system after the game is compiled from the Editor?

    In other words, can I build the game, and load the movies I want to play afterwards?

    Also, when you say OSX Only, does that mean only OS X Builds, or only the OS X editor? I'll assume both of course if it only works with builds. :)
     
  17. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    yes.

    yes, both.
     
  18. tylo

    tylo

    Joined:
    Dec 7, 2009
    Posts:
    154
    Rats. I saw another plugin got this working with Windows so long as Quicktime was installed on the system. Any possibility that your method could use a similar approach?
     
  19. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    QTKit doesn't exist for windows. Apple hasn't updated Quicktime for Windows in years- it uses old texture upload methods and it for sure isn't 1:1 compatible with the new, faster way of handling video in OSX. If another plugin got it working in both windows and OSX, they're using the slower method of texture upload on the OSX side so that it remains compatible in windows (unless they wrote a completely different plugin for the windows vs. the OSX side)
     
  20. jimihay

    jimihay

    Joined:
    Mar 19, 2012
    Posts:
    15
    Do you remember the name of this plugin?
     
  21. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Hey y'all, this package is now free for all, as I expect to release an updated AVFoundation-based video player soon.
     
  22. m0l0p

    m0l0p

    Joined:
    Apr 13, 2009
    Posts:
    7
    hello

    i didn't know such an asset existed...
    i ve been realy pleaded to find..
    and i m really disapointed not being able to get it to work
    in Unit 4..
    do you plan an update..?
    or is there somewhere an example project using it...
    thanks...:)
     
  23. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Wait a couple days, the AVFoundation one is coming out very soon- it works on OSX and iOS and is much easier to use.
     
  24. m0l0p

    m0l0p

    Joined:
    Apr 13, 2009
    Posts:
    7
    thanks a lot..:)it's worth waiting...
     
  25. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Hey y'all - VTP 2.0 has been submitted to the asset store- once approved, I will update the original post.
    Some features: it works on both iOS + OSX, and is a lot easier to use. You simply drop a VideoTexture script on a gameobject, select a file or a folder, and you're ready to go.

    Made in collaboration with Anton Marini, the creator of Syphon
     
  26. diese440

    diese440

    Joined:
    May 25, 2007
    Posts:
    105
    Hy all,

    not being able to get it to work (dowloaded version 2.01 from asset store) in a clean Unity 4.0.1f2 project ?

    Message in console :

    0) initializing Video Texture Pro 2.0.
    UnityEngine.Debug:Log(Object)
    VTP:init() (at Assets/Plugins/VTP/Scripts/VTP.cs:35)
    VideoTexture:Awake() (at Assets/Plugins/VTP/Scripts/VideoTexture.cs:424)

    1 ) DllNotFoundException: Exception of type 'System.DllNotFoundException' was thrown.
    VTP.init () (at Assets/Plugins/VTP/Scripts/VTP.cs:39)
    VideoTexture.Awake () (at Assets/Plugins/VTP/Scripts/VideoTexture.cs:424)

    2) DllNotFoundException: Exception of type 'System.DllNotFoundException' was thrown.
    VideoTexture.Start () (at Assets/Plugins/VTP/Scripts/VideoTexture.cs:435)

    3 and all next lines) DllNotFoundException: s/claudemicheli/Documents/UnityProjects/4_0 projects/Video Player Pro/Assets/Plugins/VTPAVF.bundle/Contents/MacOS/VTPAVF, 9): Library not loaded: /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia
    Referenced from: /Users/claudemicheli/Documents/UnityProjects/4_0 projects/Video Player Pro/Assets/Plugins/VTPAVF.bundle/Contents/MacOS/VTPAVF
    Reason: image not found
    VideoTexture.Update () (at Assets/Plugins/VTP/Scripts/VideoTexture.cs:492)

    Current config imac 27' i7 OSX 10.6.8

    Do i need OSX 10.8 at least ?
    Any idea ?
    Thx
     
    Last edited: Mar 4, 2013
  27. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Yes, you need lion .
    edit: mountain lion, rather.
     
    Last edited: Mar 4, 2013
  28. diese440

    diese440

    Joined:
    May 25, 2007
    Posts:
    105
    :D thank you for this quick reponse,
    You say Lion ( or Montain Lion - 10.8) ?

    :D
     
  29. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Sorry. sent that on my phone. yeah, you need 10.8.
     
  30. Eka Prawira

    Eka Prawira

    Joined:
    Jan 10, 2013
    Posts:
    4
    Hi Brian,

    I'm having a problem when I tried exporting to an ios device.
    It keep getting these error in xcode:

    Undefined symbols for architecture armv7:
    "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()", referenced from:
    __GLOBAL__I_a in libVTPAVFMobile.a(VideoManager.o)
    "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)", referenced from:
    __GLOBAL__I_a in libVTPAVFMobile.a(VideoManager.o)
    ld: symbol(s) not found for architecture armv7
    clang: error: linker command failed with exit code 1 (use -v to see invocation)


    My configuration:
    OS X 10.8.2
    Unity iPhone Pro 4.0.1f2
    Xcode 4.6

    Any idea what might causing it?
    Thanks in advanced!
     
  31. Play_Edu

    Play_Edu

    Joined:
    Jun 10, 2012
    Posts:
    722
    hi,

    its great work,i sow it's demo,it so cool.can it work with ios ,web player or android phone.etc. plzzzzzz. tell me.


    regards

    play_edu
     
  32. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Eka Prawira: from the readme.txt: "Note: If you want to embed a movie inside your app for deployment, create a StreamingAssets folder, rename your movies to the .m4v extension, and put them in that folder. They should automatically get copied into your Xcode project and 'just work.' On iOS, you will also need to add libc++.dylib to your Xcode build phases linker step."

    Play_Edu: It only works on iOS 6.0+ and OSX 10.8+.
     
    Last edited: Mar 6, 2013
  33. Eka Prawira

    Eka Prawira

    Joined:
    Jan 10, 2013
    Posts:
    4
    Hi Brian, Thanks for your prompt reply. Adding the libc++.dylib solves the issue and successfully build the ios app, but I stumble upon a new issue. When xcode finish building the app and start running, the app froze and xcode give this error:

    dyld`dyld_fatal_error:
    > 0x2fe03080: trap Thread 1:EXC_BREAKPOINT(code=EXC_ARM_BREAKPOINT,subcode=0xe7ffdefe)
    0x2fe03084: mov r0, r0

    I'm just using the VTP scene that you provide in the plugins folder for test export now, so I'm pretty sure there is StreamingAssets and the demo.m4v is inside it.

    Many thanks!
     
  34. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Eka : what operating system version is on the device ? 6.0? And what iPhone version- iPhone 4s, 5, etc
     
  35. Eka Prawira

    Eka Prawira

    Joined:
    Jan 10, 2013
    Posts:
    4
    My software version is 5.1.1 and I'm using iPad 2
     
  36. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    re-read the system requirements. you need ios6.0+
     
  37. Eka Prawira

    Eka Prawira

    Joined:
    Jan 10, 2013
    Posts:
    4
    Whoops, my bad. Thanks Brian. It works like a charm!!
     
  38. m-box-unity

    m-box-unity

    Joined:
    Apr 15, 2013
    Posts:
    3
    Hi Brian,
    after several testing series, it works really good, but in fact i am not able to use it with alpha channel video on iOS device, any codec i try is unable to show right, only the m4v codec i can see on the iOS device, but this device is without alpha channel !

    Maybe you can send some informations and tips, how to convert the video to get clear alpha channel support on iOS device.

    all conditions are fulfilled:
    iOS 6.1 and OSX 10.8 with Unity4.x and iOS pro 4.x

    Best regards Michaela
     
  39. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    thanks for your bug report Michaela- I am looking into it.
    Brian
     
  40. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Michaela- alpha channel video does not appear to be supported on iOS devices (unless you do basic green screen style chromakeying). If you look at the AVFoundation headers,
    AVVideoCodecAppleProRes4444 shows NS_AVAILABLE(10_7, NA);
    The NA means that it is not available on iOS.
     
  41. People-Pilot

    People-Pilot

    Joined:
    Aug 28, 2012
    Posts:
    18
    Thanks for a nice player Brian.

    Though, volume control isn't working for me on iOS - is there any trick or have I found a bug?

    Regards,
    Roland.
     
  42. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    see readme.txt:

    float VideoVolume
    //unavailable on iOS (uses system volume settings on iOS)

    on iOS, volume controls are intended to be system-wide.
     
  43. GrannySmith

    GrannySmith

    Joined:
    Jul 20, 2012
    Posts:
    8
    I am getting the following Error:
    DllNotFoundException: VTPAVF
    VTP.init () (at Assets/Plugins/VTP/Scripts/VTP.cs:39)
    VideoTexture.Awake () (at Assets/Plugins/VTP/Scripts/VideoTexture.cs:424)
    DllNotFoundException: VTPAVF
    VideoTexture.Start () (at Assets/Plugins/VTP/Scripts/VideoTexture.cs:435)
    DllNotFoundException: VTPAVF
    VideoTexture.Update () (at Assets/Plugins/VTP/Scripts/VideoTexture.cs:492)
    DllNotFoundException: VTPAVF
    VideoTexture.destroyVideoObject () (at Assets/Plugins/VTP/Scripts/VideoTexture.cs:524)
    VideoTexture.OnDestroy () (at Assets/Plugins/VTP/Scripts/VideoTexture.cs:518)

    Can you tell me whats causing this problem and how I may get rid of it?

    Thanks in advance
     
  44. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    Sounds like you either are not using unity pro, ( free version doesn't support plugins) or your folder structure is hosed, if it can't load the DLL.
     
  45. GrannySmith

    GrannySmith

    Joined:
    Jul 20, 2012
    Posts:
    8
    I am using Unity Pro with iOS Pro
     
  46. roborb

    roborb

    Joined:
    Aug 26, 2013
    Posts:
    15
    So I'm using this with Vuforia, and unfortunately have 30+ targets that I'd all like to autoplay as soon as they are live. When I default each to auto play they all begin as soon as I start the app.

    Any advice on how I could start a playlist as soon as a target appears and stop playing that playlist when that tracker is lost?

    I know it might be outside your script's purview a bit, but maybe you'd know a cheap way to do it...
     
  47. SeTHBeaRzz

    SeTHBeaRzz

    Joined:
    Jan 8, 2014
    Posts:
    35
    Great Job on the plugin, I've been loving it so far.

    But I'm having trouble trying to pause the video via scripting.
    Can you help me out?
    Email contact : sethbearw@gmail.com
     
  48. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    VideoTexture vt = GetComponent<VideoTexture>();
    vt.IsPaused = true;
     
  49. SeTHBeaRzz

    SeTHBeaRzz

    Joined:
    Jan 8, 2014
    Posts:
    35
    thx for the reply.
    I'm facing a different problem now.

    I can control the volume of the imported video on unity just fine, but when i port it to an ios device, the volume bounces back to 100% volume.

    I used vt.VideoVolume = 0.2f
    but it doesn't seem to work when ported to ios device.
     
  50. brianchasalow

    brianchasalow

    Joined:
    Jun 3, 2010
    Posts:
    208
    What version of VTP are you using? see the readme for a detailed version number and let me know.
    This shouldn't happen in the latest version, but i'm looking into it now to see if there's a way this could occur...iOS volume controls are a relatively new feature for this plugin.