[Camera Support]: Can I set as an input a USB device?
See original GitHub issueDescribe the problem you are having
I have a USB camera connected to my server and I passthrough the whole pcie adapter (as I understand that it is more stable that way), however at the moment I am using a second container running rtsp-simple-server and converting the stream from the USB camera to an rtsp stream and then using that in Frigate. Can I use directly the USB camera feed etc /dev/v4l/by-id/usb-SMI_PC_Cam-video-index0 ?
Version
0.10.1-83481AF
Frigate config file
{
"birdseye": {
"enabled": true,
"height": 720,
"mode": "objects",
"quality": 8,
"width": 1280
},
"cameras": {
"frontdoor": {
"best_image_timeout": 60,
"detect": {
"enabled": true,
"fps": 5,
"height": 600,
"max_disappeared": 25,
"stationary": {
"interval": 0,
"max_frames": {
"default": null,
"objects": {}
},
"threshold": 50
},
"width": 1024
},
"ffmpeg": {
"global_args": [
"-hide_banner",
"-loglevel",
"warning"
],
"hwaccel_args": [],
"input_args": [
"-avoid_negative_ts",
"make_zero",
"-fflags",
"+genpts+discardcorrupt",
"-rtsp_transport",
"tcp",
"-stimeout",
"5000000",
"-use_wallclock_as_timestamps",
"1"
],
"inputs": [
{
"global_args": [],
"hwaccel_args": [],
"input_args": [],
"path": "rtsp://frigate:WasilewN1k1Frigate@192.168.1.139:8554/frontdoor",
"roles": [
"record",
"rtmp",
"detect"
]
}
],
"output_args": {
"detect": [
"-f",
"rawvideo",
"-pix_fmt",
"yuv420p"
],
"record": [
"-f",
"segment",
"-segment_time",
"10",
"-segment_format",
"mp4",
"-reset_timestamps",
"1",
"-strftime",
"1",
"-c",
"copy",
"-an"
],
"rtmp": [
"-c",
"copy",
"-f",
"flv"
]
}
},
"ffmpeg_cmds": [
{
"cmd": "ffmpeg -hide_banner -loglevel warning -avoid_negative_ts make_zero -fflags +genpts+discardcorrupt -rtsp_transport tcp -stimeout 5000000 -use_wallclock_as_timestamps 1 -i rtsp://frigate:WasilewN1k1Frigate@192.168.1.139:8554/frontdoor -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy -an /tmp/cache/frontdoor-%Y%m%d%H%M%S.mp4 -c copy -f flv rtmp://127.0.0.1/live/frontdoor -r 5 -s 1024x600 -f rawvideo -pix_fmt yuv420p pipe:",
"roles": [
"record",
"rtmp",
"detect"
]
}
],
"live": {
"height": 720,
"quality": 7
},
"motion": {
"contour_area": 30,
"delta_alpha": 0.2,
"frame_alpha": 0.2,
"frame_height": 50,
"improve_contrast": false,
"mask": "",
"threshold": 25
},
"mqtt": {
"bounding_box": true,
"crop": true,
"enabled": true,
"height": 270,
"quality": 70,
"required_zones": [],
"timestamp": true
},
"name": "frontdoor",
"objects": {
"filters": {
"person": {
"mask": null,
"max_area": 24000000,
"min_area": 0,
"min_score": 0.5,
"threshold": 0.7
}
},
"mask": "",
"track": [
"person"
]
},
"record": {
"enabled": true,
"events": {
"max_seconds": 300,
"objects": [
"person"
],
"post_capture": 5,
"pre_capture": 5,
"required_zones": [],
"retain": {
"default": 10,
"mode": "motion",
"objects": {
"person": 1500
}
}
},
"expire_interval": 60,
"retain": {
"days": 0,
"mode": "all"
},
"retain_days": null
},
"rtmp": {
"enabled": true
},
"snapshots": {
"bounding_box": true,
"clean_copy": true,
"crop": false,
"enabled": true,
"height": null,
"quality": 70,
"required_zones": [],
"retain": {
"default": 10,
"mode": "motion",
"objects": {
"person": 15
}
},
"timestamp": true
},
"timestamp_style": {
"color": {
"blue": 255,
"green": 255,
"red": 255
},
"effect": null,
"format": "%m/%d/%Y %H:%M:%S",
"position": "tl",
"thickness": 2
},
"zones": {}
}
},
"database": {
"path": "/db/frigate.db"
},
"detect": {
"enabled": true,
"fps": 5,
"height": 720,
"max_disappeared": null,
"stationary": {
"interval": 0,
"max_frames": {
"default": null,
"objects": {}
},
"threshold": null
},
"width": 1280
},
"detectors": {
"cpu": {
"device": "usb",
"num_threads": 3,
"type": "cpu"
}
},
"environment_vars": {},
"ffmpeg": {
"global_args": [
"-hide_banner",
"-loglevel",
"warning"
],
"hwaccel_args": [],
"input_args": [
"-avoid_negative_ts",
"make_zero",
"-fflags",
"+genpts+discardcorrupt",
"-rtsp_transport",
"tcp",
"-stimeout",
"5000000",
"-use_wallclock_as_timestamps",
"1"
],
"output_args": {
"detect": [
"-f",
"rawvideo",
"-pix_fmt",
"yuv420p"
],
"record": [
"-f",
"segment",
"-segment_time",
"10",
"-segment_format",
"mp4",
"-reset_timestamps",
"1",
"-strftime",
"1",
"-c",
"copy",
"-an"
],
"rtmp": [
"-c",
"copy",
"-f",
"flv"
]
}
},
"live": {
"height": 720,
"quality": 7
},
"logger": {
"default": "info",
"logs": {}
},
"model": {
"height": 320,
"labelmap": {},
"labelmap_path": null,
"path": null,
"width": 320
},
"motion": null,
"mqtt": {
"client_id": "frigate",
"host": "192.168.6.215",
"password": "MqttA33pass",
"port": 1883,
"stats_interval": 60,
"tls_ca_certs": null,
"tls_client_cert": null,
"tls_client_key": null,
"tls_insecure": null,
"topic_prefix": "frigate",
"user": "mqttuser"
},
"objects": {
"filters": null,
"mask": "",
"track": [
"person"
]
},
"record": {
"enabled": false,
"events": {
"max_seconds": 300,
"objects": null,
"post_capture": 5,
"pre_capture": 5,
"required_zones": [],
"retain": {
"default": 10,
"mode": "motion",
"objects": {}
}
},
"expire_interval": 60,
"retain": {
"days": 0,
"mode": "all"
},
"retain_days": null
},
"rtmp": {
"enabled": true
},
"snapshots": {
"bounding_box": true,
"clean_copy": true,
"crop": false,
"enabled": false,
"height": null,
"quality": 70,
"required_zones": [],
"retain": {
"default": 10,
"mode": "motion",
"objects": {}
},
"timestamp": false
},
"timestamp_style": {
"color": {
"blue": 255,
"green": 255,
"red": 255
},
"effect": null,
"format": "%m/%d/%Y %H:%M:%S",
"position": "tl",
"thickness": 2
}
}
Relevant log output
none
FFprobe output from your camera
none
Frigate stats
No response
Operating system
Other Linux
Install method
Docker Compose
Coral version
CPU (no coral)
Network connection
Wired
Camera make and model
090c:037c Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) 300k Pixel Camera
Any other information that may be helpful
No response
Issue Analytics
- State:
- Created a year ago
- Comments:20 (2 by maintainers)
Top Results From Across the Web
Use Apple USB-A camera adapters with USB-A devices
Use USB-A Adapters to connect your devices You can use Apple USB-A Camera Adapters to import photos from your digital camera or connect...
Read more >External USB Cameras | Android Open Source Project
Webcams generally support USB video class (UVC) drivers and on Linux, the standard Video4Linux (V4L) driver is used to control UVC cameras.
Read more >The computer doesn't recognize the USB connection from a ...
Follow the steps below to troubleshoot why the computer does not recognize the USB connection from a Sony digital camera.
Read more >How to add your USB camera to OBS Studio
This article will review the steps needed to add a USB camera as a source in OBS Studio. The first step of this...
Read more >Setting up USB camera (webcam) with Android phone
This video explains how one can use an old USB webcam as an external camera with Android mobile devices such as a phone...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Actually this fixed the rotation: https://github.com/blakeblackshear/frigate/issues/1242#issuecomment-871306797
Oh, yeah, that makes a lot of sense 🤦🏻♂️
Now it makes a lot more sense reading the args lol