Skip to content

Instantly share code, notes, and snippets.

View Sean-Der's full-sized avatar
🙈
Lexi is the love of my life, I love her more then Daisy loves cheese

Sean DuBois Sean-Der

🙈
Lexi is the love of my life, I love her more then Daisy loves cheese
View GitHub Profile
@Sean-Der
Sean-Der / out.patch
Created April 9, 2024 18:32
OBS Patch for Pacing
diff --git a/plugins/obs-webrtc/whip-output.cpp b/plugins/obs-webrtc/whip-output.cpp
index e83cc03b8..0e3693992 100644
--- a/plugins/obs-webrtc/whip-output.cpp
+++ b/plugins/obs-webrtc/whip-output.cpp
@@ -60,6 +60,10 @@ bool WHIPOutput::Start()
return false;
}
+ obs_data_t *video_settings = obs_encoder_get_settings(encoder);
+ video_bitrate = (int)obs_data_get_int(video_settings, "bitrate");
@Sean-Der
Sean-Der / index.html
Created April 3, 2024 01:32
Minimal WHEP Player against Broadcast Box
<html>
<head>
<title>whep-static</title>
</head>
<body>
<h3> Video </h3>
<video id="videoPlayer" autoplay muted controls style="width: 500"> </video>
@Sean-Der
Sean-Der / Log.txt
Created February 19, 2024 22:38
Broadcast Box Deadlock
This file has been truncated, but you can view the full file.
2024/02/16 02:25:23 Loading `.env.production`
NETWORK_TEST_ON_START is enabled. If the test fails Broadcast Box will exit.
See the README for how to debug or disable NETWORK_TEST_ON_START
2024/02/16 02:25:23 Running HTTP Server at `:8080`
Network Test passed.
Have fun using Broadcast Box.
2024/02/16 05:24:25 Authorization was not set
2024/02/16 05:25:38 Authorization was not set
2024/02/16 14:22:00 Authorization was not set
2024/02/16 14:22:41 Authorization was not set
@Sean-Der
Sean-Der / bench.c
Last active November 29, 2023 01:08
#include <srtp2/auth.h>
#include <srtp2/cipher.h>
#include <srtp2/crypto_types.h>
#include <srtp2/srtp.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
char SKEL_RTP_PACKET[17] = {0x80, 0x60, 0x69, 0x8f, 0xd9, 0xc2, 0x93, 0xda, 0x1c, 0x64, 0x27, 0x82, 0x98, 0x36, 0xbe, 0x88, 0x9e};
@Sean-Der
Sean-Der / ffmpeg.rb
Created June 12, 2023 20:33
FFMpeg Homebrew Formula with Opus FLV Support
class Ffmpeg < Formula
desc "Play, record, convert, and stream audio and video"
homepage "https://ffmpeg.org/"
url "https://ffmpeg.org/releases/ffmpeg-6.0.tar.xz"
sha256 "57be87c22d9b49c112b6d24bc67d42508660e6b718b3db89c44e47e289137082"
# None of these parts are used by default, you have to explicitly pass `--enable-gpl`
# to configure to activate them. In this case, FFmpeg's license changes to GPL v2+.
license "GPL-2.0-or-later"
head "https://github.com/FFmpeg/FFmpeg.git", branch: "master"
@Sean-Der
Sean-Der / README.txt
Created May 20, 2023 16:44
Get involved with Pion
Pion has lots of opportunities to get involved. We have lots of self contained projects that would be a lot of fun. Even if you don’t finish the project that is fine. The great thing about Open Source is someone can pick up where you left off.
It’s a great way to learn deep WebRTC knowledge. It is also a great pathway into a career in WebRTC. Multiple Pion contributors now work at companies that use the code they wrote.
—————————————
Network Simulator - Pion needs an easy to use network simulator. Something that developers can use in a few minutes and doesn’t require a Docker container or a long setup process. It can run in memory, but also provides virtual interfaces to test non-Go programs.
The simulator will model real world networks. Nog just setting a static packet loss or bandwidth cap. It can dynamically adjust all the attributes of the link.
@Sean-Der
Sean-Der / flags
Created April 4, 2023 17:39
flags
-DCMAKE_CXX_FLAGS="-static-libgcc -static-libstdc++ -w -pipe -fno-semantic-interposition -static"
-DCMAKE_C_FLAGS="-static-libgcc -w -pipe -fno-semantic-interposition -static"
-DCMAKE_SHARED_LINKER_FLAGS="-static-libgcc -static-libstdc++ -L${target_config[output_dir]}/lib -Wl,--exclude-libs,ALL -static"
@Sean-Der
Sean-Der / index.html
Last active February 16, 2023 16:12
Example for metal3d
<html>
<body>
<video id="video"> </video>
<br />
<button onclick="start()">Call start</button>
<script>
function E(selector) {
return document.querySelector(selector);
@Sean-Der
Sean-Der / Dockerfile
Last active February 1, 2023 16:47
GStreamer AV1 Dockerfile and example pipeline
FROM debian:sid
ENV DISPLAY :0
RUN echo 'deb http://mirrors.kernel.org/debian/ sid main contrib non-free\n\
deb-src http://mirrors.kernel.org/debian/ sid main contrib non-free\n'\
>> /etc/apt/sources.list
RUN apt-get -y update
RUN apt-get -y install git build-essential bison flex cmake
RUN apt-get -y build-dep gstreamer1.0-libav gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly
@Sean-Der
Sean-Der / example.sdp
Created December 15, 2022 04:32
Example Offer
a=rtpmap:102 H264/90000
a=rtcp-fb:102 goog-remb
a=rtcp-fb:102 transport-cc
a=rtcp-fb:102 ccm fir
a=rtcp-fb:102 nack
a=rtcp-fb:102 nack pli
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtpmap:122 rtx/90000
a=fmtp:122 apt=102
a=rtpmap:127 H264/90000