{{ $t('Panels.WebcamPanel.UnknownWebcamService') }}
@@ -94,6 +97,7 @@ import Panel from '@/components/ui/Panel.vue' import { GuiWebcamStateWebcam } from '@/store/gui/webcams/types' import { mdiMenuDown, mdiViewGrid, mdiWebcam } from '@mdi/js' import WebcamMixin from '@/components/mixins/webcam' +import JanusStreamer from '@/components/webcams/JanusStreamer.vue' @Component({ components: { @@ -105,6 +109,7 @@ import WebcamMixin from '@/components/mixins/webcam' 'webcam-uv4l-mjpeg': Uv4lMjpeg, 'webcam-jmuxer-stream': JMuxerStream, 'webcam-webrtc-camerastreamer': WebrtcCameraStreamer, + 'webcam-webrtc-janus': JanusStreamer, 'webcam-grid': WebcamGrid, }, }) diff --git a/src/components/settings/SettingsWebcamsTab.vue b/src/components/settings/SettingsWebcamsTab.vue index d836de75..8b16cad5 100644 --- a/src/components/settings/SettingsWebcamsTab.vue +++ b/src/components/settings/SettingsWebcamsTab.vue @@ -196,6 +196,9 @@
{{ $t('Panels.WebcamPanel.UnknownWebcamService') }}
@@ -236,6 +239,7 @@ import { mdiMenuDown, mdiDelete, mdiPencil, mdiWebcam } from '@mdi/js'
import WebcamMixin from '@/components/mixins/webcam'
import { FileStateFile } from '@/store/files/types'
import Hlsstreamer from '../webcams/Hlsstreamer.vue'
+import JanusStreamer from '@/components/webcams/JanusStreamer.vue'
interface webcamForm {
bool: boolean
@@ -262,6 +266,7 @@ interface webcamForm {
'webcam-webrtc-camerastreamer': WebrtcCameraStreamer,
'webcam-hlsstreamer': Hlsstreamer,
'webcam-jmuxer-stream': JMuxerStream,
+ 'webcam-webrtc-janus': JanusStreamer,
},
})
export default class SettingsWebcamsTab extends Mixins(BaseMixin, WebcamMixin) {
@@ -328,6 +333,7 @@ export default class SettingsWebcamsTab extends Mixins(BaseMixin, WebcamMixin) {
{ value: 'webrtc-camerastreamer', text: this.$t('Settings.WebcamsTab.WebrtcCameraStreamer') },
{ value: 'hlsstream', text: this.$t('Settings.WebcamsTab.Hlsstream') },
{ value: 'jmuxer-stream', text: this.$t('Settings.WebcamsTab.JMuxerStream') },
+ { value: 'webrtc-janus', text: this.$t('Settings.WebcamsTab.WebrtcJanus') },
]
}
diff --git a/src/components/webcams/JanusStreamer.vue b/src/components/webcams/JanusStreamer.vue
new file mode 100644
index 00000000..e7ac9a69
--- /dev/null
+++ b/src/components/webcams/JanusStreamer.vue
@@ -0,0 +1,152 @@
+
+ {{ $t('Panels.WebcamPanel.UnknownWebcamService') }}