ilhamdev commited on
Commit
0f4da65
·
verified ·
1 Parent(s): 41816e7

Update index.js

Browse files
Files changed (1) hide show
  1. index.js +2 -25
index.js CHANGED
@@ -2,12 +2,11 @@ const yts = require('yt-search');
2
  const morgan = require('morgan');
3
  const express = require('express');
4
  const ytdl = require('ytdl-core');
5
- const { Writable, pipeline, PassThrough } = require('stream');
6
  const util = require('util');
7
  const FormData = require('form-data');
8
  const axios = require('axios');
9
  const FileType = require('file-type');
10
- const ffmpeg = require('fluent-ffmpeg');
11
 
12
  // Regex untuk mengidentifikasi URL YouTube dan Mega
13
  const ytIdRegex = /(?:http(?:s|):\/\/|)(?:(?:www\.|)?youtube(?:\-nocookie|)\.com\/(?:shorts\/)?(?:watch\?.*(?:|\&)v=|embed\/|v\/)?|youtu\.be\/)([-_0-9A-Za-z]{11})/;
@@ -23,27 +22,6 @@ const post = async (url, form, headers = {}) => {
23
  };
24
 
25
  //YTDL-CORE
26
- function webmToMp3(inputBuffer) {
27
- return new Promise((resolve, reject) => {
28
- // Membuat stream dari buffer
29
- const inputStream = new PassThrough();
30
- inputStream.end(inputBuffer);
31
-
32
- // Membuat buffer output
33
- let outputBuffer = Buffer.alloc(0);
34
-
35
- ffmpeg(inputStream)
36
- .inputFormat('webm')
37
- .outputFormat('mp3')
38
- .on('error', reject)
39
- .on('data', (chunk) => {
40
- outputBuffer = Buffer.concat([outputBuffer, chunk]);
41
- })
42
- .on('end', () => resolve(outputBuffer))
43
- .output(PassThrough()) // Menambahkan output stream
44
- .run();
45
- });
46
- }
47
  async function uploadBuffer(buffer) {
48
  //file: (binary)
49
  //expirationTime: 1
@@ -160,8 +138,7 @@ async function ytmp3(url, bitrate = 'lowestaudio') {
160
  data = await ytdl.getInfo('https://www.youtube.com/watch?v=' + ID)
161
  let audioStream = await ytdl(ID, { filter: 'audioonly', quality: 'lowestaudio', });
162
  let buffer = await streamToBuffer(audioStream)
163
- let bufferMP3 = await webmToMp3(buffer)
164
- let upload = await uploadBuffer(bufferMP3)
165
  let format = ytdl.chooseFormat(data.formats, { filter: 'audioonly', quality: bitrate });
166
 
167
  if (format) {
 
2
  const morgan = require('morgan');
3
  const express = require('express');
4
  const ytdl = require('ytdl-core');
5
+ const { Writable, pipeline } = require('stream');
6
  const util = require('util');
7
  const FormData = require('form-data');
8
  const axios = require('axios');
9
  const FileType = require('file-type');
 
10
 
11
  // Regex untuk mengidentifikasi URL YouTube dan Mega
12
  const ytIdRegex = /(?:http(?:s|):\/\/|)(?:(?:www\.|)?youtube(?:\-nocookie|)\.com\/(?:shorts\/)?(?:watch\?.*(?:|\&)v=|embed\/|v\/)?|youtu\.be\/)([-_0-9A-Za-z]{11})/;
 
22
  };
23
 
24
  //YTDL-CORE
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  async function uploadBuffer(buffer) {
26
  //file: (binary)
27
  //expirationTime: 1
 
138
  data = await ytdl.getInfo('https://www.youtube.com/watch?v=' + ID)
139
  let audioStream = await ytdl(ID, { filter: 'audioonly', quality: 'lowestaudio', });
140
  let buffer = await streamToBuffer(audioStream)
141
+ let upload = await uploadBuffer(buffer)
 
142
  let format = ytdl.chooseFormat(data.formats, { filter: 'audioonly', quality: bitrate });
143
 
144
  if (format) {