notes
This commit is contained in:
76
.obsidian/workspace.json
vendored
76
.obsidian/workspace.json
vendored
@@ -4,39 +4,24 @@
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "fab387a4144c5e24",
|
||||
"id": "6bd8d5cd0b9fe171",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "91f1f775b766a709",
|
||||
"id": "c5205a20b44266cb",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "AUDIO/KV2.md",
|
||||
"file": "Phenix Platform/cursor_walk_through_forking_process.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "KV2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f4b542a9ab6d55a4",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "PhenixRTS/frontend-draining/19 days draining.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "19 days draining"
|
||||
"title": "cursor_walk_through_forking_process"
|
||||
}
|
||||
}
|
||||
],
|
||||
"currentTab": 1
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "vertical"
|
||||
@@ -68,7 +53,7 @@
|
||||
"state": {
|
||||
"type": "search",
|
||||
"state": {
|
||||
"query": "dec",
|
||||
"query": "",
|
||||
"matchingCase": false,
|
||||
"explainSearch": false,
|
||||
"collapseAll": false,
|
||||
@@ -89,12 +74,11 @@
|
||||
"title": "Bookmarks"
|
||||
}
|
||||
}
|
||||
],
|
||||
"currentTab": 1
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 200
|
||||
"width": 701.5
|
||||
},
|
||||
"right": {
|
||||
"id": "755a200fbb7115db",
|
||||
@@ -182,25 +166,39 @@
|
||||
"bases:Create new base": false
|
||||
}
|
||||
},
|
||||
"active": "f4b542a9ab6d55a4",
|
||||
"active": "87552c804366e353",
|
||||
"lastOpenFiles": [
|
||||
"PhenixRTS/frontend-draining/THE QUERY.md",
|
||||
"PhenixRTS/frontend-draining/19 days draining.md",
|
||||
"AUDIO/KV2.md",
|
||||
"WebSocket Lifecycle Sequence Diagram.md",
|
||||
"AUDIO",
|
||||
"Untitled.md",
|
||||
"Untitled 2.md",
|
||||
"README.md",
|
||||
"PhenixRTS/chat/Demo.md",
|
||||
"PhenixRTS/frontend-draining/Potential causes.md",
|
||||
"PhenixRTS/chat",
|
||||
"PhenixRTS/frontend-draining/WebSocket Lifecycle Sequence Diagram.md",
|
||||
"ZSH/Documentation.md",
|
||||
"ZSH",
|
||||
"ESP32/Setting up ESP32 Development Environment.md",
|
||||
"WebSocket Lifecycle Sequence Diagram.md",
|
||||
"Untitled.md",
|
||||
"PhenixRTS/frontend-draining/WebSocket Lifecycle Sequence Diagram.md",
|
||||
"PhenixRTS/frontend-draining/THE QUERY.md",
|
||||
"PhenixRTS/frontend-draining/Potential causes.md",
|
||||
"PhenixRTS/frontend-draining/19 days draining.md",
|
||||
"PhenixRTS/chat/Demo.md",
|
||||
"PhenixRTS/frontend-draining",
|
||||
"PhenixRTS/chat",
|
||||
"PhenixRTS",
|
||||
"ESP32"
|
||||
"ESP32/Setting up ESP32 Development Environment.md",
|
||||
"AUDIO/KV2.md",
|
||||
"AUDIO",
|
||||
"Phenix Platform/Channel Forking.md",
|
||||
"Phenix Platform/cursor_walk_through_forking_process 1.md",
|
||||
"Phenix Platform/cursor_walk_through_forking_process.md",
|
||||
"Phenix Platform/cursor_explain_roommodel_and_its_update.md",
|
||||
"Phenix Platform/cursor_explain_roommodel_and_its_update2.md",
|
||||
"cursor_explain_roommodel_and_its_update2 1.md",
|
||||
"cursor_explain_roommodel_and_its_update 1.md",
|
||||
"README.md",
|
||||
"Phenix Platform/How To's/Individually run SERVER_APPs.md",
|
||||
"Phenix Platform/How To's",
|
||||
"nginx/Build nginx from source.md",
|
||||
"Phenix Platform",
|
||||
"ESP32/frameworks/arduino-cli/FQBN esp32.md",
|
||||
"nginx",
|
||||
"ESP32/Setting up ESP32.md",
|
||||
"ESP32/frameworks/arduino-cli",
|
||||
"ESP32/frameworks"
|
||||
]
|
||||
}
|
||||
36
ESP32/frameworks/arduino-cli/FQBN esp32.md
Normal file
36
ESP32/frameworks/arduino-cli/FQBN esp32.md
Normal file
@@ -0,0 +1,36 @@
|
||||
|
||||
I can see you're encountering an error while trying to compile code for an ESP32 development board using the Arduino CLI. The error message indicates that the FQBN (Fully Qualified Board Name) "esp32:esp32:esp32-dev-kit1" was not found.
|
||||
|
||||
Let me help you resolve this issue:
|
||||
|
||||
To fix the "Invalid FQBN: board esp32:esp32:esp32-dev-kit1 not found" error when using arduino-cli:
|
||||
|
||||
1. The error occurs because the FQBN (Fully Qualified Board Name) you're using is incorrect. The correct format for ESP32 boards is typically `esp32:esp32:[board-name]`.
|
||||
|
||||
2. First, make sure you have the ESP32 core installed:
|
||||
```
|
||||
arduino-cli core update-index
|
||||
arduino-cli core install esp32:esp32
|
||||
```
|
||||
|
||||
3. To see all available ESP32 boards and their correct FQBNs:
|
||||
```
|
||||
arduino-cli board listall esp32
|
||||
```
|
||||
|
||||
4. The correct FQBN for ESP32 Dev Kit is likely `esp32:esp32:esp32` or `esp32:esp32:esp32dev` (not `esp32-dev-kit1`).
|
||||
|
||||
5. Your corrected command should look like:
|
||||
```
|
||||
arduino-cli compile --fqbn esp32:esp32:esp32dev --port /dev/cu.usbserial-0001
|
||||
```
|
||||
|
||||
If you're still having issues, check that:
|
||||
- You're using a proper USB data cable (not just a charging cable)
|
||||
- You have the correct USB-to-UART bridge drivers installed (CP210x, CH340, or FTDI depending on your board)
|
||||
- The board is properly powered and connected
|
||||
|
||||
For ESP32 boards with upload issues, you may need to hold the BOOT button while initiating the upload until you see "Connecting..." in the output. [^1]
|
||||
|
||||
[^1]: https://randomnerdtutorials.com/esp32-troubleshooting-guide/
|
||||
|
||||
22
Phenix Platform/Channel Forking.md
Normal file
22
Phenix Platform/Channel Forking.md
Normal file
@@ -0,0 +1,22 @@
|
||||
|
||||
```mermaid
|
||||
|
||||
sequenceDiagram
|
||||
User ->>+ ChannelApiRoute: fork sourceChannel to destinationChannel
|
||||
ChannelApiRoute ->>+ PhenixMQ: roomapi.Fork
|
||||
|
||||
PhenixMQ ->>+ RoomApiMQWorker: roomapi.Fork
|
||||
RoomApiMQWorker ->> RoomApiMQWorker: roomapiFork
|
||||
RoomApiMQWorker ->> PhenixMQ: stream.CreateMirror
|
||||
PhenixMQ ->> StreamManagementMQWorker: streamCreateMirror
|
||||
|
||||
|
||||
|
||||
|
||||
PhenixMQ -->>- ChannelApiRoute: roomapi.ForkResponse
|
||||
|
||||
```
|
||||
|
||||
![[cursor_explain_roommodel_and_its_update2 1]]
|
||||
|
||||
![[cursor_explain_roommodel_and_its_update 1]]
|
||||
3
Phenix Platform/How To's/Individually run SERVER_APPs.md
Normal file
3
Phenix Platform/How To's/Individually run SERVER_APPs.md
Normal file
@@ -0,0 +1,3 @@
|
||||
|
||||
[source](https://phenixrts.slack.com/archives/C08FZAGL71A/p1741025116154349)
|
||||
|
||||
1114
Phenix Platform/cursor_explain_roommodel_and_its_update2.md
Normal file
1114
Phenix Platform/cursor_explain_roommodel_and_its_update2.md
Normal file
File diff suppressed because it is too large
Load Diff
2660
Phenix Platform/cursor_walk_through_forking_process 1.md
Normal file
2660
Phenix Platform/cursor_walk_through_forking_process 1.md
Normal file
File diff suppressed because it is too large
Load Diff
2660
Phenix Platform/cursor_walk_through_forking_process.md
Normal file
2660
Phenix Platform/cursor_walk_through_forking_process.md
Normal file
File diff suppressed because it is too large
Load Diff
196
nginx/Build nginx from source.md
Normal file
196
nginx/Build nginx from source.md
Normal file
@@ -0,0 +1,196 @@
|
||||
## PreRequisites
|
||||
You need to install the OpenSSL development libraries as well. Here's how to fix both issues:
|
||||
Install Required Dependencies
|
||||
For Debian/Ubuntu systems (which you appear to be using based on the apt-get command):
|
||||
|
||||
```sh
|
||||
sudo apt-get install libpcre3 libpcre3-dev libssl-dev
|
||||
```
|
||||
|
||||
This command will install:
|
||||
• `libpcre3` and `libpcre3-dev` - For the `PCRE library` (needed for the HTTP rewrite module)
|
||||
• `libssl-dev` - For the `OpenSSL` development files (needed for SSL modules)
|
||||
|
||||
|
||||
#### Download
|
||||
|
||||
1. Download latest nginx source code from [Nginx](https://nginx.org/en/download.html)
|
||||
today [nginx-1.25.3](https://nginx.org/download/nginx-1.25.3.tar.gz)
|
||||
2. Download RTMP Module from [github](https://github.com/arut/nginx-rtmp-module)
|
||||
|
||||
|
||||
### Extract
|
||||
|
||||
1. Extract downloaded nginx
|
||||
```Bash
|
||||
tar zxvf nginx-1.25.3.tar.gz
|
||||
```
|
||||
|
||||
2. change directories to extracted nginx directory
|
||||
3. configure build
|
||||
```Bash
|
||||
./configure \
|
||||
--prefix=/usr/local/nginx \
|
||||
--sbin-path=/usr/local/sbin/nginx \
|
||||
--add-module=../nginx-rtmp-module
|
||||
|
||||
```
|
||||
|
||||
4. make
|
||||
5. make install
|
||||
|
||||
|
||||
### Stats
|
||||
|
||||
copy `stats.xsl` from `nginx-rtmp-module` to `nginx/html`
|
||||
change permissions if neccessary
|
||||
|
||||
|
||||
### nginx.conf
|
||||
|
||||
```
|
||||
|
||||
user zinn;
|
||||
worker_processes 1;
|
||||
|
||||
#error_log logs/error.log;
|
||||
#error_log logs/error.log notice;
|
||||
#error_log logs/error.log info;
|
||||
|
||||
#pid logs/nginx.pid;
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
rtmp {
|
||||
|
||||
server {
|
||||
|
||||
listen 1935;
|
||||
|
||||
chunk_size 4000;
|
||||
|
||||
# maps to rtmp://host:1935/radio
|
||||
application radio {
|
||||
|
||||
# enable live streaming
|
||||
live on;
|
||||
|
||||
# record first 1K of stream
|
||||
# record all;
|
||||
# record_path /tmp/av;
|
||||
# record_max_size 1K;
|
||||
|
||||
# append current timestamp to each flv
|
||||
# record_unique on;
|
||||
# publish only from localhost
|
||||
# deny publish all;
|
||||
allow publish all;
|
||||
|
||||
allow play all;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# HTTP can be used for accessing RTMP stats
|
||||
http {
|
||||
|
||||
server {
|
||||
|
||||
include mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
# '$status $body_bytes_sent "$http_referer" '
|
||||
# '"$http_user_agent" "$http_x_forwarded_for"';
|
||||
|
||||
#access_log logs/access.log main;
|
||||
sendfile on;
|
||||
#tcp_nopush on;
|
||||
|
||||
#keepalive_timeout 0;
|
||||
keepalive_timeout 65;
|
||||
|
||||
listen 8080;
|
||||
server_name pi-streamer;
|
||||
|
||||
|
||||
location / {
|
||||
root html;
|
||||
index index.html index.htm;
|
||||
}
|
||||
|
||||
# This URL provides RTMP statistics in XML
|
||||
location /stat {
|
||||
rtmp_stat all;
|
||||
|
||||
# Use this stylesheet to view XML as web page
|
||||
# in browser
|
||||
rtmp_stat_stylesheet stat.xsl;
|
||||
}
|
||||
|
||||
location /stat.xsl {
|
||||
# XML stylesheet to view RTMP stats.
|
||||
# Copy stat.xsl wherever you want
|
||||
# and put the full directory path here
|
||||
root html;
|
||||
}
|
||||
|
||||
# location /hls {
|
||||
# # Serve HLS fragments
|
||||
# types {
|
||||
# application/vnd.apple.mpegurl m3u8;
|
||||
# video/mp2t ts;
|
||||
# }
|
||||
# root /tmp;
|
||||
# add_header Cache-Control no-cache;
|
||||
# }
|
||||
|
||||
# location /dash {
|
||||
# # Serve DASH fragments
|
||||
# root /tmp;
|
||||
# add_header Cache-Control no-cache;
|
||||
# }
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
```sh
|
||||
# DID NOT WORK
|
||||
❯ ffmpeg5.1 -re -i http://10.50.90.33:5004/auto/v7.1 \
|
||||
-threads 0 \
|
||||
-pix_fmt yuv420p \
|
||||
-vcodec libx264 \
|
||||
-profile:v baseline \
|
||||
-deblock 1:0 \
|
||||
-bitrate 500k \
|
||||
-tune zerolatency \
|
||||
-x264opts keyint=30 \
|
||||
-acodec aac \
|
||||
-ar 48000 \
|
||||
-ac 2 \
|
||||
-b:a 128k \
|
||||
-preset veryfast \
|
||||
-crf 23 \
|
||||
-bufsize 500k \
|
||||
-maxrate 500k \
|
||||
-hide_banner \
|
||||
-loglevel info \
|
||||
-f flv "rtmp://10.50.20.2:1935/ingest/channel7"
|
||||
|
||||
```
|
||||
|
||||
|
||||
```sh
|
||||
# Works but has pumping
|
||||
❯ ffmpeg5.1 -re -i http://10.50.90.33:5004/auto/v7.1 -threads 3 -hide_banner \
|
||||
-pix_fmt yuv420p -vcodec libx264 -profile:v baseline -deblock 1:0 \
|
||||
-bitrate 1000k -bufsize 1600k -maxrate 1000k \
|
||||
-tune zerolatency -x264opts keyint=30 -preset veryfast \
|
||||
-acodec aac -ar 48000 -ac 2 -b:a 128k \
|
||||
-f flv "rtmp://10.50.20.2:1935/ingest/channel7"
|
||||
|
||||
```
|
||||
Reference in New Issue
Block a user