Unity Recorder: Low Video Quality

Hello, I render Music Videos using Unity and have recently switched to using Unity Recorder. However, the video has what seems to be compression artifacts and the video is low quality.

Is there anyway to get a higher quality render with the “lines” running across the screen? (mostly on the right side)

1 Like

Unity: 2018.2.19.f1
OS: Window 7 Pro SP1
CPU: Intel i7-6700k
RAM: 32 GB DDR4
GPU: NVIDIA GeForce GTX 1050 ti

Hey @Selzier !

We are indeed aware their are quality issues and we are currently working at a better way of setting and exposing the codec parameters, so anyone can reach the level of quality one needs.

But as it is related to Unity Core and each OS Video API, it is a slower release timeline.

That said :

  • did you tried both Movie Recorder MP4 / WebM formats ?
  • if targeting a camera (and not recording Game View) is an option for you, might be worth trying to use the Legacy MP4 recorder that allows to specify a bitrate (To see legacy recorders : Windows > General > Recorder > Options > Show Legacy Recorders)

Let me know how it goes !

1 Like

Ok thanks for the help, I prefer MP4 but I tried WebM and the quality is great! The only problem now is that the WebM render does not add audio to the final .WebM file. The audio track is added if I use mp4, but is not added if I use WebM. Is there a way I get Unity Render to add audio to the WebM video export?
(audioSettings.preserveAudio is true)

I also have a source .mp3 file so if possible I can just add that to the video render (It’s just a music video so I don’t need to capture any sounds around the scene).

I just gave a try and was able to export a WEBM with sound in 2018.2 with no issue (on OSX).
So it should work.

Do you have errors in the console ?

1 Like

There are no errors or warning, I even turned on Verbose mode. I made a video to show how the MP4 file will export the audio, but the WebM file will not.

The fact there is no sound playing while you are recording is a good sign, meaning the sound is redirected somewhere.
Would you mind sharing the final WebM just in case ?

That solved it! All I had to do was upload to dropbox and it played the audio for me. Obviously I have a codec issue on my local machine :wink:

Thanks for the help marief_unity! This is “Music Video Recorder” and will be on the Asset Store as a Unity 2019 Asset that uses Unity Recorder. By copying a URL from soundcloud and clicking 1 button, it will download the mp3, jpg from soundcloud, render with Unity Recorder, and upload to Youtube automatically.

This will be a great tool for Youtube channels like Trap Nation

1 Like

I do want to raise the issue that the .WebM export still has very noticeable compression artifacts, but it’s better than the MP4 export. However, I would like to get better quality than this:

Hey !

Another work-around option for you then would be to export an image sequence + an Audio file.

We have an experimental Audio Recorder if you want to try : film-tv-toolbox/AudioRecorder at master · Unity-Technologies/film-tv-toolbox · GitHub

Then you will still need to use another tool to create a movie from your sequence and your audio file (ex: ffmpeg, editing softwares…).

This is our current solution and takes a lot of disk space + time. Ideally, we could render a video like Adobe Premiere and just have an .MP4 exported.

This is OK as a work-around for now, I hope we can use Unity Recorder to render actual videos (instead of image sequence) soon!

Can you not just expose the bitrate option to us? Alternatively, is there a source file i can edit to increase the bitrate of what is considered “high” quality? I tried looking but couldnt find any numerical values for bitrates that i can edit for current recorders, only found for legacy encoders.

1 Like

This quality problems makes “Unity Recorder” completely useless. They quality is terrible, even at High, and clearly this can be used only as a prototype. Any video producer cannot use this low quality video render.

Unity, will there be any updates to Recorder or should we just plan to use “360 Pano Render” as our solution (image file render, completed by FFMPEG.exe)

If I put “Rendered with Unity” on my videos, the viewers would be saying “Ehhh we better not render videos with that software!”.

2 Likes

There has been an increase in quality in the new 2.0 version of Unity Recorder with Unity 2019.2:

Keep up the good work, thanks Unity!

1 Like

better ? you gonna kidding!
The new unity recorder 2 is still usseless peace of junk. I need to record gameplay uncompressed movies for trailer and preview video to stores of my game. And what? I need to suffer with image sequences without sound? use spikes and shaman tambourine? or what if I want to record in 4k? mp4 will still create shit quality. What a shame, Unity team… this simple stuff in ue working out of the box from 2015, but here what we can see? 2020 soon and Unity still can’t record screen with sound in lossless quality. Facepalm…

3 Likes

Hey @Conferno ,

May I suggest you look at FFmpeg Recorder ?
https://github.com/keijiro/FFmpegRecorder

As mentioned before, improving the way quality is set-up in Movie Recorder is in our current scope, BUT we want to unlock it with a solution that will allow more flexibility and control than just setting a bitrate.

2 Likes

it can’t record sound

I tried the ffmpeg recorder, and it has great quality, but the game is unplayable while recording. I’m on a 2018 Macbook Pro, but maybe it takes too much cpu power. Is there some setting to fix this? Yeah I had to record the sound separately it can be ok, but not ideal :slight_smile:

I found the video will play properly at high definition/resolution if the render texture is set at the same aspect ratio of the video (it seems not necessary to use the exact pixels frame width and height).

What is the best way to record videos these days? I am recording animations, not real time gameplay.

Usually the quality is fine, but sometimes (e.g. in wind zones with trees) the quality is poor in the recording. For example, here is a screenshot from several seconds into the video. It starts crystal clear, then reduces to this quality.

Here is the game window in Unity for reference.

I have a new 12 core i9, 32 GB memory, RTX 3080 - so I don’t think a faster machine would help. Unity 2021.2.0b5.3166.2, Recorder 3.0.0 (from “Cinematic Studio”)

My settings:

What is interesting is if I change the media file format to VP8 WebM (instead of H.264 MP4) then when recording it slows down the playback, but the video comes out much higher quality. This is fine for animations (I don’t need real-time performance). I am guessing it is the compression algorithm failing to keep up with MP4 - so it starts good, but gets too far behind so starts degrading quality so it can keep up realtime. With VP8 WebM it seems to slow everything down so it can complete the compression between frames.

If this is the case, could a flag be added to MP4 to “slow down and get it right” for use with computer animation?

3 Likes