Question / Help GVUSB2 audio desync or choppy video

Koh1Fds

New Member
Hey! I know this was already discussed, but i can't find solution to it.

I use GVUSB2 to stream from my AV Famicom (composite output). I set GVUSB2 fps to 30 (if i set it to 29.97 = black screen), deinterlacing to "Retro" and Recording / Streaming FPS to 60. So if i try to use only OBS Studio there is 2 options:
1. Disable Buffering. You get really choppy video. Like you get 2-3 frames drop every 0.5 of the second.
2. Enable buffering. You get really smooth video. Like not a single frame drops. But You also get audio and preview desync that builds over the time. After 10 minutes of recording - video falls behind by 1 or 2 seconds from audio.

I can also use AmaRec 3.10, but it's not prefect too. It doesn't produce audio desync, but it also drops frames. In best cases i get like 2-3 frames dropped / skipped in a row every 5 seconds. Because it skips frames in a row - your run looks like segmented video. That's very annoying. Also, i think, because of many colorspace conversion your video looks horrible.

Is there any way to Enable Buffering and don't get audio desync? That would be perfect!

Here is a log file. I don't think that it can be useful. Sorry for bad English

https://gist.github.com/06f7cd086c0608ebd3dfd7919b9325c6
 

Boildown

Active Member
20:59:27.477: fps_num: 60

See if it improves if you set the FPS to 30, as that's what the source video is.

Also if you're just recording, not streaming, you can safely increase the bitrate more. For that size video, try doubling or tripling it.

Also match up these:
20:59:27.477: width: 1280
20:59:27.477: height: 720

20:59:27.481: sample rate: 44100
with these:
20:59:23.379: video device: GV-USB2, Analog Capture
20:59:23.379: video path: \\?\usb#vid_04bb&pid_0532#000000000000001#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{6f814be9-9af6-43cf-9249-c0345a000211}
20:59:23.379: resolution: 704x480
20:59:23.379: fps: 30.00 (interval: 333333)
20:59:23.379: format: YUY2
20:59:23.396: using video device audio: no
20:59:23.396: audio device: GV-USB2, Analog WaveIn
20:59:23.397: sample rate: 48000
 

Koh1Fds

New Member
See if it improves if you set the FPS to 30, as that's what the source video is.
30 fps intralced video = 60 fps after deinterlace.

width: 1280
height: 720

resolution: 704x480


Obviously video from capture card occupies part of the layout. There are also livesplit and other stuff.

sample rate: 44100

sample rate: 48000

Setting sample rate to 44100 in "capture card settings" = no sound i think. I don't think that setting up sample rate to 48000 in OBS settings would do much, because preview also falls behind by a lot. Not only sound
 

Boildown

Active Member
30 fps intralced video = 60 fps after deinterlace.

Not how that works... interlaced video is two half-rate videos with half the lines alternating between each other, so it would be 30fps after deinterlace, if not 15fps.

But if your overall project is 60fps then that setting might be ok.

Still, you might try what I've said above and see if any of the problems are resolved, and if so, put them back one at a time to see which one is the actual problem.
 

Koh1Fds

New Member
Not how that works... interlaced video is two half-rate videos with half the lines alternating between each other, so it would be 30fps after deinterlace, if not 15fps.
It obviously would be 60 fps. 1 frame of interlaced video contains 2 frames where lines alternating between each other. It's like scnalines 1,3,5.. etc is from 1 frame. Lines 0,2,4 etc is from other. Deinterlacing separates those lines so you get 2 frames of progressive scan video after deinterlacing interlaced video.

edit: at least that how NES outputs video. It produce ~60 fps, then 2 near frames combines in 1 where alternating lines = 2 different frames.

edit2: and obviously there is no solution. You can get only desynced audio if you go for "buffering" or choppy video if not go "buffering". OBS do something wrong when you use "buffering". Any other settings absolutely doesn't matter.

edit3: i think this happens, because when you use "buffering" OBS creates gigantic buffer of like 100-150 frames for some reason, maybe because GVUSB2 output doesn't have stable fps or something. And there is no option to "cap" that buffer for like 10 frames
 
Last edited:

XeaL337

New Member
Just an update on this issue from my testing: (TL;DR, no update. just reconfirming your issue)

My goal was to have no frame drops in video, and also perfect audio.
1) Buffering makes video not drop frames, however the delay keeps increasing over time
2) Non-buffering drops a frame every 0.5 seconds. On top of this, audio buffer reaches 1000ms sometimes randomly and soft-crashes all audio

My current best solution is:
1) use non-buffering, set audio to "output to desktop, use alternate devices, then pick any device"; this makes audio muted.
2) plug in audio directly to line-in.

This makes OBS not crash from buffer overflow, but still drops frames every 0.5s unfortunately.
 
Top