Announcement: iVidCapPro 1.6 Available

Version 1.6 of iVidCapPro is now available.  This version contains the following changes:

  • Compatibility updates for Unity 4.6.2.  Unity has apparently moved the support for the iOS Metal graphics backend into the 4.6 stream as of 4.6.2p2. This necessitated that the same updates that were previously made to the iVidCapPro post build script for 5.0 also be made for 4.6.2p2. If you are going to use iVidCapPro with Unity 4.6.2, please ensure that it is version 4.6.2p2 or later.

The update can be downloaded here:

iVidCapPro 1.6

Note: According to my testing, as well some other iVidCapPro users (thanks Carlos!), it appears that 4.6.2p2 fixes the IL2CPP issue previously encountered with iVidCapPro (see this post for more info). Please let me know if you find otherwise!


25 thoughts on “Announcement: iVidCapPro 1.6 Available

  1. This is awesome. Thanks for all the nice work.

    I cannot manage to get the microphone audio recorded. I can record regular audio (background music) played from an attached clip to the camera, and I can hear the microphone audio coming out in the speakers together with the scene audio when recording. But when playing the video there is only the regular audio playing.

    I tried using the mute scene audio setting on the iVidCapProAudio, just to see what happens, and that only mutes the regular audio and the microphone audio still plays through the speakers. Its like the microphone audio is on a totally separate channel or something?

    FYI, I am using the SampleManager setup like the instructions in the top of the file.

    Like before, I am writing to you for any help in this matter and at the same time I will of course try to find out what is going on on my own.

  2. Yep! Its on.

    Now after I moved all the components to the same game object, the camera, I get ONLY the microphone audio recorded.

    I will keep investigating in a new separate project and new scene, and take everything step by step to verify each step of the process.

    Would it be possible for you to share a Unity project with everything set up so that I can be sure that I am doing everything correct? I totally understand if you don’t have the time.

    • Hi Fille,

      One thing to try is to make sure that the iVidCapPro component is the last component on the game object. The Unity sound system treats audio components like a stack, where the processed audio travels from top to bottom.

      Another thing to try would be to move the audio listener and the iVidCapPro component together to a separate game object that is distinct from the object with the sounds source.

      My schedule is completely booked right now, but I may be able to get a simple sample project together over the weekend if you still need it.


      • As I understand it, after some further reading and testing, it is the iVidCapProAudio-script (containing the OnAudioFilterRead) component that need to be attached below/after the AudioSource component and as the AudioSource for the microphone is created programmatically it is attached at the bottom, after the filter component. I tried this out a little just in a separate project just focusing on the audio recording part and if I obey these rules it works.

        But of course I have a new issue :) .. I need to be able to mute the microphone to the speaker, but still being able to record it AND also record the audio from the scene. If I set the the mutespeaker variable to false on the audio script it works, but when I only have one audio recording script i will also mute the game audio as that source also goes through the same filter, so now I have two recording scripts that records to separate files. What I would like to do is to use only one recording script like in your regular plugin, but still being able to mute the output of the microphone to the speaker.

        Do you know if this is possible, or will I have to modify the plugin to merge two recording files ?

        I looked around for merging/joining audio files in c# but could not find any good information on the subject.

        • Yes, you’re right of course. It is the iVidCapProAudio component I meant. Sorry for any confusion there!

          I don’t know of any way to have the mic audio be recorded along with the scene audio, but not have it audible in the speaker. The current plugin implementation uses the AudioListener component (the OnAudioFilterRead delegate, as you noted) to capture all audio. If it’s “hearing” the mic audio then it will be sent to the device speakers.

          If, however, you are to able get the mic audio into a separate file, which I think you said you are doing, then you may be able to use the EndRecordingSessionWithAudioFiles (VideoDisposition action, string audioFile1, string audioFile2, out int framesRecorded) method. This allows you to merge either one or two additional audio files into the final video. Assuming your mic audio file is finalized when you call EndRecordingSessionWithAudioFiles, you can specify the mic file name and it will be merged into your video. See the docs for more info.

          Hope this helps!


  3. Hi, with the new release of Unity and iOS something happened that makes iVidCap pro to crash, but if you check the Prepare iOS for Recording in the Build setting in unity 5.2.1 P1 it won’t crash and works fine but the problem is when you check that Prepare iOS for recording, the sound doesn’t come out of speaker and it only comes out of ear speaker, do you have any idea how to fix it??

    • Sorry Amir, I have no ideas on this one and I am in crunch time on another project right now. I hope you’re able to find a solution.

      Best of luck,

    • Amir, I am using Unity 5.2.3 and was also getting the crash, your tip of setting “Prepare iOS for recording” got me past that, but now I am getting game audio only playing through the ear piece. Did you have to do anything else to get it to play through the regular speaker?

  4. Hello,
    I am successfully recording videos with sound from iphone, which is amazing!

    I want to be able to record 512×512 size, what would be the best approach to this? I understand you can pass a width / height but how do you adjust the initial pixel size? is that done from the camera being used? Do I need to recompile the ios libs?
    Please advice,
    thank you

    • Hi pixelshader,

      I’m not sure what you mean by “initial pixel size”.

      The chief issue with recording at a size that is different than the screen size is that the aspect ratio of the screen camera may be different than the video frame size. This will resort in distorted video.

      The most straightforward way to fix this is to use a different camera for recording than is used for the screen. This camera can be dedicated to recording the video. Do this by checking the “Is Dedicated” checkbox of the iVidCapProVideo component. Here is the relevant info from the docs:

      “Specifies whether or not the camera being used to capture video is dedicated solely to video capture. When a dedicated camera is used, the camera’s aspect ratio will automatically be set to the specified frame size. If a non-dedicated camera is specified it is assumed the camera will also be used to render to the screen, and so the camera’s aspect ratio will not be adjusted. Use a dedicated camera to capture video at resolutions that have a different aspect ratio than the device screen.”

      Using a second camera will impact the framerate of your app. This may or may not be tolerable depending on how much rendering headspace you have.

      Recompiling of any libs is not necessary.

      Hope this helps!


  5. Thanks for the awesome work. We all rely on this.

    But Do you have any plan to upgrade it to Unity 5.3? The reason I asked is that Unity 3D started to support BitCode, and the plugin without BitCode will need upgrade to match it, else whole project has to turn off BitCode before publishing.

  6. Hi Tuanzi88,

    Regrettably I don’t have a definitive answer for you at this point. I haven’t been doing iOS development for the last year and I’ve been fully occupied with other projects. I haven’t researched BitCode to know what impact there may be to iVidCapPro. If anyone reads this and has some idea of the implications it would be great if you could post here!


  7. Video name is ignored when saving to Camera Roll on iOS. iOS applies its own standard naming like When saving to Documents the name is as desired. Could well be impossible to fix this due to iOS limitations. But good to know.

Leave a Reply

Your email address will not be published. Required fields are marked *