Skip to content
Open
Show file tree
Hide file tree
Changes from 42 commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
6177e62
added webrtc as paraller pipeline
Irakus Sep 1, 2025
7c5afce
moved webrtc to separate pipeline
Irakus Sep 1, 2025
c4c5d7b
trying to add iframe
Irakus Sep 2, 2025
17b3805
added
Irakus Sep 3, 2025
78eed94
start using js script from mediamtx
Irakus Sep 3, 2025
199c53d
checkpoint
Irakus Sep 3, 2025
df1980d
revert dockrfile format
Irakus Sep 3, 2025
02c5e4c
trying to fix server
Irakus Sep 3, 2025
e56ec39
added certs
Irakus Sep 4, 2025
f7bc82a
working embeded video
Irakus Sep 5, 2025
064b93c
removed old dlstreamer source
Irakus Sep 8, 2025
f9b39da
Merge branch 'main' of https://github.com/open-edge-platform/scenesca…
Irakus Sep 8, 2025
e9a3587
move everything into 1 pipeline
Irakus Sep 8, 2025
7a8ac49
clean scene
Irakus Sep 8, 2025
cc6a84d
clean pr
Irakus Sep 8, 2025
cd1f559
clean red marks on cameras
Irakus Sep 9, 2025
113d1e2
removed mqtt feed from web app
Irakus Sep 9, 2025
501612b
changed video format
Irakus Sep 10, 2025
c8290d3
videos replaced with webrtc - need change of trigger in calibration page
Irakus Sep 11, 2025
db104c9
working fine, but slow
Irakus Sep 11, 2025
ac2725d
still slow
Irakus Sep 11, 2025
cad52fe
optimized
Irakus Sep 11, 2025
dafc7be
checkpoint
Irakus Sep 11, 2025
1deb16b
optimized stream loading:
Irakus Sep 12, 2025
1435fed
remove logging rtc connections
Irakus Sep 12, 2025
72ce7af
checkpoint
Irakus Sep 15, 2025
aac76ab
added video as fallback
Irakus Sep 15, 2025
fe5e11e
Merge branch 'main' into ITEP-68945-webrtc-raw
Irakus Sep 15, 2025
60396d5
Merge branch 'main' into ITEP-68945-webrtc-raw
Irakus Sep 16, 2025
a107107
checkpoint
Irakus Sep 16, 2025
dbc1844
Merge branch 'ITEP-68945-webrtc-raw' of https://github.com/open-edge-…
Irakus Sep 16, 2025
47602bb
fixed autocalibration
Irakus Sep 16, 2025
65de5d7
fixed long loading of videos
Irakus Sep 16, 2025
70f1412
cleanup
Irakus Sep 16, 2025
8294734
removed ip from config
Irakus Sep 17, 2025
e13f63d
Merge branch 'main' into ITEP-68945-webrtc-raw
Irakus Sep 17, 2025
c91316d
updated licenses and docs
Irakus Sep 17, 2025
e9c16dc
reformatted dockerfile
Irakus Sep 17, 2025
a8e69fc
update dls configs
Irakus Sep 17, 2025
e489c2d
update perf config
Irakus Sep 17, 2025
7500fa8
prettrier write
Irakus Sep 17, 2025
b4b545e
clean docs
Irakus Sep 17, 2025
2d90496
Merge branch 'main' into ITEP-68945-webrtc-raw
Irakus Sep 18, 2025
7a2bdc9
revert calibration fix
Irakus Sep 18, 2025
6b211b2
newline
Irakus Sep 18, 2025
c4e354f
Merge branch 'main' into ITEP-68945-webrtc-raw
Irakus Sep 19, 2025
fe2abf7
Merge branch 'main' into ITEP-68945-webrtc-raw
Irakus Sep 22, 2025
7e23d74
Merge branch 'main' of https://github.com/open-edge-platform/scenesca…
Irakus Oct 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions LICENSES/MIT.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need individual license call out for each dependency. Those are done in third-party-programs.txt


Copyright (c) 2019 aler9

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
6 changes: 3 additions & 3 deletions dlstreamer-pipeline-server/convert_video_to_ts.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
# to ts files so that gstreamer pipeline can keep running the files
# in infinite loop without having to deallocate buffers

docker pull intel/intel-optimized-ffmpeg:latest
docker pull linuxserver/ffmpeg:version-8.0-cli

DIRNAME=${PWD}
SAMPLE_DATA_DIRECTORY=${DIRNAME}/sample_data
FFMPEG_DIR="/app/data"
FFMPEG_IMAGE="intel/intel-optimized-ffmpeg:latest"
FFMPEG_IMAGE="linuxserver/ffmpeg:version-8.0-cli"
EXTENSION=${1:-mp4}
PATTERN="*.${EXTENSION}"

