mirror of
https://github.com/wukko/cobalt.git
synced 2024-11-05 07:49:58 +00:00
last commit was extremely unsafe
This commit is contained in:
parent
64987c6494
commit
de3b0cdfd2
2 changed files with 16 additions and 5 deletions
|
@ -2,7 +2,7 @@ import { spawn } from "child_process";
|
|||
import ffmpeg from "ffmpeg-static";
|
||||
import got from "got";
|
||||
import { ffmpegArgs, genericUserAgent } from "../config.js";
|
||||
import { metadataManager, msToTime } from "../sub/utils.js";
|
||||
import { getThreads, metadataManager, msToTime } from "../sub/utils.js";
|
||||
|
||||
export function streamDefault(streamInfo, res) {
|
||||
try {
|
||||
|
@ -35,10 +35,9 @@ export function streamLiveRender(streamInfo, res) {
|
|||
return;
|
||||
}
|
||||
let audio = got.get(streamInfo.urls[1], { isStream: true });
|
||||
|
||||
let format = streamInfo.filename.split('.')[streamInfo.filename.split('.').length - 1], args = [
|
||||
'-loglevel', '-8',
|
||||
'-threads', `${process.env.ffmpegThreads ? process.env.ffmpegThreads : '0'}`,
|
||||
'-threads', `${getThreads()}`,
|
||||
'-i', streamInfo.urls[0],
|
||||
'-i', 'pipe:3',
|
||||
'-map', '0:v',
|
||||
|
@ -96,7 +95,7 @@ export function streamAudioOnly(streamInfo, res) {
|
|||
try {
|
||||
let args = [
|
||||
'-loglevel', '-8',
|
||||
'-threads', `${process.env.ffmpegThreads ? process.env.ffmpegThreads : '0'}`,
|
||||
'-threads', `${getThreads()}`,
|
||||
'-i', streamInfo.urls
|
||||
]
|
||||
if (streamInfo.metadata) {
|
||||
|
@ -143,7 +142,7 @@ export function streamVideoOnly(streamInfo, res) {
|
|||
try {
|
||||
let format = streamInfo.filename.split('.')[streamInfo.filename.split('.').length - 1], args = [
|
||||
'-loglevel', '-8',
|
||||
'-threads', `${process.env.ffmpegThreads ? process.env.ffmpegThreads : '0'}`,
|
||||
'-threads', `${getThreads()}`,
|
||||
'-i', streamInfo.urls,
|
||||
'-c', 'copy'
|
||||
]
|
||||
|
|
|
@ -139,3 +139,15 @@ export function checkJSONPost(obj) {
|
|||
export function getIP(req) {
|
||||
return req.header('cf-connecting-ip') ? req.header('cf-connecting-ip') : req.ip;
|
||||
}
|
||||
export function getThreads() {
|
||||
try {
|
||||
if (process.env.ffmpegThreads && process.env.ffmpegThreads.length <= 3
|
||||
&& (Number(process.env.ffmpegThreads) >= 0 && Number(process.env.ffmpegThreads) <= 256)) {
|
||||
return process.env.ffmpegThreads
|
||||
} else {
|
||||
return '0'
|
||||
}
|
||||
} catch (e) {
|
||||
return '0'
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue