-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathblueprint.yaml
More file actions
63 lines (63 loc) · 2.53 KB
/
Copy pathblueprint.yaml
File metadata and controls
63 lines (63 loc) · 2.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
slug: blueprint-tachyon-webcam-stream
type: Tutorial
category: Reference applications
expertiseLevel: Intermediate
tags:
- Camera
- Video
- Containers
- Tachyon
icon: assets/vlm-yolopro.svg
gitrepo: https://github.com/particle-iot/blueprint-tachyon-webcam-stream
name: Tachyon USB webcam live stream
shortDescription:
Stream live video from a USB webcam on Tachyon to a public URL using
MediaMTX and a Cloudflare tunnel, with device status and control flowing
through Particle Cloud events.
version: 1.0.0
models: []
language:
- JavaScript
- Shell
cloudServices:
- name: Events
integrations: []
containers: webcam-stream
supportedDevices:
- name: Tachyon
link: https://developer.particle.io/tachyon/
webIdeLink:
webSetupLink:
hardwareDependencies:
- name: USB (UVC) webcam
link: https://developer.particle.io/tachyon/device-details/cameras
introduction: |
Turn a Tachyon and any standard USB webcam into a live camera that anyone
can watch from a public URL, with no port forwarding, no fixed IP, and no
code changes required. The entire application is a single Docker Compose
project deployed with Particle's container tooling.
description: |
This blueprint runs four containers on Tachyon. An ffmpeg publisher
captures the USB webcam and feeds H.264 video to MediaMTX, which serves
the stream as low-latency HLS and WebRTC. A Cloudflare quick tunnel makes
the stream reachable from the public internet using only outbound
connections, so it works over 5G behind carrier-grade NAT. A small Node
service ties it to the Particle Cloud through particle-api-js, Particle's
supported JavaScript API client: it publishes the public URL as an event
when the tunnel comes up, sends a periodic status heartbeat, and listens
for command events (snapshot, status) published from the Particle
Console. Cloud identity comes from the device's own provisioned
configuration, so there are no tokens to create or manage. The demo
moment: power the device, watch the Console event log, and click the URL
that arrives.
additionalResources:
- title: Camera support on Tachyon
link: https://developer.particle.io/tachyon/device-details/cameras
- title: particle-api-js
link: https://github.com/particle-iot/particle-api-js
- title: Particle application runtime for Linux
link: https://developer.particle.io/app-runtime/deep-dive/overview
- title: MediaMTX
link: https://github.com/bluenviron/mediamtx
- title: Cloudflare Tunnel
link: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/