Expand All @@ -26,7 +26,7 @@ for mfile in "$SAMPLE_DATA_DIRECTORY"/$PATTERN; do
if [ -f $tsfile ]; then
echo "skipping $basefile as $tsfile is available already"
else
ffmpegcmd="/opt/build/bin/ffmpeg -i ${FFMPEG_DIR}/${basefile}.${EXTENSION} -c copy ${FFMPEG_DIR}/${basefile}.ts"
ffmpegcmd="ffmpeg -i ${FFMPEG_DIR}/${basefile}.${EXTENSION} -c:v libx264 -preset ultrafast -x264-params keyint=10:min-keyint=5 -tune zerolatency ${FFMPEG_DIR}/${basefile}.ts"
cmd="$DOCKER_RUN_CMD_PREFIX -c '$ffmpegcmd'"
eval $cmd
fi
Expand Down
4 changes: 2 additions & 2 deletions dlstreamer-pipeline-server/perf-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
{
"name": "apriltag-cam1",
"source": "gstreamer",
"pipeline": "multifilesrc loop=TRUE location=/home/pipeline-server/videos/apriltag-cam1.ts name=source ! decodebin ! videoconvert ! video/x-raw,format=BGR ! gvapython class=PostDecodeTimestampCapture function=processFrame module=/home/pipeline-server/user_scripts/gvapython/sscape/sscape_adapter.py name=timesync ! gvadetect model=/home/pipeline-server/models/object_detection/person/FP32/person-detection-retail-0013.xml model-proc=/home/pipeline-server/models/object_detection/person/person-detection-retail-0013.json ! gvametaconvert add-tensor-data=true name=metaconvert ! gvapython class=PostInferenceDataPublish function=processFrame module=/home/pipeline-server/user_scripts/gvapython/sscape/sscape_adapter.py name=datapublisher ! gvametapublish name=destination ! appsink sync=true",
"pipeline": "rtspsrc location=rtsp://mediaserver:8554/camera1-raw latency=200 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! video/x-raw,format=BGR ! gvapython class=PostDecodeTimestampCapture function=processFrame module=/home/pipeline-server/user_scripts/gvapython/sscape/sscape_adapter.py name=timesync ! gvadetect model=/home/pipeline-server/models/object_detection/person/FP32/person-detection-retail-0013.xml model-proc=/home/pipeline-server/models/object_detection/person/person-detection-retail-0013.json ! gvametaconvert add-tensor-data=true name=metaconvert ! gvapython class=PostInferenceDataPublish function=processFrame module=/home/pipeline-server/user_scripts/gvapython/sscape/sscape_adapter.py name=datapublisher ! gvawatermark ! gvametapublish name=destination ! appsink sync=true",
"auto_start": true,
"parameters": {
"type": "object",
Expand Down Expand Up @@ -70,7 +70,7 @@
{
"name": "apriltag-cam2",
"source": "gstreamer",
"pipeline": "multifilesrc loop=TRUE location=/home/pipeline-server/videos/apriltag-cam2.ts name=source ! decodebin ! videoconvert ! video/x-raw,format=BGR ! gvapython class=PostDecodeTimestampCapture function=processFrame module=/home/pipeline-server/user_scripts/gvapython/sscape/sscape_adapter.py name=timesync ! gvadetect model=/home/pipeline-server/models/object_detection/person/FP32/person-detection-retail-0013.xml model-proc=/home/pipeline-server/models/object_detection/person/person-detection-retail-0013.json ! gvametaconvert add-tensor-data=true name=metaconvert ! gvapython class=PostInferenceDataPublish function=processFrame module=/home/pipeline-server/user_scripts/gvapython/sscape/sscape_adapter.py name=datapublisher ! gvametapublish name=destination ! appsink sync=true",
"pipeline": "rtspsrc location=rtsp://mediaserver:8554/camera2-raw latency=200 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! video/x-raw,format=BGR ! gvapython class=PostDecodeTimestampCapture function=processFrame module=/home/pipeline-server/user_scripts/gvapython/sscape/sscape_adapter.py name=timesync ! gvadetect model=/home/pipeline-server/models/object_detection/person/FP32/person-detection-retail-0013.xml model-proc=/home/pipeline-server/models/object_detection/person/person-detection-retail-0013.json ! gvametaconvert add-tensor-data=true name=metaconvert ! gvapython class=PostInferenceDataPublish function=processFrame module=/home/pipeline-server/user_scripts/gvapython/sscape/sscape_adapter.py name=datapublisher ! gvawatermark ! gvametapublish name=destination ! appsink sync=true",
"auto_start": true,
"parameters": {
"type": "object",
Expand Down
26 changes: 16 additions & 10 deletions dlstreamer-pipeline-server/queuing-config-no-ntp.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
{
"name": "qcam1",
"source": "gstreamer",
"pipeline": "rtspsrc location=rtsp://mediaserver:8554/queuing-cam1 latency=200 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! video/x-raw,format=BGR ! gvapython class=PostDecodeTimestampCapture function=processFrame module=/home/pipeline-server/user_scripts/gvapython/sscape/sscape_adapter.py name=timesync ! gvadetect model=/home/pipeline-server/models/intel/person-detection-retail-0013/FP32/person-detection-retail-0013.xml model-proc=/home/pipeline-server/models/object_detection/person/person-detection-retail-0013.json ! gvametaconvert add-tensor-data=true name=metaconvert ! gvapython class=PostInferenceDataPublish function=processFrame module=/home/pipeline-server/user_scripts/gvapython/sscape/sscape_adapter.py name=datapublisher ! gvametapublish name=destination ! appsink sync=true",
"pipeline": "rtspsrc location=rtsp://mediaserver:8554/queuing-cam1 latency=200 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! video/x-raw,format=BGR ! gvapython class=PostDecodeTimestampCapture function=processFrame module=/home/pipeline-server/user_scripts/gvapython/sscape/sscape_adapter.py name=timesync ! gvadetect model=/home/pipeline-server/models/intel/person-detection-retail-0013/FP32/person-detection-retail-0013.xml model-proc=/home/pipeline-server/models/object_detection/person/person-detection-retail-0013.json ! gvametaconvert add-tensor-data=true name=metaconvert ! gvapython class=PostInferenceDataPublish function=processFrame module=/home/pipeline-server/user_scripts/gvapython/sscape/sscape_adapter.py name=datapublisher ! gvawatermark ! gvametapublish name=destination ! appsink sync=true",
"auto_start": true,
"parameters": {
"type": "object",
Expand All @@ -27,16 +27,19 @@
"metadatagenpolicy": {
"type": "string",
"description": "Meta data generation policy, one of detectionPolicy(default),reidPolicy,classificationPolicy"
},
"publish_frame": {
"type": "boolean",
"description": "Publish frame to mqtt"
}
}
}
}
},
"payload": {
"destination": {
"frame": {
"type": "webrtc",
"peer-id": "atag-qcam1",
"overlay": false
}
},
"parameters": {
"camera_config": {
"cameraid": "atag-qcam1",
Expand All @@ -48,7 +51,7 @@
{
"name": "qcam2",
"source": "gstreamer",
"pipeline": "rtspsrc location=rtsp://mediaserver:8554/queuing-cam2 latency=200 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! video/x-raw,format=BGR ! gvapython class=PostDecodeTimestampCapture function=processFrame module=/home/pipeline-server/user_scripts/gvapython/sscape/sscape_adapter.py name=timesync ! gvadetect model=/home/pipeline-server/models/intel/person-detection-retail-0013/FP32/person-detection-retail-0013.xml model-proc=/home/pipeline-server/models/object_detection/person/person-detection-retail-0013.json ! gvametaconvert add-tensor-data=true name=metaconvert ! gvapython class=PostInferenceDataPublish function=processFrame module=/home/pipeline-server/user_scripts/gvapython/sscape/sscape_adapter.py name=datapublisher ! gvametapublish name=destination ! appsink sync=true",
"pipeline": "rtspsrc location=rtsp://mediaserver:8554/queuing-cam2 latency=200 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! video/x-raw,format=BGR ! gvapython class=PostDecodeTimestampCapture function=processFrame module=/home/pipeline-server/user_scripts/gvapython/sscape/sscape_adapter.py name=timesync ! gvadetect model=/home/pipeline-server/models/intel/person-detection-retail-0013/FP32/person-detection-retail-0013.xml model-proc=/home/pipeline-server/models/object_detection/person/person-detection-retail-0013.json ! gvametaconvert add-tensor-data=true name=metaconvert ! gvapython class=PostInferenceDataPublish function=processFrame module=/home/pipeline-server/user_scripts/gvapython/sscape/sscape_adapter.py name=datapublisher ! gvawatermark ! gvametapublish name=destination ! appsink sync=true",
"auto_start": true,
"parameters": {
"type": "object",
Expand All @@ -67,16 +70,19 @@
"metadatagenpolicy": {
"type": "string",
"description": "Meta data generation policy, one of detectionPolicy(default),reidPolicy,classificationPolicy"
},
"publish_frame": {
"type": "boolean",
"description": "Publish frame to mqtt"
}
}
}
}
},
"payload": {
"destination": {
"frame": {
"type": "webrtc",
"peer-id": "atag-qcam2",
"overlay": false
}
},
"parameters": {
"camera_config": {
"cameraid": "atag-qcam2",
Expand Down
122 changes: 0 additions & 122 deletions dlstreamer-pipeline-server/queuing-config-no-rtsp.json

This file was deleted.

Loading
Loading