So recently I posted here looking for help about AMD ReLive having audio drift and audio corruption problems to no avail. After that, I decided to look into the issue myself as deeply as possible and I figured out some important points as to what might be causing those problems and I wanted to share my findings here. I think it might help the driver team figure out the problems. Before I begin, my system specs are as follows:
AMD FX 6350 CPU
MSI RX 460 2GB GPU
GSkill Ripjaws 2x4gb DDR3 1600 Mhz Ram
Gigabyte 990xa UD-3 Rev 3.0 Motherboard with fEH bios
2x1 TB Western Digital Caviar Blue 7200 rpm HDD
Asus Xonar DGX 5.1 Sound Card
So, I will divide this post into two parts. In the first part I will talk about audio drifting issue and in the second part I will talk about audio corruption issue. Here we go.
PART 1 - AUDIO DRIFT (AUDIO - VIDEO DESYNC)
This problem was actually fairly easy to fix. Turns out that I have to enable the two tick boxes in audio devices menu in Windows 10 that say:
1. Allow applications to take exclusive control of this device
2. Give exclusive mode applications priority
Since then, audio and video are in sync, spot on. The only desync I experienced was 1 frame of mismatch in a 30 minute long video. Only one frame, which is completely negligible. Before enabling those options, when checked with MediaInfo, videos would show up completely different and random frame rates such as 59.777, 59.786, 59.940, 60.000 etc. however, since I enabled those two settings, all video recordings show up as 60.000 fps so it is completely stable, which apparently fixes the issue. The problem here is that, microphone recording is still out of sync even if I give exclusive control to microphone devices. This also relates to the second problem as well and I will explain further in the second part. What could be done here is that, maybe make it so that ReLive doesn't require exclusive mode enabled in OS menu. Because not everyone enables the two settings I mentioned above and I am sure a lot of users are having this issue just because of that. Maybe include a warning in the driver that lets users know they should enable the two settings I mentioned above, even that would be immensely useful.
PART 2 - AUDIO CORRUPTION
Now, here is the fun part. Audio corruption is all about the microphone input. Main audio track is completely fine no matter what settings are used. However, microphone track is corrupted no matter what settings are used and it is also out of sync by quite a lot. Sometimes by 2 seconds, sometimes by 12 seconds. It is a total chaos.
I am sure you have seen people here suggesting enabling "separate microphone audio track" to fix the audio corruption issue. Well, it doesn't actually fix the issue. All it does is isolate the problematic microphone audio to another track so the main audio track remains unaffected. This doesn't change the fact that microphone audio is still corrupted. Now I tried many things to fix this issue as listed below:
1. Set bitrate and bit depth of all audio devices to the same value. 16 bit 44,1khz / 16 bit 48khz / 24 bit 41,1khz / 24 bit 48khz are all the same. It makes no difference whatsoever.
2. Enabling exclusive control mode in audio devices panel.
3. Changing ReLive audio settings. Changing microphone volume, boost level, audio bitrate (32kbps to 320kbps), frame rate, resolution, total bitrate. Nothing works.
4. Disabled C-States in bios, along with Virtualization and HPET support. I disabled HPET also in OS. Did not help a bit.
5. Tried overvolting and undervolting GPU. Tried reducing and increasing power limit of the GPU. Did not help.
6. Checked DPC Latency using LatencyMon and the highest DPC latency reported was 140ns, which was the ethernet controller. 140ns is an absolutely fine value. Sound card was not even listed as problematic, it was lower than 100ns.
7. Disabled "AMD High Definition Audio Device" in Device Manager. I don't need it anyway because I use DVI connection. Did not help either.
So, what I do as a workaround, is record microphone using a third party application, namely Audacity. I actually tested if recording made with Audacity would be in sync with ReLive recording. What I did was, I first made visual and auditory clues at the beginning of the recording. Basically, I move my from left to right ten times, and each time I move the mouse I say "bam" to the microphone. After the recording is completed, I sync the visual clue with auditory clue in video editing software. However, question still remains. I can sync the beginning of the video but, how can I know if there is no audio drift towards the end of the video. Well, that's easy, I just do the same thing at the end of the recording as well. So I loaded up three different recordings, each around 1 hour long and everything is perfectly in sync. Workaround actually works. Not desirable, but better than nothing.
TO SUM UP
Audio drifting can be fixed by giving exclusive control of audio devices to ReLive. Maybe you can do something in drivers so that ReLive can record without audio desync even if exclusive control options are disabled. To be honest, not many people leave those options enabled. You can even add a warning in ReLive that warns users if exclusive control permission is disabled. This could save users a ton of headache.
Audio corruption is definitely an issue. I could not fix it no matter what I did. There is something really wrong with how ReLive handles microphone input which should be looked into as soon as possible.
If you can fix microphone recording issues and make it so that audio desync is fixed regardless of exclusive control permission settings, I think ReLive will be a foolproof feature and users will love it. I really hope this post will be useful. If you have any further questions, please feel free to ask.
Message was edited by: Gökhan Armağan