diff --git a/common/src/ffmpeg-hardware-acceleration.ts b/common/src/ffmpeg-hardware-acceleration.ts index b3699d5c8..7501ce608 100644 --- a/common/src/ffmpeg-hardware-acceleration.ts +++ b/common/src/ffmpeg-hardware-acceleration.ts @@ -65,7 +65,7 @@ export function getH264DecoderArgs(): CodecArgs { 'Nvidia CUDA': [ '-vsync', '0', '–hwaccel', 'cuda', '-hwaccel_output_format', 'cuda', ], - 'Nvidia CUVID:': [ + 'Nvidia CUVID': [ '-vsync', '0', '–hwaccel', 'cuvid', '-c:v', 'h264_cuvid', ], }; diff --git a/plugins/webrtc-sink/src/main.ts b/plugins/webrtc-sink/src/main.ts index 781ee53d0..19f3452d5 100644 --- a/plugins/webrtc-sink/src/main.ts +++ b/plugins/webrtc-sink/src/main.ts @@ -1,5 +1,5 @@ import { MediaStreamTrack, RTCIceCandidate, RTCPeerConnection, RTCRtpCodecParameters } from "@koush/werift"; -import { Settings, RTCSignalingChannel, ScryptedDeviceType, ScryptedInterface, VideoCamera, Setting, SettingValue, RTCSessionControl, RTCSignalingClientOptions, RTCSignalingSession, FFMpegInput, ScryptedMimeTypes, RTCAVSignalingSetup, Intercom, RTCSignalingSendIceCandidate, MediaObject } from '@scrypted/sdk'; +import { Settings, RTCSignalingChannel, ScryptedDeviceType, ScryptedInterface, VideoCamera, Setting, SettingValue, RTCSessionControl, RTCSignalingClientOptions, RTCSignalingSession, FFMpegInput, ScryptedMimeTypes, RTCAVSignalingSetup, Intercom, RTCSignalingSendIceCandidate } from '@scrypted/sdk'; import sdk from '@scrypted/sdk'; import { AutoenableMixinProvider } from '@scrypted/common/src/autoenable-mixin-provider'; import { ffmpegLogInitialOutput, safeKillFFmpeg, safePrintFFmpegArguments } from '@scrypted/common/src/media-helpers'; @@ -9,7 +9,7 @@ import { connectRTCSignalingClients } from '@scrypted/common/src/rtc-signaling'; import { closeQuiet, createBindZero, listenZeroSingleClient } from '@scrypted/common/src/listen-cluster'; import { getH264DecoderArgs, getH264EncoderArgs } from '@scrypted/common/src/ffmpeg-hardware-acceleration'; import { RtspServer } from '@scrypted/common/src/rtsp-server'; -import { addTrackControls, createSdpInput } from '@scrypted/common/src/sdp-utils'; +import { createSdpInput } from '@scrypted/common/src/sdp-utils'; import child_process, { ChildProcess } from 'child_process'; const { mediaManager, systemManager } = sdk; @@ -277,8 +277,8 @@ class WebRTCMixin extends SettingsMixinDeviceBase codec.sdpFmtpLine.includes('profile-level-id=64')) const videoArgs: string[] = []; - - if (!sessionSupportsH264High || mediaStreamOptions?.video?.codec !== 'h264' || this.storageSettings.values.transcode === 'Enabled') { + const transcode = !sessionSupportsH264High || mediaStreamOptions?.video?.codec !== 'h264' || this.storageSettings.values.transcode === 'Enabled'; + if (transcode) { const encoderArguments: string = this.storageSettings.values.encoderArguments; if (!encoderArguments) { videoArgs.push( @@ -292,6 +292,7 @@ class WebRTCMixin extends SettingsMixinDeviceBase