- JDK11 general updates (outlined in https://gist.github.com/mondain/f74a1969ca2b547faea9efda2cebc993)
- Audio and video data classes hold a reference to their selected codec enum vs an id
- Additional codec support added: opus, vp8, vp9, hevc, av1, and mpeg1video
- IConnection interface added new enums for encoding and duty
- Fixed RTMPE core handling and ChunkSize messaging
- Dependency libraries updated to newer versions and also those supporting JDK11
- Fix for live-wait in server https://github.com/Red5/red5-server/commit/73cdf6a2124d455ffa2373f16781a26479afa83b
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Changes here would be setting mid 1 through 3 to `recvonly` in addition to the new video entry as mid 5. | |
type: offer, sdp: v=0 | |
o=- 8815930240178044352 2 IN IP4 127.0.0.1 | |
s=- | |
t=0 0 | |
a=group:BUNDLE 0 1 2 3 4 5 6 | |
a=msid-semantic: WMS ifOcH0OobeWoMmedB3ooL1Aj1OqEqe08YJE3 | |
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126 | |
c=IN IP4 0.0.0.0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<html> | |
<head> | |
<title>Whip</title> | |
<script type="text/javascript" src="whip.js"></script> | |
</head> | |
<body> | |
<b>Whip it! real good</b> | |
<br /><br /> | |
<div id="container"></div> | |
<br /> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Based on code created by Sergio Garcia Murillo, modified by Paul Gregoire to be used with Red5 Pro. */ | |
class WHIPClient { | |
constructor() { | |
//Offer SDP | |
this.offer = null; | |
//Ice properties | |
this.iceUsername = null; | |
this.icePassword = null; | |
//Pending candidates |
Add to red5.sh
and red5pro.service
: -Dorg.ice4j.ipv6.DISABLED=false
red5.sh example:
if [ -z "$JVM_OPTS" ]; then
JVM_OPTS="-Dorg.ice4j.ipv6.DISABLED=false -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -Xms2g -Xmx2g -Xverify:none -XX:+UseBiasedLocking -XX:InitialCodeCacheSize=8m -XX:MaxGCPauseMillis=500 -XX:ReservedCodeCacheSize=32m"
fi
red5pro.service example:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.io.File; | |
import java.io.IOException; | |
import java.text.SimpleDateFormat; | |
import java.util.Date; | |
import java.util.HashMap; | |
import java.util.List; | |
import java.util.Locale; | |
import java.util.Map; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# explanation https://gist.github.com/mohanpedala/1e2ff5661761d3abd0385e8223e16425 | |
set -exuo pipefail | |
WORKDIR="$(pwd)" | |
mkdir -p ${WORKDIR} | |
SRC="$WORKDIR/ffmpeg_build" | |
CMPLD="$WORKDIR/compile" | |
NUM_PARALLEL_BUILDS=4 |
sequenceDiagram
participant wc as WHEP Client
participant ws as WHEP Server
wc->>+ws: OPTIONS /whep/endpoint/stream1?requestId=subscriber1
ws-->>wc: HTTP Response with headers and optional Link header containing ICE servers
wc->>ws: POST /whep/endpoint/stream1?requestId=subscriber1
ws-->>wc: HTTP Response with SDP Offer with candidates and Location header "/whep/resource/stream1"
sequenceDiagram
participant wc as WHIP Client
participant ws as WHIP Server
wc->>+ws: OPTIONS /whip/endpoint/stream1
ws-->>wc: HTTP Response with headers and optional Link header containing ICE servers
wc->>ws: POST /whip/endpoint/stream1 with SDP Offer
ws-->>wc: HTTP Response with SDP Answer with candidates and Location header "/whip/resource/stream1"
Offer from OBS with libdatachannel:
v=0
o=rtc 1749923962 0 IN IP4 127.0.0.1
s=-
t=0 0
a=msid-semantic:WMS *
a=group:BUNDLE 0 1
a=setup:actpass