diff --git a/web/pages/index.tsx b/web/pages/index.tsx index 00556f946d..ab538c3b7e 100644 --- a/web/pages/index.tsx +++ b/web/pages/index.tsx @@ -69,11 +69,15 @@ export default function Home() { // map out settings const videoQualitySettings = configData?.videoSettings?.videoQualityVariants?.map((setting, index) => { - const { audioPassthrough, audioBitrate, videoBitrate, framerate } = setting; + const { audioPassthrough, videoPassthrough, audioBitrate, videoBitrate, framerate } = setting; const audioSetting = audioPassthrough || audioBitrate === 0 ? `${streamDetails.audioCodec} ${streamDetails.audioBitrate} kpbs` : `${audioBitrate} kbps`; + const videoSetting = + videoPassthrough || videoBitrate === 0 + ? `${streamDetails.videoBitrate} kbps ${streamDetails.framerate}fps ${streamDetails.width}x${streamDetails.height}` + : `${videoBitrate} kbps ${framerate}fps`; let settingTitle = 'Outbound Stream Details'; settingTitle = (videoQualitySettings?.length > 1) ? @@ -82,7 +86,7 @@ export default function Home() { +

+

+

+

); } @@ -125,9 +129,15 @@ export default function ServerConfig() { return (
+

+

+

+

+
+ Learn more about configuring Owncast <a href="https://owncast.online/docs/configuration">by visiting the documentation.</a>
); } diff --git a/web/pages/video-config.tsx b/web/pages/video-config.tsx index 6a255ff13a..4333aadd2b 100644 --- a/web/pages/video-config.tsx +++ b/web/pages/video-config.tsx @@ -12,29 +12,38 @@ function VideoVariants({ config }) { } const videoQualityColumns = [ + { + title: "#", + dataIndex: "key", + key: "key" + }, { title: "Video bitrate", dataIndex: "videoBitrate", key: "videoBitrate", render: (bitrate) => - bitrate === 0 || !bitrate ? "Passthrough" : `${bitrate} kbps`, + !bitrate ? "Same as source" : `${bitrate} kbps`, }, { title: "Framerate", dataIndex: "framerate", key: "framerate", + render: (framerate) => + !framerate ? "Same as source" : `${framerate} fps`, }, { title: "Encoder preset", dataIndex: "encoderPreset", key: "framerate", + render: (preset) => + !preset ? "n/a" : preset, }, { title: "Audio bitrate", dataIndex: "audioBitrate", key: "audioBitrate", render: (bitrate) => - bitrate === 0 || !bitrate ? "Passthrough" : `${bitrate} kbps`, + !bitrate ? "Same as source" : `${bitrate} kbps`, }, ]; @@ -55,27 +64,39 @@ function VideoVariants({ config }) { { name: "Segment length", value: config.videoSettings.segmentLengthSeconds, + key: "segmentLength" }, { name: "Number of segments", value: config.videoSettings.numberOfPlaylistItems, + key: "numberOfSegments" }, ]; + const videoQualityVariantData = config.videoSettings.videoQualityVariants.map(function(variant, index) { + return { + key: index, + ...variant + } + }); + return (
Video configuration
row.name} /> +
+ Learn more about configuring Owncast <a href="https://owncast.online/docs/configuration">by visiting the documentation.</a> ); } diff --git a/web/utils/server-status-context.tsx b/web/utils/server-status-context.tsx index a7b9427290..84ff1d3a5b 100644 --- a/web/utils/server-status-context.tsx +++ b/web/utils/server-status-context.tsx @@ -12,6 +12,7 @@ export const initialServerConfigState = { videoQualityVariants: [ { audioPassthrough: false, + videoPassthrough: false, videoBitrate: 0, audioBitrate: 0, framerate: 0,