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

Assets [WIP] Next Gen Recorder - Something I have been cooking after Everyplay was shut down

Discussion in 'Works In Progress - Archive' started by pmjo, Jan 1, 2019.

  1. pmjo

    pmjo

    Unity Technologies

    Joined:
    Sep 17, 2013
    Posts:
    245
    What is Next Gen Recorder and what was Everyplay?

    Next Gen Recorder is a video recording library for iOS, tvOS and macOS platforms. It is written from scratch by one of the Everyplay developers who thinks that world still needs a high performance recording system. Everyplay was a gameplay video recording and sharing system with a community of millions of users that got unfortunately shutdown in October 2018.

    Key features
    • high performance, 60 fps recording
    • fully asynchronous, will not block your game threads
    • record any 2d texture, not just the screen
    • create highlight videos, export the whole gameplay or just the most important parts
    • session support, record many videos and choose later what to share
    • custom bitrate, framerate and video size support
    • supports Metal and OpenGL
    The highlight video feature is pretty cool. It allows you to set highlight events during the game and to share a highlight video of the gameplay instead of the full boring video.

    More info

    Read more about it from here: http://www.pmjo.org/nextgenrecorder/

    Early performance tests

    I have been running some performance and frame rate stability tests on different devices with Next Gen Recorder, Everyplay (2200) and NatCorder (1.3f2). Here are the iPhone 6 benchmark results of a project that runs smoothly 60 fps without any recording.

    So far the results have been pretty good on Metal but on OpenGL I can't beat Everyplay. I am actually wondering if I should release the OpenGL support at all since for superior performance I would need similar techniques that Everyplay used but those are patented and a bit too hacky for my taste.

    iPhone 6, Unity 5.6, Metal:





     
    Lanre, carking1996 and Arkade like this.
  2. Arkade

    Arkade

    Joined:
    Oct 11, 2012
    Posts:
    654
    Hi, all sounds very cool. I'm sure this won't be the last time you get asked the obvious question: what plans for other platforms? PC being the obvious one but hey since you're doing mobile, Android?
    GL regardless! (and yes it was a great shame about Everyplay)
     
  3. pmjo

    pmjo

    Unity Technologies

    Joined:
    Sep 17, 2013
    Posts:
    245
    Hi and thanks! I was quite sure that the first question will be about platforms :) Well.. this is just a one man hobby project with very limited time so I can pretty much guarantee that PC will not happen. Android however is something that I have been thinking but since the tools and apis are pretty terrible compared to iOS it will not happen very soon.
     
  4. Skjalg

    Skjalg

    Joined:
    May 25, 2009
    Posts:
    211
    How do I get it to work with an existing post effect, as in capturing a specific render texture? I sent a more descriptive email to support@pmjo.org, but feel free to reply here so people can read your answer if they come across the same problem as me.
     
  5. pmjo

    pmjo

    Unity Technologies

    Joined:
    Sep 17, 2013
    Posts:
    245
    For now, when you can't use the Virtual Screen approach you can try to use ImageEffectRecorder instead. It will work with post processing effects that are based on OnRenderImage like Unity Post Processing Stack. There is already a possibility to do a customized integration by inheriting from VideoRecorderBase but this is still undocumented. I'll try to document in as soon as possible.
     
    Skjalg likes this.
  6. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    Developer of NatCorder here. First off, thank you for doing this! Video recording with a good enough performance has been such a challenge, but this is an opportunity for us to focus on pure performance.
    I don't think it's worth supporting OpenGL ES on iOS any longer. Metal has now become the standard on iOS and macOS, and GL ES has become a relic of the past. We dropped support for GL ES on iOS a few releases ago and surprisingly didn't get much blowback for it. I think the market is ready for Metal only.
    Although implementing recording on Android is difficult, the platform actually shows the most stable performance and memory traits out of pretty much all platforms we support (Android, iOS, macOS, WebGL, Windows).

    As a result of the competition, we'll be exploring ways to make recording as quick as possible. In any case, feel free to ask for pointers here and there.
     
    pmjo likes this.
  7. pmjo

    pmjo

    Unity Technologies

    Joined:
    Sep 17, 2013
    Posts:
    245
  8. pmjo

    pmjo

    Unity Technologies

    Joined:
    Sep 17, 2013
    Posts:
    245