Skip to content

Instantly share code, notes, and snippets.

View kwindla's full-sized avatar

Kwindla Hultman Kramer kwindla

View GitHub Profile
@kwindla
kwindla / gist:bc908f503c1a2b36e2a921a9572f109c
Created July 22, 2021 19:05
Chrome 92 WebMediaPlayer breaking change
<html>
<head>
<title>chrome 92 media elements bug</title>
</head>
<body>
<div id="local-controls" style="width: 50%; float: left">
<button onclick="start(badLoop)">
start bad loop (dies at 75 Chrome 92/desktop)
</button>
<button onclick="start(goodLoop)">start good loop</button>
@kwindla
kwindla / custom-video-and-audio-tracks.html
Created July 22, 2021 03:18
Daily video API -- custom audio and video tracks
<html>
<head>
<title>custom video and audio tracks</title>
<script src="https://unpkg.com/@daily-co/daily-js"></script>
</head>
<body>
<div id="local-controls" style="width: 50%; float: left">
<button onclick="createAndJoinCall()">create call object and join</button>
<button onclick="publishCanvasTrack()">
start/use custom video track
@kwindla
kwindla / audio-track-subs.html
Created June 20, 2021 03:52
Daily video API -- simple audio-only sample code
<html>
<head>
<title>audio track subs demo</title>
<script src="https://unpkg.com/@daily-co/daily-js"></script>
</head>
<!--
audio-only sample code
-->
@kwindla
kwindla / set-input-devices-async.js
Created May 20, 2021 19:46
simplest possible daily-js video call API test for setInputDevicesAsync()
<html>
<head>
<title>simplest possible setInputDevicesAsync test</title>
<script src="https://unpkg.com/@daily-co/daily-js"></script>
</head>
<!--
repro case attempt for setInputDevicesAsync issue
-->
@kwindla
kwindla / hq-720.html
Created April 29, 2021 05:41
Daily video API -- setting simulcast layers for higher bitrates
<html>
<head>
<title>setting simulcast layers for higher bitrate</title>
<script src="https://unpkg.com/@daily-co/daily-js"></script>
</head>
<body onload="main()">
<script>
/*
This is sample code showing a simulcast layer configuration
@kwindla
kwindla / iot-sender.html
Created March 23, 2021 03:52
simple send-only Daily video API client with adjustable bandwidth
<html>
<head>
<title>send cam track and adjust bandwidth with a slider</title>
<script src="https://unpkg.com/@daily-co/daily-js"></script>
</head>
<!--
simple demo showing bandwidth slider in media-server-mode calls,
with no video rendering at all. simulcast is disabled so that
the client is sending only a single video stream. this means
@kwindla
kwindla / iot-receiver.html
Created March 23, 2021 03:50
simple receive-only Daily video API client
<html>
<head>
<title>send cam track and adjust bandwidth with a slider</title>
<script src="https://unpkg.com/@daily-co/daily-js"></script>
</head>
<!--
simple demo showing a client that only receives video
-->
@kwindla
kwindla / ff-composite.js
Created March 9, 2021 16:57
Command line utility to composite multiple audio and video files with correct a/v sync
#! /usr/bin/env node
/**
*
* Construct an ffmpeg command that looks like ...
*
ffmpeg \
-i 1614730701736.aac -i 1614730702763.aac -i 1614730703401.m2v -i 1614730705785.m2v \
-t 100.55900001525879 \
@kwindla
kwindla / cam-bandwidth-slider.html
Created February 2, 2021 01:20
Daily video API - adjust peer-to-peer bandwidth with a slider
<html>
<head>
<title>adjust peer-to-peer bandwidth with a slider</title>
<script src="https://unpkg.com/@daily-co/daily-js"></script>
</head>
<!--
simple demo showing bandwidth changes in a peer-to-peer call. this code
only has layout logic for 1:1 calls, and only has bandwidth logic
for peer-to-peer (not sfu-mode) calls.
@kwindla
kwindla / frame-reduced-cpu.html
Created February 1, 2021 04:50
Daily video API: reduced resolution camera settings for lower cpu usage
<html>
<head>
<title>reduced cpu camera setting</title>
<script src="https://unpkg.com/@daily-co/daily-js"></script>
</head>
<body onload="main()">
<script>
// change ROOM_URL to a room in your Daily domain
const ROOM_URL = "https:// A ROOM URL";