diff --git a/src/views/Publication/Services/Bitmovin.js b/src/views/Publication/Services/DLive.js
similarity index 50%
rename from src/views/Publication/Services/Bitmovin.js
rename to src/views/Publication/Services/DLive.js
index d7f0f5e..57b5542 100644
--- a/src/views/Publication/Services/Bitmovin.js
+++ b/src/views/Publication/Services/DLive.js
@@ -2,25 +2,20 @@ import React from 'react';
import { Trans } from '@lingui/macro';
import Grid from '@mui/material/Grid';
-import Link from '@mui/material/Link';
import TextField from '@mui/material/TextField';
-import Logo from './logos/bitmovin.svg';
+import Logo from './logos/dlive.svg';
-const id = 'bitmovin';
-const name = 'Bitmovin';
+import FormInlineButton from '../../../misc/FormInlineButton';
+
+const id = 'dlive';
+const name = 'dlive';
const version = '1.0';
-const stream_key_link = '';
+const stream_key_link = 'https://dlive.tv/s/dashboard';
const description = (
-
- Transmit the main source to the Bitmovin cloud encoding service, a powerful tool for live streaming. More details about the settings can be founds{' '}
-
- here
-
- .
-
+ Live-Streaming to dlive Live RTMP Service.
);
-const image_copyright = Please contact the operator of the service and check what happens.;
+const image_copyright = '';
const author = {
creator: {
name: 'datarhei',
@@ -42,14 +37,12 @@ const requires = {
};
function ServiceIcon(props) {
- return
;
+ return
;
}
function init(settings) {
const initSettings = {
- protocol: 'srt://',
- address: '',
- port: ':2088',
+ key: '',
...settings,
};
@@ -62,7 +55,7 @@ function Service(props) {
const handleChange = (what) => (event) => {
const value = event.target.value;
- settings.settings[what] = value;
+ settings[what] = value;
const output = createOutput(settings);
@@ -70,11 +63,9 @@ function Service(props) {
};
const createOutput = (settings) => {
- const options = ['-strict', '-2', '-f', 'mpegts'];
-
const output = {
- address: settings.protocol + settings.ip + settings.port,
- options: options,
+ address: 'rtmp://stream.dlive.tv/live/' + settings.key,
+ options: ['-f', 'flv'],
};
return output;
@@ -82,14 +73,13 @@ function Service(props) {
return (
-
- Protocol} value={settings.protocol} readOnly disabled />
-
-
- IP address} value={settings.ip} onChange={handleChange('ip')} />
+
+ Stream key} value={settings.key} onChange={handleChange('key')} />
- Port} value={settings.port} readOnly disabled />
+
+ GET
+
);
diff --git a/src/views/Publication/Services/Trovo.js b/src/views/Publication/Services/Trovo.js
new file mode 100644
index 0000000..190c907
--- /dev/null
+++ b/src/views/Publication/Services/Trovo.js
@@ -0,0 +1,96 @@
+import React from 'react';
+
+import { Trans } from '@lingui/macro';
+import Grid from '@mui/material/Grid';
+import TextField from '@mui/material/TextField';
+
+import Logo from './logos/trovo.svg';
+
+import FormInlineButton from '../../../misc/FormInlineButton';
+
+const id = 'trovo';
+const name = 'Trovo';
+const version = '1.0';
+const stream_key_link = 'https://studio.trovo.live/mychannel/stream';
+const description = (
+ Live-Streaming to Trovo Live RTMP Service.
+);
+const image_copyright = '';
+const author = {
+ creator: {
+ name: 'datarhei',
+ link: 'https://github.com/datarhei',
+ },
+ maintainer: {
+ name: 'datarhei',
+ link: 'https://github.com/datarhei',
+ },
+};
+const category = 'platform';
+const requires = {
+ protocols: ['rtmp'],
+ formats: ['flv'],
+ codecs: {
+ audio: ['aac', 'mp3'],
+ video: ['h264'],
+ },
+};
+
+function ServiceIcon(props) {
+ return
;
+}
+
+function init(settings) {
+ const initSettings = {
+ key: '',
+ ...settings,
+ };
+
+ return initSettings;
+}
+
+function Service(props) {
+ const settings = init(props.settings);
+
+ const handleChange = (what) => (event) => {
+ const value = event.target.value;
+
+ settings[what] = value;
+
+ const output = createOutput(settings);
+
+ props.onChange([output], settings);
+ };
+
+ const createOutput = (settings) => {
+ const output = {
+ address: 'rtmp://livepush.trovo.live/live/' + settings.key,
+ options: ['-f', 'flv'],
+ };
+
+ return output;
+ };
+
+ return (
+
+
+ Stream key} value={settings.key} onChange={handleChange('key')} />
+
+
+
+ GET
+
+
+
+ );
+}
+
+Service.defaultProps = {
+ settings: {},
+ skills: {},
+ metadata: {},
+ streams: [],
+ onChange: function (output, settings) {},
+};
+
+export { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };
diff --git a/src/views/Publication/Services/index.js b/src/views/Publication/Services/index.js
index 5b485da..ea5b133 100644
--- a/src/views/Publication/Services/index.js
+++ b/src/views/Publication/Services/index.js
@@ -5,6 +5,7 @@ import * as CDN77 from './CDN77';
import * as Core from './Core';
import * as DaCast from './DaCast';
import * as DASH from './DASH';
+import * as DLive from './DLive';
import * as Facebook from './Facebook';
import * as Framebuffer from './Framebuffer';
import * as HLS from './HLS';
@@ -20,6 +21,7 @@ import * as Restream from './Restream';
import * as RTMP from './RTMP';
import * as RTSP from './RTSP';
import * as SRT from './SRT';
+import * as Trovo from './Trovo';
import * as Telegram from './Telegram';
import * as Twitch from './Twitch';
import * as Twitter from './Twitter';
@@ -73,6 +75,8 @@ registry.Register(Vimeo);
registry.Register(Restream);
registry.Register(Telegram);
registry.Register(Linkedin);
+registry.Register(DLive);
+registry.Register(Trovo);
registry.Register(Livespotting);
registry.Register(Azure);
registry.Register(Brightcove);
diff --git a/src/views/Publication/Services/logos/bitmovin.svg b/src/views/Publication/Services/logos/bitmovin.svg
deleted file mode 100644
index 471e33a..0000000
--- a/src/views/Publication/Services/logos/bitmovin.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/src/views/Publication/Services/logos/dlive.svg b/src/views/Publication/Services/logos/dlive.svg
new file mode 100644
index 0000000..297f2f6
--- /dev/null
+++ b/src/views/Publication/Services/logos/dlive.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/Publication/Services/logos/trovo.svg b/src/views/Publication/Services/logos/trovo.svg
new file mode 100644
index 0000000..946364c
--- /dev/null
+++ b/src/views/Publication/Services/logos/trovo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file