Skip to content

Add sample app to stream with WebRTC and Stream Producer SDK simultaneously#414

Open
miratono wants to merge 8 commits intoaws-samples:masterfrom
miratono:master
Open

Add sample app to stream with WebRTC and Stream Producer SDK simultaneously#414
miratono wants to merge 8 commits intoaws-samples:masterfrom
miratono:master

Conversation

@miratono
Copy link
Copy Markdown

Issue #, if available:

Description of changes:
Added a gstreamer app sample (amazon-kinesis-video-streams-webrtc-sdk-c/samples/kvsWebRTCAndDirectStream.c) inside KVS WebRTC SDK to support streaming video to KVS with WebRTC SDK (for real-time use) and Stream Producer SDK (for near-realtime video ingestion), simultaneously from 1 camera source.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Comment thread webrtc-c/webrtc-and-directstream/README.md Outdated
Comment thread webrtc-c/webrtc-and-directstream/README.md Outdated
Comment thread webrtc-c/webrtc-and-directstream/README.md Outdated
Comment thread webrtc-c/webrtc-and-directstream/README.md Outdated
Comment thread webrtc-c/webrtc-and-directstream/README.md
Comment thread webrtc-c/webrtc-and-directstream/kvsWebRTCAndDirectStream.c Outdated
Comment thread webrtc-c/webrtc-and-directstream/kvsWebRTCAndDirectStream.c Outdated
Comment thread webrtc-c/webrtc-and-directstream/kvsWebRTCAndDirectStream.c Outdated
@miratono
Copy link
Copy Markdown
Author

miratono commented Oct 1, 2025

@sirknightj Hi thanks for the review. Just fixed the codes according to your review so please kindly check it.

Copy link
Copy Markdown
Contributor

@sirknightj sirknightj left a comment

Choose a reason for hiding this comment

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

Hi @miratono, thank you for your patience.

I was able to try it out, but ran into some issues. Wondering if you could take a look please?

cd amazon-kinesis-video-streams-producer-sdk-cpp
mkdir -p build
cd build
cmake .. -DBUILD_DEPENDENCIES=OFF
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Also need -DBUILB_GSTREAMER_PLUGIN=ON


2. Configure GStreamer plugin path with the path where you build the KVS Streams Producer app, e.g., `export GST_PLUGIN_PATH=/home/pi/amazon-kinesis-video-streams-producer-sdk-cpp/build`

3. Go to `amazon-kinesis-video-streams-webrtc-sdk-c/build/` and run `./samples/kvsWebRTCAndDirectStream <signaling channel name> <kvs stream name>`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

When I ran the make -j in the WebRTC-C build, I didn't see this file. This might require a modification to the CMakeLists to the samples directory to add the new executable.

https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/blob/main/samples/CMakeLists.txt#L78

And it might need some linking to the GStreamer libraries since I am seeing these build issues:

  • "undefined reference to g_main_loop_quit"
  • "undefined reference to g_printerr"
  • "undefined reference to gst_element_factory_make"

@@ -0,0 +1,3 @@
[submodule "amazon-kinesis-video-streams-producer-sdk-cpp"]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Seems there are 2 .gitmodules files?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants