Skip to content

Commit cd89ada

Browse files
authored
Merge pull request #465 from AccelerationConsortium/copilot/fix-228a41e5-b9f0-47ca-a5dc-a68e9c3e47c6
Flesh out my_secrets instructions for picam with comprehensive setup guide
2 parents 6517d75 + 13b2983 commit cd89ada

File tree

2 files changed

+79
-2
lines changed

2 files changed

+79
-2
lines changed

src/ac_training_lab/picam/README.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,61 @@ cp my_secrets_example.py my_secrets.py
116116

117117
Fill in the necessary information (e.g., via `nano my_secrets.py`). Keep in mind this will store the credentials in plain-text format, so try to keep your Pi login secure and restrict the access scope for the credentials as much as possible.
118118

119+
### Required Configuration Variables
120+
121+
#### `LAMBDA_FUNCTION_URL`
122+
The AWS Lambda Function URL for the YouTube streaming service. This Lambda function handles YouTube API authentication and stream management.
123+
124+
**Setup Steps:**
125+
1. Deploy the [streamingLambda](https://github.com/AccelerationConsortium/streamingLambda) service to your AWS account
126+
2. The deployment will provide you with a Function URL that looks like: `https://your-unique-id.lambda-url.region.on.aws/`
127+
3. Use this URL as your `LAMBDA_FUNCTION_URL`
128+
129+
**Note:** The Lambda function requires YouTube API credentials to be set up in AWS (stored in S3). See the streamingLambda repository for detailed deployment instructions.
130+
131+
#### `CAM_NAME`
132+
A descriptive name for this specific camera device. This appears in YouTube broadcast titles and helps identify individual cameras when you have multiple devices.
133+
134+
**Examples:** `"PiCam-01"`, `"LabCam-A"`, `"MainCamera"`
135+
136+
#### `WORKFLOW_NAME`
137+
**CRITICAL:** This must be **unique** across all your streaming devices to prevent conflicts.
138+
139+
The workflow name is used to:
140+
- Create and organize YouTube playlists
141+
- Identify which streams to end/restart
142+
- Group related video streams
143+
144+
**Requirements:**
145+
- Must be unique across all devices (see [Issue #290](https://github.com/AccelerationConsortium/ac-dev-lab/issues/290))
146+
- Keep it concise due to YouTube character limits
147+
- Use descriptive names for your experimental setup or location
148+
149+
**Examples:** `"SDLT-Toronto-001"`, `"MyLab-Setup-A"`, `"AC-Synthesis-Bench"`
150+
151+
#### `PRIVACY_STATUS`
152+
Controls the visibility of your YouTube live stream:
153+
- `"private"` - Only you can view (requires YouTube account login)
154+
- `"public"` - Anyone can find and view the stream
155+
- `"unlisted"` - Anyone with the link can view, but it won't appear in search results
156+
157+
**Recommendation:**
158+
- Use `"unlisted"` for lab monitoring. This provides controlled access while keeping streams discoverable by your team.
159+
- If you use `"private"`, you must provide access by adding a Google account for each person.
160+
- Each person added to the channel will be able to see all videos in the channel.
161+
- With `"unlisted"`, you can share specific playlists or videos individually.
162+
163+
#### Camera Orientation Settings
164+
- `CAMERA_VFLIP` - Set to `True` to flip the camera image vertically
165+
- `CAMERA_HFLIP` - Set to `True` to flip the camera image horizontally
166+
167+
Adjust these based on your camera mounting orientation to ensure the video appears right-side-up.
168+
169+
### Related Resources
170+
- [streamingLambda Repository](https://github.com/AccelerationConsortium/streamingLambda) - AWS Lambda service for YouTube streaming
171+
- [Issue #290](https://github.com/AccelerationConsortium/ac-dev-lab/issues/290) - Workflow name uniqueness requirements
172+
- [YouTube Hardware Streams](https://www.youtube.com/@ac-hardware-streams) - Example of equipment monitoring streams
173+
119174

120175

121176
## Dependencies
Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,32 @@
1+
# AWS Lambda Function URL - Required for YouTube streaming
2+
# This URL is obtained by deploying the streamingLambda service to AWS.
3+
# See: https://github.com/AccelerationConsortium/streamingLambda
4+
# The Lambda function handles YouTube API calls to create and manage live streams.
15
LAMBDA_FUNCTION_URL = "your_Lambda_function_url"
6+
7+
# Camera Name - Used for identifying this specific camera device
8+
# This appears in the YouTube broadcast title alongside the workflow name and timestamp.
9+
# Examples: "PiCam-01", "LabCam-A", "MainCamera"
210
CAM_NAME = "your_camera_name"
11+
12+
# Workflow Name - Used for organizing streams into playlists
13+
# IMPORTANT: This must be UNIQUE across all devices to avoid conflicts.
14+
# The workflow name is used to:
15+
# - Create/find YouTube playlists
16+
# - End streams for this specific workflow
17+
# - Organize videos by experimental setup or location
18+
# Keep it short (YouTube has character limits) and descriptive.
19+
# Examples: "SDLT-Toronto-001", "MyLab-Setup-A", "AC-Synthesis-Bench"
20+
# Related issue: https://github.com/AccelerationConsortium/ac-dev-lab/issues/290
321
WORKFLOW_NAME = "your_workflow_name"
22+
23+
# YouTube Privacy Status - Controls who can view the live stream
24+
# Options: "private" (only you), "public" (anyone), "unlisted" (anyone with link)
25+
# For lab monitoring, "unlisted" is often preferred for controlled sharing.
426
PRIVACY_STATUS = "private" # "private", "public", or "unlisted"
527

628
# Camera orientation settings
7-
# Set to True to flip the camera image vertically
29+
# Set to True to flip the camera image vertically (rotate 180° around horizontal axis)
830
CAMERA_VFLIP = True
9-
# Set to True to flip the camera image horizontally
31+
# Set to True to flip the camera image horizontally (mirror image)
1032
CAMERA_HFLIP = True

0 commit comments

Comments
 (0)