A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Discussion in 'Audio & Video' started by ans_unity, Dec 19, 2017.
Hmmm, when I start render timeline - I get that error.
The color is wrong with MP4 but ok with WebM. Maybe there's a problem with the color space (I'm using gamma).
Also, when using MP4 with the highest preset there are still lots of compression artifacts.
What can I do to fix both problems?
It may be fixed in Unity 2019, but Unity 2018 LTS should work given that it's a stable version with long term support. I can't update to a new version due to stability reasons.
Sorry to read that you are having issue with the unity recorder:
Here On windows 10, I tested recording a movie from the timeline using unity 2019.2.5f1 and the unity recorder 2.0.3-preview.1 without problems.
In order to help us investigate the issue you are having could you answer the following questions:
Which unity version are you using and which version of the unity recorder package?
Your screenshots seems to indicates that you were using unity 2109.2.5?
On which platform? Windows/OSx/Linux which os version?
In the project settings/Player/Other Settings what is the Rendering Color Space* (Linear or Gamma)
Which rendering pipeline are you using Legacy or one the scriptable render pipeline?
Can you provide us your manifest.json file.
Finally if you could you provide a small project that can reproduce this problem it would be very helpful.
Hey, thanks for reply. Look like its fixed in new 2019.2 versions.
But legacy render not working for me...
Im really would like to ability render mp4 with hinger bitrate, cuz im produce videos with audio for marketing and for get better quality I need render picture by picture that take longer time.
But have feature like "ultrahing" quality after "hing" would be great for my company =)
I can confirm that you have found a bug with the legacy mp4 recorder in unity 2019.2.6f1, for reference I opened a bug in our internal database FTV-301, thanks for reporting it.
Also we understand the need for better quality video encoding, this is something high on our priority. For the time being I suggest doing an image sequence and separate audio recorder. You can then encode the video/audio using an external tool. Of course this is not as convenient and it involves many steps, but this is how you can achieve better quality.
ah alright, not possible to record hing bitrate quality video with audio?
Hi - I have a bug report to file. When playing my scene with the package as an asset, Unity crashes with the following stacktrace. This occurs on MacOS 10.14.1 but not occur on 10.13.x w/ Unity versions 2018.3.6 - 2018.4.9 and the latest release of Unity Recorder (version 1.0.2).
If I remove the UnityRecorder asset package, the player doesn't crash, so pretty sure it's due to this library. Happy to provide other info.
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[AVAssetWriterInputPixelBufferAdaptor appendPixelBuffer:withPresentationTime:] invalid parameter not satisfying: CMTIME_IS_NUMERIC(presentationTime)'
terminating with uncaught exception of type NSException
Application Specific Backtrace 1:
0 CoreFoundation 0x00007fff386bfe65 __exceptionPreprocess + 256
1 libobjc.A.dylib 0x00007fff64716720 objc_exception_throw + 48
2 AVFoundation 0x00007fff345f3f58 +[AVFigAssetWriterTrack assetWriterTrackWithFigAssetWriter:mediaType:mediaFileType:formatSpecification:sourcePixelBufferAttributes:multiPass:attachedAdaptor:error:] + 0
3 Unity 0x00000001003a0abb _ZN22AVFoundationVideoMedia13AddVideoFrameERK14ImageReference + 2459
4 Unity 0x0000000101aef40b _ZN17VideoMediaEncoder8AddFrameER9Texture2D + 283
5 Unity 0x0000000102b60d5f _Z37MediaEncoder_CUSTOM_Internal_AddFramePvP10MonoObject + 191
6 ??? 0x0000000174407c5a 0x0 + 6245350490
7 ??? 0x0000000174407b67 0x0 + 6245350247
8 ??? 0x00000001744072e9 0x0 + 6245348073
9 ??? 0x000000017440556e 0x0 + 6245340526
10 ??? 0x000000017440539e 0x0 + 6245340062
11 ??? 0x0000000159f55133 0x0 + 5804216627
12 ??? 0x0000000159dd35ac 0x0 + 5802636716
13 ??? 0x000000014d61a0d3 0x0 + 5593211091
14 libmono.0.dylib 0x0000000148bf8c5a mono_get_runtime_build_info + 3654
15 libmono.0.dylib 0x0000000148d2585e mono_runtime_invoke + 117
Hi chafik_unity, DominiqueLrx,marief_unity There is an issue since the unity recorder is created.When using bloom postprocessing effect it always have issue show in the image you can look at #307 #319 #371 #373 issues all have similar kind of problem. Should we expect any solution there or it will remain as it is forever?
Edit:- #384 have same issue
Artifacts still here in 2019.2,
Unity, please, fix!..
Hi, it's will be very helpful if we can toggle on whether show the mouse cursor or not in the Recorder Editor window
I would like to use Unity recorder with my project but i got 62 errors after i imported it. Here you can see the errors details from the images attached. I am using 2019.2.9f1 version of Unity. My PC system is OSX. Do you have any suggestion how can i fix these errors?
Hello. I record videos on a timeline using a recorder (WebM and MP4).
But in scenes with fast movements, the picture breaks up into large pixels.
Is there any way to avoid this problem?
Can We Record PNG Transparency File Without Background?
Hey @jean_unity_film_tv and/or @marief_unity,
I'm trying to find the samples mentioned in this post (https://forum.unity.com/threads/unity-recorder-update.509458/page-9#post-4824053), but not having any luck. I dug through the package folders, and the best I could find for how to start and stop via script was in the tests. My ideal solution is to have a scriptableobject made for the settings, and reuse those settings on all my RecordingComponents, but I guess I can't figure out how to actually create that scriptableobject with the settings I need and link it in the inspector. I'm using Unity 2018.4 and Recorder 2.0.3. I'm also reading that quality can be pretty bad, but may have been fixed in Unity 2019.1. Is that true? I'm unable to upgrade to Unity 2019.1 due to some pipeline stuff, so I'm wondering if I should just explore other options for recording.
Thanks for your time,
Any plans of including support for recording sound with Wwise integration?
Recorder 2.1.0-preview.1 has been released!
We just published a new version of the Recorder which introduces a public API.
This will allow to extend the Recorder by creating new custom recorders.
Also we added the ability to capture HDR frames.
This is currently only available for targeted camera using
the High Definition Render Pipeline.
Here is the actual change log:## [2.1.0-preview.1] - 2019-12-17
### Public API and HDR recording
- Added public APIs to be able to implement custom recorders.
- Added the ability to enable recording HDR images (available only with HDRP)
Hi @ilmarihakkola, this is not currently in our plan but your interest is noted.
It seems that you are using the Asset Store version that is deprecated and only compatible with < 2018.3.
Please use Package Manager version.
/!\ You will need to enable "show preview package" in package manager windows to be able to see the version.
With our latest update we just published a public API for the recorder. This might allow you to customize the recorder for your needs. In term of encoding quality, to achieve the best recording quality, right now we suggest you record an image sequence and use an external tool for encoding.
Currently the best way to avoid this as mentioned previously is to record an image sequence and use an external tool for encoding. Improving the encoding quality of the recorder is on our radar.
I managed to get it working with what is probably a bit of hackery. I create both the MovieRecorderSettings and the RecorderControllerSettings and hook those up together when they are created, and have a script that takes those to create the recorder does the recording and outputs video files. I needed more control over my naming as it didn't look like we had the ability to make our own wildcards yet, so I find the generated file and rename it afterwards. One thing I noticed is that if you change the MovieRecorderSettings name, it bugs out and makes it to where it can't be modified anymore. @jean_unity_film_tv , I'm looking through the documentation (here: https://docs.unity3d.com/Packagesfirstname.lastname@example.org/api/UnityEditor.Recorder.html) and I'm not seeing anything that looks like it's new. Should I be looking elsewhere for this public API stuff?
EDIT: My use case is taking a text file with tags and voice lines, turning that into audio files, then playing the audio files and recording a character speaking them. The MP4 encoding was fast and good enough quality for the recordings.
Hi @DustyDev ,
Please have a look at the following link https://docs.unity3d.com/Packagesemail@example.com/api/index.html
about the public api.
I'm on Unity 2019.1.14f1 and am seeing this error when I use the Package Manager to import Unity Recorder for the first time. Any ideas/solutions?
This is strange, is this in a new project? Here we can create a new project with 2019.1, import the latest recorder package 2.1.0-preview.1 without problem. I suggest you try to re-import the recorder package.
Can you provide us with your project to allow us to investigate the issue.
Thanks for the reply — after restarting Unity and re-importing the package I'm no longer getting the error.
In my recording, it is always 2x faster than what it should be. I'm on 2019.3 and I can't find any fix for that.
The problem persist on lower fps but this is for a trailer and we want to get the 60 fps.
Hello, I can't record a video higher than 1080P.Can you tell me how to solve this problem, thank you
to 2019.2.3unity PC，mac＆Linux
@mick129 Please make sure that you are setting the Frame Rate parameters of the recorder as Playback: Constant, Target 60 Cap turned on.
@HXM123, You should be able to record video of resolution higher than 1080p.
Do you have the same issue with another project that you create from scratch?
Can you provide with a small sample project to help us reproduce the problem.
I create a new project and I still have the same problem.
I don't know how to provide a sample project, can you teach me?I wonder if the link below is correct
Hi there !
I'm trying to record a game object datas (PRS + SpriteRenderer) into an animation clip from a Timeline recorder track.
The problem is : When I record my animation (14 seconds to record) the final recorded clip duration is only 6-8 seconds long depending the takes.
I'm using Unity 2019.3.0f3 & Recorder 2.1.0
Any idea ?
@jean_unity_film_tv With 2.0.3 suddenly all my recordings are pure black screen, filesizes in tens of kilobytes instead of tens of megabytes - NOTHING changed in Recorder settings.
I upgraded to 2.1.0, and exactly the same issue.
Is this a known bug?
(Windows 10, Unity 2019.2, Outputres = 4k/2160, Aspect=4:3, Frame rate=Constant,60,Uncapped - same behaviour in both WebM and MP4 output).
The only thing that changed was I changed which of my cameras was outputting the Game view. The camera is a standard default Unity Camera (created by the Unity Editor automatically), with only one change: it is using TargetDisplay = 2 ... HOWEVER that worked fine until today. Also, I tried changing it to TargetDisplay = 1, and Recorder still fails, so that does NOT appear to be the cause of the bug here.
NB: I also tried:
Capture = GameView (this was what I've been using for months with no problems, but is now broken)
Capture = TargetedCamera.ActiveCamera (this has always had a bug that it records sounds incorrectly, so I stopped using it a month ago, but tried testing now to see if it would work - it also fails)
Outputres: FD/1080p, 4k/2160
Aspect: 16:9, 4:3
Now Recorder refuses to work at all, just outputs black files with no content, no settings seem to make it work. AARGH!?!?!?
Randomly clicking around, I eventually found that doing this restored Recorder to working again:
Switch to "Frame rate = Variable"
Record one video
Switch back to whatever Frame rate should have been active
Shrug. Nasty bug.
However, Recorder's refusal to ... well, to record! ... is getting too much for me, I think I'm going to give up on this package. A 6-core / 48GB RAM machine recording a scene that runs at 80 FPS in Editor ... generates a LOW QUALITY JPEG artifact-ridden "video" for no apparent reason, all while executing at 50% of real time.
Running slowly is fine, spending time in whatever encoder you've chosen is fine - but destroying the video quality (with no option to "don't corrupt my video") is useless. If we wanted a "fast" recorder, there are many, many, (free and commercial) screencapture utilities. The only purpose I can see for Recorder is to capture perfect video: exact output from a Unity game. That's something that no other package can do (because it generally requires slowing down the Unity engine to ensure you can stuff the frames while also doing the pixel-grabbing and writing out the data).
(obviously we only ever use the Quality=High setting. Partly because we have no idea what the other settings do (why do they exist?If they are encoder-settings they should have a definition), but mostly because there's no situation in which we'd want a "make Unity look like a bad game-engine" video. Which, ironically, is exactly what Recorder currently does )
Off the top of my head, we've had that functionality in the Unity engine for 10+ years (via the screenshot API, which I believe I first used back in 2010 to do exactly what you describe). If the official line with Recorder is "use manual screenshots, use ffmpeg, create the video yourself by hand", then I'm struggling to see what the point of Recorder is?
The docs opening line says:
"Use the Unity Recorder package to capture and save data during Play mode . For example, you can capture gameplay or a cinematic and save it as an .mp4 file."
But it currently seems - on version 2.1 - that the Recorder literally cannot do that?
EDIT: except for sometimes, randomly, when you get lucky. On this project, I got lucky for a few weeks before it - randomly - stopped working and now only records low-res videos. And your repeated advice to people seems to be: don't use Recorder. So ... I'm confused
EDIT2: to be clear: when Recorder works, it's great (lots of missing features, but what's already there is easy to use and works nicely). So I would really like it to be a working feature!
Thanks for your honest feedback. We are very sorry about these issues causing frustration.
A new internal team has taken over the ownership of the Recorder about a year ago, trying to continuously improve the quality and feature set of the Recorder. We have added
-Audio Bake down to separately record Audio
-Performance improvement with Async Readback
-Improved Compatibility with HDRP, and HDR image sequence recording
-AOV API + AOV recorder Package to record various render passes: https://docs.unity3d.com/Packagesfirstname.lastname@example.org/manual/index.html
-Encoding API to enable custom video encoders (2.1)
We know we still have some bugs and our 2 top priorities are:
-1st to address these stability issues (lots of combinatory between Unity versions vs Recorder Version vs Render pipeline vs Render pipeline version!)
-2nd to propose an official solution with flexible and high end quality encoding off the shelf with Recorder. We have started investigation on this topic since the beginning testing various solutions. Relying on the OS encoder we were too limited with encoding quality and were relying on Unity core changes. So we opted for an API which allows to plug custom encoders that we released in 2.1 just a few days ago. For example the user Keijiro developed an FFMPEG back end available here : https://github.com/keijiro/FFmpegRecorder We are also currently working on another official backend.
Regarding your other issues (with TargetDisplay and random success at recording) we will continue to investigate on a separate thread.
Sorry again for the issues you experienced. Recorder is a feature that we deeply care about here in the Film&TV team.
@MBolufer Make sure to be at the same frame rate as what you record (Timeline frame rate = recording frame rate). Sounds like you record twice as fast as what you play.
That makes sense - getting it to work seamlessly and reliably both with SRPs and with legacy, all at the same time, is a big job, and very important!
Do you think the issues described earlier are likely to be fixed by switching backend? Some of them - black screen, delayed audio, failure depending on frame rate - feel to me like the answer is "yes".
I would have to port my projects to 2019.3, but I'd be happy to do that and test Keijiro's backend + report back ... if it's got a reasonable chance of success (it would be worth it if it means we can move forwards knowing that these issues were definitely caused by an encoder)
do unity recorder support recording in android device???
What is your current version of Unity, which render pipeline (and which verison, if SRP based)?
In general I would definitely recommend upgrading to 2019.3 as it will be our long term release version (LTR = version that we maintain across the next 2 years), the version where HDRP is out of preview, and also the version on which we will focus in Film-TV for most of our 2020 developments,
@WaweGames Recorder is currently Editor only. No plan to have it running in Players as the current focus is to enable high end capture by eventually slowing down the game or the Timeline playback.
For Android devices, technique is different and usually relies on accessing the frame buffer on the GPU and encoding on the fly ideally using native encoders. Check "screenrecoder" or "gameplay recorder" for various solutions.
What is your use case? (you can DM me if you dont want to share publicly)
2019.2, no SRPs - so it's not a big difference, but 2019.2 will be my development branch for at least another 12 months, I think (and then hopefully switch over to 2020.2 or similar).
Without 2019.2 compatibility, I'll still use Recorder and it'll be useful - but it'll be once every 2-4 weeks, instead of daily, because of the cost to keep re-importing the project every time. To be clear: even though it's expensive and annoying to do, the value to me of being able to shoot smooth, high-res, high-framerate, recordings of Unity scenes is high enough that I'll jump through that hoop if I have to .
I might be able to use it for some new projects this year, and SRP's are a great long-term goal, but in general they're not quite ready for many of us to use yet (Off the top of my head: they still don't work properly with Asset Store; some of the core features (some of which I'm still using!) from Unity 5.x are still missing or in limbo; a few major stability / incompatibility issues between SRP point-releases). And ShaderGraph, which terrifies me .
My impression from speaking to former colleagues in mainstream studios is that most people are locked to 2018.3/4 (big, long-running projects) or 2019.2 (newer and/or smaller projects) at the moment.
EDIT: (but I appreciate it's VERY difficult to make good decisions on which minimal editor version to support. I understand that Unity is driving everyone to upgrade multiple times a year, but I think Unity often forgets how expensive that is, so I expect there's a lot of people who are upgrading unpredictably, based on which features they can afford to lose, and which ones they can't live without)
Has anyone got any tips for using a script to
change things (I can do this bit )
start recording with a different file name
and so on
I'm feeling a bit stupid I haven't managed to work it out, thanks in advance!
Edit- I've managed to get this working by ripping apart the multiple recording example you can download from the package manager.
Is there an issue with 360 view and particles? I can't seem to record particles in 360 view. It works fine in game view but not 360 view. Here are some images.
I use a TimelinerecorderTrack, not the recorder window, trying to record only a SpriteRenderer (driven by some floats provided by an AudioAnalyzer...). I can't reproduce the bug at 100%. Recording at 25fps give better results, but not each time. :/
Recording precision (I use DSP clock for Audio Sync, but Game Time does the same...) is strange and always give some delay. Maybe this is my old 2011 laptop fault ?
First of all thanks for this fantastic tool, we used it a lot in our production.
I have some question, is it possible somehow with some scripting or as a future update to have a queue or batch recording for different scenes?
We just finished a big video project and we needed to have many different scenes in which there is a timeline with the recorder plugin. To render the whole video (20+ scenes 8k images) we needed several pcs and hours of render time. It wasn't possible to just lunch the render at night cause there was the necessity of manually change the scene and launch the new recorder.
Do you think we could somehow achieve an automation result for this and launch the whole project before leaving the office?
Thank you very much!
Can anyone please explain what needs to be set up for Kejiiro's FFmpeg backend? I have the assets in the project and I have FFmpeg build installed and environment variables set up for it but still get the executable missing error when starting record. Anyone have any ideas?
Failed to initialize an FFmpeg session due to missing executable file. Please check FFmpeg installation.
FFmpegOut.Recorder.FfmpegRecorder:BeginRecording(RecordingSession) (at Assets/FFmpegRecorder-master/Packages/jp.keijiro.recorder.ffmpeg/Editor/FfmpegRecorder.cs:22)
Nevermind, I figured it out. You don't actually copy the asset you only have to edit the project packages/manifest.json file.
Is it possible to use the Unity Recorder to take a PNG screenshot every 3 seconds? If I use the Image Sequence recorder, the minimum frame rate is 1, but this slows down my PC too much to play the game. I'd rather simply take a high res screenshot every couple of seconds.
Quick question regarding rendering stereo movies: In the online documentation, I only found stereo in the context of 360. We may need Unity Recorder for a non-360 (16:9) stereo movie. Is that currently supported? If not, would it be possible to implement it without too much effort?
If worse comes to worse, we could deal with rendering left/right images and then combine them in post - but that would require that there's a reliable way of rendering those two images per frame for this purpose.