Merge dev: Disable deep linking to fix mobile browser video chat
This commit is contained in:
commit
8f0dd44e74
|
|
@ -0,0 +1,99 @@
|
|||
// Jeffsi Meet Custom Config - High Quality Video Settings
|
||||
// This file is appended to config.js to override default settings
|
||||
|
||||
// Higher bitrate limits for better video quality
|
||||
config.videoQuality.vp9 = {
|
||||
maxBitratesVideo: {
|
||||
low: 200000,
|
||||
standard: 700000,
|
||||
high: 2500000
|
||||
},
|
||||
scalabilityModeEnabled: true
|
||||
};
|
||||
|
||||
config.videoQuality.vp8 = {
|
||||
maxBitratesVideo: {
|
||||
low: 200000,
|
||||
standard: 500000,
|
||||
high: 2000000
|
||||
}
|
||||
};
|
||||
|
||||
config.videoQuality.h264 = {
|
||||
maxBitratesVideo: {
|
||||
low: 200000,
|
||||
standard: 500000,
|
||||
high: 2000000
|
||||
}
|
||||
};
|
||||
|
||||
// Quality level thresholds
|
||||
config.videoQuality.minHeightForQualityLvl = {
|
||||
180: 'low',
|
||||
360: 'standard',
|
||||
720: 'high'
|
||||
};
|
||||
|
||||
// Higher resolution constraints
|
||||
config.constraints = {
|
||||
video: {
|
||||
height: { ideal: 720, max: 1080, min: 180 },
|
||||
width: { ideal: 1280, max: 1920, min: 320 },
|
||||
frameRate: { ideal: 30, max: 30, min: 15 }
|
||||
}
|
||||
};
|
||||
|
||||
// STUN + TURN servers for NAT traversal (critical for mobile)
|
||||
config.p2p.stunServers = [
|
||||
{ urls: 'stun:159.195.32.209:3478' },
|
||||
{ urls: 'stun:stun.l.google.com:19302' },
|
||||
{ urls: 'stun:stun1.l.google.com:19302' }
|
||||
];
|
||||
|
||||
// P2P ICE transport policy - use 'all' to allow both relay and direct
|
||||
config.p2p.iceTransportPolicy = 'all';
|
||||
|
||||
// TURN servers for P2P (relay fallback for symmetric NAT / mobile)
|
||||
config.p2p.iceServers = [
|
||||
{
|
||||
urls: ['turn:159.195.32.209:3478?transport=udp', 'turn:159.195.32.209:3478?transport=tcp'],
|
||||
username: 'turnuser',
|
||||
credential: 'jeffsi-turn-secret-2025'
|
||||
}
|
||||
];
|
||||
|
||||
// Increase last N (max participants with video showing)
|
||||
config.channelLastN = 25;
|
||||
|
||||
// Enable layer suspension for bandwidth adaptation
|
||||
config.enableLayerSuspension = true;
|
||||
|
||||
// Start in tile/gallery view by default (show all participants)
|
||||
config.startInTileView = true;
|
||||
|
||||
// Disable auto-pinning of screen shares and dominant speaker
|
||||
config.disableSelfView = false;
|
||||
config.disableSelfViewSettings = false;
|
||||
|
||||
// Enable "End meeting for all" button
|
||||
config.disableRemoteMute = false;
|
||||
config.remoteVideoMenu = {
|
||||
disableKick: false,
|
||||
disableGrantModerator: false
|
||||
};
|
||||
|
||||
// Security UI options
|
||||
config.securityUi = {
|
||||
disableLobbyPassword: false,
|
||||
hideLobbyButton: false
|
||||
};
|
||||
|
||||
// Enable close page after meeting ends
|
||||
config.enableClosePage = true;
|
||||
|
||||
// Disable deep linking - keep mobile users in the web browser
|
||||
// instead of redirecting to the native Jitsi Meet app
|
||||
config.disableDeepLinking = true;
|
||||
|
||||
// Mobile-friendly: prefer VP8 (better hardware decode support on mobile)
|
||||
config.videoQuality.mobileCodecPreferenceOrder = ["VP8", "H264", "VP9", "AV1"];
|
||||
Loading…
Reference in New Issue