VHS camcorder displays 60fps, but OBS caps at 30FPS

niels.mp3

New Member
I recently got my VHS camcorder working with OBS using a converter (AV TO USB2.0), connected via USB to my laptop. Connected to the converter is a S-VIDEO cable, hooked up to the camcorder.

When playing back recorded footage on my camcorder, the frames are smooth and looks like it's around 60FPS.
When I play it through OBS (Video Capture Device), the FPS is being capped at 30.

I tried setting the Resolution/FPS Type to custom, but when I try selecting a higher FPS, I'm only given the option to set it at highest (which does not change the FPS) and at "Match Output FPS (autoset at 30)". My output FPS is set at 60 and my laptop supports 60hz frames. But the FPS in OBS does not change. My resolution is set at 720x480.
 

koala

Active Member
Your camcorder will output interlaced video. That means every frame has two separate fields. One field contains the even lines from one original progressive frame and the other field the odd lines from the next original progressive frame. Therefore, if your camcorder recorded 60 fps (actually 59.94 if it's NTSC), the capture device will output 29.97 fps: every two original frames are interlaced in one interlaced frame that reaches OBS.

As far as I see, you can use OBS to deinterlace the video and recreate the original frame rate (59.94), so 29.97 fps is only between the capture device and OBS, but not in the recorded video file.

So what you need to do:
- In Settings > Video set fps to "Common FPS values" and as value 59.94. That's the original NTSC Hz you should not change.
- right-click the video capture device in OBS > Properties and make sure the fps is 29.97. If this isn't the default, explicitly set resolution and fps to custom and set resolution and 29.97 fps.
- right-click the video capture device in OBS > Deinterlacing > Yadif 2x. As far as I understand, the 2x means it deinterlaces and restores the original 59.94 fps from the two fields.
 

niels.mp3

New Member
Your camcorder will output interlaced video. That means every frame has two separate fields. One field contains the even lines from one original progressive frame and the other field the odd lines from the next original progressive frame. Therefore, if your camcorder recorded 60 fps (actually 59.94 if it's NTSC), the capture device will output 29.97 fps: every two original frames are interlaced in one interlaced frame that reaches OBS.

As far as I see, you can use OBS to deinterlace the video and recreate the original frame rate (59.94), so 29.97 fps is only between the capture device and OBS, but not in the recorded video file.

So what you need to do:
- In Settings > Video set fps to "Common FPS values" and as value 59.94. That's the original NTSC Hz you should not change.
- right-click the video capture device in OBS > Properties and make sure the fps is 29.97. If this isn't the default, explicitly set resolution and fps to custom and set resolution and 29.97 fps.
- right-click the video capture device in OBS > Deinterlacing > Yadif 2x. As far as I understand, the 2x means it deinterlaces and restores the original 59.94 fps from the two fields.
For some reason, I can’t set it at 29.97 FPS. Changing resolution also doesn’t give me the option to set it at 29.97. It’s still only giving me the option to set it at: 30, highest fps, and match output fps (autoselect: 30). When changing resolution, the match output fps is autoselect: 25 or autoselect: 30.
 

Suslik V

Active Member
OBS uses device driver to access all possible settings for your hardware, so if device doesn't support higher rates/resolutions etc - you'll be unable to set it in OBS.

Also, USB 2.0 is slow interface, for example uncompressed RGB24 video cannot reach 720x480@60fps (required bandwidth for data is 497664000 bit/s), so device may not support 60fps at all or may support it only for special formats and for limited set of resolutions.

Conclusion.
Converter (your "AV TO USB2.0" device) doesn't support higher settings.
 
Top