Open caseypugh opened 6 years ago
Yeah, this seems to be more of a general Unity MediaEncoder issue. I wish they offered more direct control of the bitrate. For now, I've just switched over to exporting a frame sequence in the GenericFrameRecorder and then manually encoding to video with FFMpeg afterwards.
FWIW, Unity QA team was not aware of the quality issues but they are investigating now: https://fogbugz.unity3d.com/default.asp?1004901_ngcip2nf2s2dvgav
Hey guys, any updates yet ? I got the same problem with my recordings... (360 recordings but exact same problem).
In case this helps at all I ran into this issue after updating Unity to 2018.1.1f1, I was previously using version 2017.3.0f3 and it was working fine. Comparing similar videos (lots of motion, 1080p at 30 FPS) I was getting roughly 7-8k bitrate before and now I get around 2k bitrate. As you can imagine the difference in quality is enormous, to the point that the current output is a useless blur of compression artifacts.
Since I haven't changed which version of the GenericFrameRecorder I am using (v0.2.0027) then I assume it's related to something that's internal to Unity (the MediaEncoder?).
Thanks @realJakubSmaga, my next question was going to be when can I get this through the package manager. Unfortunately I have tried all versions available there (0.2.0-preview through 0.2.4-preview). They all require at least version 2018.2 and fail because they are referencing code that isn't in 2018.1.
I have also tried the latest release on here which is missing the video part of the recorder. So it appears that 2018.1 is a strange middle version that isn't supported by the recorder at all. This is unfortunate because v0.2.0027 was working great for several versions of Unity. I guess I'll just have to wait for 2018.2 to be released.
It's also unfortunate that they moved away from Github as this at least gave us a channel to communicate on. Now I can't even find official information about these newer preview releases.
What happened?
I am I trying to record a high resolution output of a Unity scene (
Bitrate Mode=High
), but the outputted video is very low quality, and even blurry.Here is a link to watch the video (recorded on Windows). This is just a simple demo scene I've been using to test with. As you can see it starts off sort of clear, but then proceeds to get blurry.
Or here is a screenshot of the output:![image](https://user-images.githubusercontent.com/156097/36502493-23c10c14-1718-11e8-9edd-809f3bd82b71.png)
The same thing also happens on Mac. It's not as blurry, but it's still has some major artifacting issues. Here is a zoomed-in screenshot (Mac):![zoom-in-screenshot](https://user-images.githubusercontent.com/156097/36504714-74bab212-171f-11e8-807b-8291520fca94.png)
The bitrate of a 5-second 720p video ranges from 700-1200 kb/s when inspecting in VLC. Since this video has high motion, it needs a much higher bitrate and ideally, a 2-pass encoding.
Is it reproducible?
Yes, both on Mac & PC. Here are my settings.
This is also reproducible when I try to record video using the
MediaEncoder.AddFrame
directly, so perhaps this is unrelated toGenericFrameRecorder
specifically? I went ahead and filed an issue in FogBugz as wellIt seems like the encoding bitrate is just way too low.
Released package version / tag?
https://github.com/Unity-Technologies/GenericFrameRecorder/releases/tag/v0.2.0.0027
Unity version, operating system, target platform
Windows 10 (and macOS sierra 10.12.6) Unity Editor 2018.1.0b7 Intel i7-770HQ 2.7GHz 16GB RAM