mirror of
https://github.com/koush/scrypted.git
synced 2026-09-18 01:30:39 +01:00
webrtc: increase ipv4 mtu, fix udp upstream
This commit is contained in:
4
plugins/webrtc/package-lock.json
generated
4
plugins/webrtc/package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@scrypted/webrtc",
|
||||
"version": "0.0.112",
|
||||
"version": "0.0.113",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@scrypted/webrtc",
|
||||
"version": "0.0.112",
|
||||
"version": "0.0.113",
|
||||
"dependencies": {
|
||||
"@koush/werift": "file:../../external/werift/packages/webrtc",
|
||||
"@scrypted/common": "file:../../common",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@scrypted/webrtc",
|
||||
"version": "0.0.112",
|
||||
"version": "0.0.113",
|
||||
"scripts": {
|
||||
"scrypted-setup-project": "scrypted-setup-project",
|
||||
"prescrypted-setup-project": "scrypted-package-json",
|
||||
|
||||
@@ -34,7 +34,7 @@ function getDebugModeH264EncoderArgs() {
|
||||
|
||||
export async function createTrackForwarder(options: {
|
||||
timeStart: number,
|
||||
isPrivate: boolean, destinationId: string,
|
||||
isPrivate: boolean, destinationId: string, ipv4: boolean,
|
||||
requestMediaStream: RequestMediaStream,
|
||||
videoTransceiver: RTCRtpTransceiver, audioTransceiver: RTCRtpTransceiver,
|
||||
sessionSupportsH264High: boolean, maximumCompatibilityMode: boolean, transcodeWidth: number,
|
||||
@@ -187,7 +187,11 @@ export async function createTrackForwarder(options: {
|
||||
},
|
||||
};
|
||||
|
||||
const videoPacketSize = 1300;
|
||||
// ipv4 mtu is 1500
|
||||
// so max usable packet size is 1500 - rtp header - tcp header - ip header
|
||||
// 1500 - 12 - 20 - 20 = 1448.
|
||||
// but set to 1440 cause that's what cameras seem to use for some reason.
|
||||
const videoPacketSize = options.ipv4 ? 1440 : 1300;
|
||||
let h264Repacketizer: H264Repacketizer;
|
||||
let spsPps: ReturnType<typeof getSpsPps>;
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@ async function setupRtspClient(console: Console, rtspClient: RtspClient, channel
|
||||
onRtp: (rtspHeader, rtp) => deliver(rtp),
|
||||
});
|
||||
console.log('rtsp/udp', section.codec, result);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
|
||||
@@ -57,8 +57,11 @@ export function logIsPrivateIceTransport(console: Console, pc: RTCPeerConnection
|
||||
console.warn('Turn server is in use. For optimal performance ensure that your router supports source NAT.');
|
||||
}
|
||||
console.log('Connection is local network:', isPrivate);
|
||||
const destinationId = pc.iceTransports[0]?.connection?.remoteAddr?.[0];
|
||||
const ipv4 = ip.isV4Format(destinationId);
|
||||
return {
|
||||
ipv4,
|
||||
isPrivate,
|
||||
destinationId: pc.iceTransports[0]?.connection?.remoteAddr?.[0],
|
||||
destinationId,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user