Untitled

 avatar
unknown
plain_text
2 years ago
2.3 kB
7
Indexable
const ffmpeg = require('fluent-ffmpeg');
const axios = require('axios');
const fs = require('fs');
const readlineSync = require('readline-sync');

const url = readlineSync.question('[=>] Live Url : ');
const video = readlineSync.question('[=>] Video Path/Name : ');
const session_id = readlineSync.question('[=>] Session Id : ');

const stopStream = async (sessionId) => {
    const cookie = fs.readFileSync("cookie.txt", "utf8");
    let ApiLive = axios.create({
        baseURL: 'https://live.shopee.co.id/webapi/v1',
        headers: {
            'Host': 'live.shopee.co.id',
            'Cookie': cookie,
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0',
            'Accept': 'application/json, text/plain, */*',
            'Accept-Language': 'en-US,en;q=0.5',
            'Referer': 'https://live.shopee.co.id/pc/live?session=' + sessionId,
        }
    });

    await ApiLive
        .post(`/session/${sessionId}/end`)
        .then((response) => {
            console.log(response.data);
        })
        .catch((error) => {
            console.log(error.toString());
        });
}

const sendTelegram = async (message) => {
    const url = `https://api.telegram.org/bot797391255:AAFtgdu2wdLGvJ1-amXwF3yCGEdlwippH8w/sendMessage`;
    const data = {
        chat_id: 466992772,
        text: message,
        parse_mode: 'HTML',
    };

    try {
        const response = await axios.post(url, data);
        return response.data;
    } catch (error) {
        console.error('Error sending message to Telegram:', error);
    }
}

const startStream = () => {
    ffmpeg()
        .input(video)
        .inputOptions(['-stream_loop -1'])
        .videoCodec('libx264')
        .audioCodec('aac')
        .outputOptions(['-preset veryfast', '-r 30', '-b:v 4000k'])
        .withOutputFormat('flv')
        .output(url)
        .on('end', () => {
            console.log('Stream ended');
            stopStream(session_id);
            sendTelegram('Stream ended!');
        })
        .on('error', (err) => {
            console.error('Error:', err);
            setTimeout(startStream, 5000);
        })
        .on('progress', (progress) => {
            console.log('Frames: ' + progress.frames);
        })
        .run();
}

startStream();
Editor is loading...
Leave a Comment