Skip to content

Instantly share code, notes, and snippets.

View recursivecodes's full-sized avatar
💯
Living the dream

Todd Sharp recursivecodes

💯
Living the dream
View GitHub Profile

IVS Server Side Compositing

Let's take a look at server side compositing with Amazon IVS! This feature allows you to "composite" a real-time stage with multiple participants into a single low-latency stream.

For more information, check the docs!

Create a Low-Latency Channel

aws ivs create-channel --name my-first-low-latency-channel
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.WebRTC;
using UnityEngine.Networking;
public class WebRTCPublish : MonoBehaviour{
RTCPeerConnection peerConnection;
MediaStreamTrack track;
Camera cam;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.WebRTC;
using UnityEngine.Networking;
public class WebRTCPublish : MonoBehaviour{
RTCPeerConnection peerConnection;
MediaStreamTrack track;
Camera cam;

Streaming on Streaming - S2E30 - Hands on Real-Time Streams.md

Host

Todd Sharp - Principal Developer Advocate, Amazon IVS

Guests

Lego Minifigures

Real-Time Streaming

Hosts

  • Todd Sharp, Principal Developer Advocate, Amazon IVS
  • Song King, Sr Software Dev Manager, Amazon IVS

Guests

  • Max Stoller, Principal Product Manager, Amazon IVS
import { IvsClient, StopStreamCommand } from "@aws-sdk/client-ivs";
import { IvschatClient, SendEventCommand } from "@aws-sdk/client-ivschat";
import { RekognitionClient, DetectLabelsCommand, DetectModerationLabelsCommand } from "@aws-sdk/client-rekognition";
const chatArn = process.env.DEMO_CHAT_ARN;
const channelArn = process.env.DEMO_CHANNEL_ARN;
const responseObject = {
statusCode: 200,
headers: {
import * as cdk from 'aws-cdk-lib';
import { LambdaRestApi } from 'aws-cdk-lib/aws-apigateway';
import { Rule } from 'aws-cdk-lib/aws-events';
import { LambdaFunction } from 'aws-cdk-lib/aws-events-targets';
import { Effect, PolicyStatement, ServicePrincipal } from 'aws-cdk-lib/aws-iam';
import { Architecture, Code, Function, LayerVersion, Runtime } from 'aws-cdk-lib/aws-lambda';
import { ApiEventSource } from 'aws-cdk-lib/aws-lambda-event-sources';
import { Construct } from 'constructs';
export class IvsRekognitionCdkStack extends cdk.Stack {
<div class="row">
<div class="col-lg-2 offset-lg-2">
<div class="h-100 border rounded shadow p-3">
<img id="webcam-view-btn" src="/images/camera_icon.png" class="ratio ratio-16x9 border border-5 border-secondary rounded img-responsive shadow mb-2" role="button" />
<video id="vod-0" src="/video/vod-0.mp4" class="border border-5 border-secondary ratio ratio-16x9 rounded shadow" controls></video>
<video id="vod-1" src="/video/vod-1.mp4" class="border border-5 border-secondary ratio ratio-16x9 rounded shadow" controls></video>
</div>
</div>
<div class="col-lg-6">
<div class="card shadow">
<!DOCTYPE html>
<html lang="en">
<head>
<title>IVS Playback</title>
<script src="https://player.live-video.net/1.14.0/amazon-ivs-player.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', () => {
// set stream url
const streamUrl = '[Playback URL]';