Building your own USB camera with GStreamer
Loading
0 %
Key | Action |
---|---|
K or space | Play / Pause |
M | Mute / Unmute |
C | Select next subtitles |
A | Select next audio track |
V | Show slide in full page or toggle automatic source change |
left arrow | Seek 5s backward |
right arrow | Seek 5s forward |
shift + left arrow or J | Seek 10s backward |
shift + right arrow or L | Seek 10s forward |
control + left arrow | Seek 60s backward |
control + right arrow | Seek 60s forward |
shift + down arrow | Decrease volume |
shift + up arrow | Increase volume |
shift + comma | Decrease playback rate |
shift + dot or shift + semicolon | Increase playback rate |
end | Seek to end |
beginning | Seek to beginning |
You can right click on slides to open the menu
Share this media
HLS video stream
You can use an external player to play this stream (like VLC).
HLS video stream
Subscribe to notifications
When subscribed to notifications, an email will be sent to you for all added annotations.
Your user account has no email address.
Information on this media
Links:
Number of views:
36 (this month: 3)Creation date:
Sept. 26, 2023Speakers:
Michael GrzeschikLicense:
CC BY-SA 3.0Description
USB cameras are commonly used in desktops and laptops for streaming video or
participating in video conferences. Thus, USB is more or less the standard for
connecting a camera to a PC.
Linux allows to turn hardware that has a USB device controller (UDC), for example the
Rapsberry Pi 4, into a USB peripheral. The kernel provides a number of
different USB gadgets to implement various USB device classes. One of them is
the UVC (USB Video Class) gadget to implement an USB camera.
However, correctly configuring such a system and passing a video stream to the
USB gadget is not that easy. Fortunately, the new uvcsink element allows you to
easily stream an arbitrary GStreamer video pipelines into the UVC gadget and,
thus, to any USB host system.
Michael will show you how to prepare a system as a UVC gadget and stream video
data to an UVC host using a simple GStreamer pipeline like "gst-launch-1.0
videotestsrc ! uvcsink". He will also give some insight into the implementation
details of the uvcsink element.
Other media in the channel "GStreamer Conference 2023"
- 246 views, 246 this year, 11 this monthHow we are building a distributed multi-camera real-time sports tracking system using GStreamer and RustSeptember 26th, 2023
- 41 views, 41 this year, 3 this monthFlumes: Scan and index your multimedia filesSeptember 26th, 2023
- 168 views, 168 this year, 21 this monthGstWASM: GStreamer for the webSeptember 26th, 2023
- 60 views, 60 this year, 5 this monthVariations on a WebRTC relay architecture (featuring Janus and WebRTC{Src,Sink})September 26th, 2023
- 40 views, 40 this year, 2 this monthHYPE: HYbrid Parallel EncoderSeptember 26th, 2023
- 47 views, 47 this year, 3 this monthlibcamerasrc: Introduction and usage of libcamera's GStreamer elementSeptember 26th, 2023