Mod uses official RTMP target

This commit is contained in:
Jan Stabenow 2024-05-24 11:23:49 +02:00
parent fdfa0d8f6f
commit c128f1d3f2

View File

@ -4,28 +4,17 @@ import { faInstagram } from '@fortawesome/free-brands-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { Trans } from '@lingui/macro';
import Grid from '@mui/material/Grid';
import Link from '@mui/material/Link';
import TextField from '@mui/material/TextField';
import Checkbox from '../../../misc/Checkbox';
import FormInlineButton from '../../../misc/FormInlineButton';
const id = 'instagram';
const name = 'Instagram';
const version = '1.1';
const stream_key_link = 'https://instafeed.me/rtmp/';
const stream_key_link_yd = 'https://yellowduck.tv/';
const stream_key_link = 'https://about.instagram.com/blog/tips-and-tricks/instagram-live-producer';
const description = (
<Trans>
Live-Streaming to Instagram Live RTMP Service. The stream key requires a service such as{' '}
<Link color="secondary" target="_blank" href="https://instafeed.me/">
Instafeed.me
</Link>{' '}
or{' '}
<Link color="secondary" target="_blank" href="https://yellowduck.tv/">
Yellow Duck
</Link>
.
Live-Streaming to Instagram Live RTMP Service.
</Trans>
);
const image_copyright = '';
@ -70,11 +59,7 @@ function Service(props) {
const handleChange = (what) => (event) => {
const value = event.target.value;
if (['service_instafeed', 'service_yellowduck'].includes(what)) {
settings[what] = !settings[what];
} else {
settings[what] = value;
}
const output = createOutput(settings);
@ -83,7 +68,7 @@ function Service(props) {
const createOutput = (settings) => {
const output = {
address: 'rtmps://live-upload.instagram.com:443/rtmp/' + settings.key,
address: 'http://instagram.com:443/rtmp/' + settings.key,
options: ['-f', 'flv'],
};
@ -93,43 +78,13 @@ function Service(props) {
return (
<Grid container spacing={2}>
<Grid item xs={12} md={9}>
<TextField variant="outlined" fullWidth label={<Trans>Stream key</Trans>} value={settings.key} onChange={handleChange('key')} />
<TextField variant="outlined" fullWidth label={<Trans>Stream key</Trans>} placeholder="IG-10101942686003993-0-AbyaAF64MLbaxSBJ" value={settings.key} onChange={handleChange('key')} />
</Grid>
{!settings.service_instafeed && !settings.service_yellowduck && (
<Grid item xs={12} md={3}>
<FormInlineButton target="blank" component="a" disabled>
<Trans>GET</Trans>
</FormInlineButton>
</Grid>
)}
{settings.service_instafeed && (
<Grid item xs={12} md={3}>
<FormInlineButton target="blank" href={stream_key_link} component="a">
<Trans>GET</Trans>
</FormInlineButton>
</Grid>
)}
{settings.service_yellowduck && (
<Grid item xs={12} md={3}>
<FormInlineButton target="blank" href={stream_key_link_yd} component="a">
<Trans>GET</Trans>
</FormInlineButton>
</Grid>
)}
<Grid item xs={12}>
<Checkbox
label={<Trans>Instafeed.me</Trans>}
checked={settings.service_instafeed}
onChange={handleChange('service_instafeed')}
disabled={settings.service_yellowduck}
/>
<Checkbox
label={<Trans>Yellow Duck</Trans>}
checked={settings.service_yellowduck}
onChange={handleChange('service_yellowduck')}
disabled={settings.service_instafeed}
/>
</Grid>
</Grid>
);
}