Skip to content

Instantly share code, notes, and snippets.

@umutbasal
Last active January 8, 2023 22:15
Show Gist options
  • Save umutbasal/933cd767b95413f36068f0c0de1074bc to your computer and use it in GitHub Desktop.
Save umutbasal/933cd767b95413f36068f0c0de1074bc to your computer and use it in GitHub Desktop.
const axios = require('axios');
const url = "https://www.mediaserver.express/"
const rtmp = "rtmp://ingest.mediaserver.express/live/"
const player = "https://www.mediaserver.express/v/"
const hls = "https://www.mediaserver.express/live/streamId/index.m3u8"
const ffmpegTest = "ffmpeg -r 30 -f lavfi -i testsrc -vf scale=1280:960 -vcodec libx264 -profile:v baseline -pix_fmt yuv420p -f flv"
const serializeStream = (streamkey) => {
let streamId = streamkey.split("?")[0];
let rtmpFull = rtmp + streamkey;
return {
rtmp,
streamkey,
rtmpFull,
hls: hls.replace("streamId", streamId),
player: player + streamId,
ffmpegTest: `${ffmpegTest} "${rtmpFull}"`
}
}
const getStream = async (url) => {
const response = await axios.get(url);
let data = response.data;
let streamKey = data.match(/[a-zA-Z0-9]+\?pwd=[a-zA-Z0-9]+/)[0];
return serializeStream(streamKey);
}
const main = async () => {
const stream = await getStream(url);
console.log(JSON.stringify(stream));
}
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment