update presets (#85)
This commit is contained in:
+211
-19
@@ -113,6 +113,194 @@ extension VideoEncodingExt on VideoEncoding {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class VideoParameters {
|
class VideoParameters {
|
||||||
|
// 16:9 Presets
|
||||||
|
static const presetH90_169 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h90_169,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 60 * 1000,
|
||||||
|
maxFramerate: 15,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
static const presetH180_169 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h180_169,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 120 * 1000,
|
||||||
|
maxFramerate: 15,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetH216_169 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h216_169,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 180 * 1000,
|
||||||
|
maxFramerate: 15,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetH360_169 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h360_169,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 300 * 1000,
|
||||||
|
maxFramerate: 20,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetH540_169 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h540_169,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 600 * 1000,
|
||||||
|
maxFramerate: 25,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetH1080_169 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h1080_169,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 3 * 1000 * 1000,
|
||||||
|
maxFramerate: 30,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetH1440_169 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h1440_169,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 5 * 1000 * 1000,
|
||||||
|
maxFramerate: 30,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetH2160_169 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h2160_169,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 8 * 1000 * 1000,
|
||||||
|
maxFramerate: 30,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetH720_169 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h540_169,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 2 * 1000 * 1000,
|
||||||
|
maxFramerate: 30,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
// 4:3 presets
|
||||||
|
|
||||||
|
static const presetH120_43 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h120_43,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 80 * 1000,
|
||||||
|
maxFramerate: 15,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetH180_43 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h180_43,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 100 * 1000,
|
||||||
|
maxFramerate: 15,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetH240_43 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h240_43,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 150 * 1000,
|
||||||
|
maxFramerate: 15,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetH360_43 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h360_43,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 225 * 1000,
|
||||||
|
maxFramerate: 20,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetH480_43 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h480_43,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 300 * 1000,
|
||||||
|
maxFramerate: 20,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetH540_43 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h540_43,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 450 * 1000,
|
||||||
|
maxFramerate: 25,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetH720_43 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h720_43,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 1 * 500 * 1000,
|
||||||
|
maxFramerate: 30,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetH1080_43 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h1080_43,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 2 * 500 * 1000,
|
||||||
|
maxFramerate: 30,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetH1440_43 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h1440_43,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 3 * 500 * 1000,
|
||||||
|
maxFramerate: 30,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
// Screen share
|
||||||
|
|
||||||
|
static const presetScreenShareH360FPS3 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h360_169,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 200 * 1000,
|
||||||
|
maxFramerate: 3,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetScreenShareH720FPS5 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h720_169,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 400 * 1000,
|
||||||
|
maxFramerate: 5,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetScreenShareH720FPS15 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h720_169,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 1 * 1000 * 1000,
|
||||||
|
maxFramerate: 15,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetScreenShareH1080FPS15 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h1080_169,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 1 * 500 * 1000,
|
||||||
|
maxFramerate: 15,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
static const presetScreenShareH1080FPS30 = VideoParameters(
|
||||||
|
dimensions: VideoDimensions.h1080_169,
|
||||||
|
encoding: VideoEncoding(
|
||||||
|
maxBitrate: 3 * 1000 * 1000,
|
||||||
|
maxFramerate: 30,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
final String? description;
|
final String? description;
|
||||||
final VideoDimensions dimensions;
|
final VideoDimensions dimensions;
|
||||||
final VideoEncoding encoding;
|
final VideoEncoding encoding;
|
||||||
@@ -123,10 +311,6 @@ class VideoParameters {
|
|||||||
required this.encoding,
|
required this.encoding,
|
||||||
});
|
});
|
||||||
|
|
||||||
//
|
|
||||||
// TODO: Make sure the resolutions are correct
|
|
||||||
//
|
|
||||||
|
|
||||||
static const presetQVGA169 = VideoParameters(
|
static const presetQVGA169 = VideoParameters(
|
||||||
description: 'QVGA(320x180) 16:9',
|
description: 'QVGA(320x180) 16:9',
|
||||||
dimensions: VideoDimensions(320, 180),
|
dimensions: VideoDimensions(320, 180),
|
||||||
@@ -263,27 +447,35 @@ class VideoParameters {
|
|||||||
);
|
);
|
||||||
|
|
||||||
static final List<VideoParameters> presets169 = [
|
static final List<VideoParameters> presets169 = [
|
||||||
presetQVGA169,
|
presetH90_169,
|
||||||
presetVGA169,
|
presetH180_169,
|
||||||
presetQHD169,
|
presetH216_169,
|
||||||
presetHD169,
|
presetH360_169,
|
||||||
presetFHD169,
|
presetH540_169,
|
||||||
|
presetH720_169,
|
||||||
|
presetH1080_169,
|
||||||
|
presetH1440_169,
|
||||||
|
presetH2160_169,
|
||||||
];
|
];
|
||||||
|
|
||||||
static final List<VideoParameters> presets43 = [
|
static final List<VideoParameters> presets43 = [
|
||||||
presetQVGA43,
|
presetH120_43,
|
||||||
presetVGA43,
|
presetH180_43,
|
||||||
presetQHD43,
|
presetH240_43,
|
||||||
presetHD43,
|
presetH360_43,
|
||||||
presetFHD43,
|
presetH480_43,
|
||||||
|
presetH540_43,
|
||||||
|
presetH720_43,
|
||||||
|
presetH1080_43,
|
||||||
|
presetH1440_43,
|
||||||
];
|
];
|
||||||
|
|
||||||
static final List<VideoParameters> presetsScreenShare = [
|
static final List<VideoParameters> presetsScreenShare = [
|
||||||
presetScreenShareVGA,
|
presetScreenShareH360FPS3,
|
||||||
presetScreenShareHD5,
|
presetScreenShareH720FPS5,
|
||||||
presetScreenShareHD15,
|
presetScreenShareH720FPS15,
|
||||||
presetScreenShareFHD15,
|
presetScreenShareH1080FPS15,
|
||||||
presetScreenShareFHD30,
|
presetScreenShareH1080FPS30,
|
||||||
];
|
];
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -145,6 +145,28 @@ class RTCIceServer {
|
|||||||
/// A simple class that represents dimensions of video.
|
/// A simple class that represents dimensions of video.
|
||||||
@immutable
|
@immutable
|
||||||
class VideoDimensions {
|
class VideoDimensions {
|
||||||
|
// 16:9 aspect ratio presets
|
||||||
|
static const h90_169 = VideoDimensions(160, 90);
|
||||||
|
static const h180_169 = VideoDimensions(320, 180);
|
||||||
|
static const h216_169 = VideoDimensions(384, 216);
|
||||||
|
static const h360_169 = VideoDimensions(640, 360);
|
||||||
|
static const h540_169 = VideoDimensions(960, 540);
|
||||||
|
static const h720_169 = VideoDimensions(1280, 720);
|
||||||
|
static const h1080_169 = VideoDimensions(1920, 1080);
|
||||||
|
static const h1440_169 = VideoDimensions(2560, 1440);
|
||||||
|
static const h2160_169 = VideoDimensions(3840, 2160);
|
||||||
|
|
||||||
|
// 4:3 aspect ratio presets
|
||||||
|
static const h120_43 = VideoDimensions(160, 120);
|
||||||
|
static const h180_43 = VideoDimensions(240, 180);
|
||||||
|
static const h240_43 = VideoDimensions(320, 240);
|
||||||
|
static const h360_43 = VideoDimensions(480, 360);
|
||||||
|
static const h480_43 = VideoDimensions(640, 480);
|
||||||
|
static const h540_43 = VideoDimensions(720, 540);
|
||||||
|
static const h720_43 = VideoDimensions(960, 720);
|
||||||
|
static const h1080_43 = VideoDimensions(1440, 1080);
|
||||||
|
static const h1440_43 = VideoDimensions(1920, 1440);
|
||||||
|
|
||||||
final int width;
|
final int width;
|
||||||
final int height;
|
final int height;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user