Since information about this plugin is spread all over the place (forum threads / mantis bugtracker) this thread aims to gather all information relevant to the v4l2 capture plugin.
Known Issues
"My device does not work!"
If you encounter any problems with the capture plugin please make sure your device works with other programs, most notably the "Qt V4L2 Test Utility" that is available in most Distributions with the v4l2 userspace utils package.
In case your device works fine with the test utility but not with the obs plugin please leave a comment in this thread and include a log file and the output of the following command:
Frequently Asked Questions
Q: What are "Emulated" Video Formats?
A: A v4l2 device may output the video data in different image formats. Obs on the other hand accepts different image formats to use them as a texture. If a format is supported by both the device and obs, the captured data is simply copied.
The v4l2 userspace utilities additionally provide the option of transcoding some formats devices may offer but obs is not able to use directly. The formats listed as "Emulated" are transcoded from a different input format.
On webcams the emulated formats are MJPEG internally most of the time, which is a compressed format. Using those formats can help reduce the needed bandwidth for USB devices and might allow for higher resolutions/framerate.
Known Issues
- The framesize/framerate options are currently hardcoded for some devices.
- There seem to be problems with devices that need the v4l2compat library.
- Interleaved formats are handled incorrectly
- Colorspace/Range is currently handled incorrectly (not at all)
"My device does not work!"
If you encounter any problems with the capture plugin please make sure your device works with other programs, most notably the "Qt V4L2 Test Utility" that is available in most Distributions with the v4l2 userspace utils package.
In case your device works fine with the test utility but not with the obs plugin please leave a comment in this thread and include a log file and the output of the following command:
Code:
v4l2-ctl --list-formats
Frequently Asked Questions
Q: What are "Emulated" Video Formats?
A: A v4l2 device may output the video data in different image formats. Obs on the other hand accepts different image formats to use them as a texture. If a format is supported by both the device and obs, the captured data is simply copied.
The v4l2 userspace utilities additionally provide the option of transcoding some formats devices may offer but obs is not able to use directly. The formats listed as "Emulated" are transcoded from a different input format.
On webcams the emulated formats are MJPEG internally most of the time, which is a compressed format. Using those formats can help reduce the needed bandwidth for USB devices and might allow for higher resolutions/framerate.
2015-04-21 b4a0e79
- Added rgb formats supported on newer kernels
- Implemented "dv timing" selection
- Implemented "video standard" selection
- Improve handling of connecting/disconnecting devices in the properties window.
- Some smaller improvements/fixes.
- Added (optional) support for udev to detect device removals/additions
- Fixed device capability problems with devices that have more than one device node
- Added the 'Leave Unchanged' option for all settings and made that the default
- Some internal refactoring of the plugin code
- Added support for selecting inputs
- Fixed a Crash and endless Loop
- The plugin now requires libv4l2, this enables more pixelformats transcoded on the fly
- Numerous smaller bugfixes and changes
- Added 720x576 (DV-PAL) to list of fixed resolutions
- Added more logging statements to the plugin
- Added fixed fallback frame sizes/rates for devices not supporting discrete enumeration
- Numerous smaller bugfixes and changes
- Fixed a bug where obs would hang if a v4l2 source was added without any device attached
Last edited: