scraper - Youtube Converter
Dalam artikel ini, kita akan membahas cara membuat converter audio dan video menggunakan Node.js dengan bantuan library axios.

Muhamad Nur Ibad
12 Januari 2025•1 menit baca

Membuat Audio dan Video Converter Menggunakan Node.js
Dalam artikel ini, kita akan membahas cara membuat converter audio dan video menggunakan Node.js dengan bantuan library axios. Converter ini memanfaatkan API dari situs cnvmp3.com untuk mengunduh video atau audio dari YouTube dalam berbagai format dan kualitas.
Fitur yang Akan Dibangun
1. Mendapatkan Informasi Video: Mengambil data seperti judul video dari URL.
2. Mengonversi Video atau Audio: Mengunduh video atau audio berdasarkan format dan kualitas yang diinginkan.
Langkah-langkah Implementasi
Berikut adalah langkah-langkah untuk membangun converter ini.
Instalasi Library
Pertama, pastikan Node.js dan npm sudah terinstal di komputer Anda. Kemudian, instal library axios dengan perintah berikut:
npm install axios
Implementasi Kode
Berikut adalah kode lengkap untuk converter:
const axios = require('axios');
// Format dan kualitas yang tersedia
const formats = { audio: 1, video: 0 };
const audioQuality = { '320kbps': 0, '256kbps': 1, '128kbps': 4, '96kbps': 5 };
const videoQuality = { '144p': 144, '360p': 360, '480p': 480, '720p': 720, '1080p': 1080 };
const cnv = {
// Fungsi untuk mendapatkan informasi video
getData: async (url) => {
const data = JSON.stringify({ url });
const config = {
method: 'POST',
url: 'https://cnvmp3.com/get_video_data.php',
headers: {
'User-Agent': 'Mozilla/5.0 (Android 10; Mobile; rv:131.0) Gecko/131.0 Firefox/131.0',
'Content-Type': 'application/json',
'accept-language': 'id-ID',
'referer': 'https://cnvmp3.com/',
'origin': 'https://cnvmp3.com',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
'priority': 'u=4',
'te': 'trailers',
},
data: data,
};
const api = await axios.request(config);
return api.data;
},
// Fungsi untuk mengonversi video atau audio
convert: async (url, format, quality) => {
const { title } = await cnv.getData(url);
const formatValue = formats[format];
const qualityValue = format === 'audio' ? audioQuality[quality] : videoQuality[quality];
const data = JSON.stringify({
url,
quality: qualityValue,
title,
formatValue,
});
const config = {
method: 'POST',
url: 'https://cnvmp3.com/download_video.php',
headers: {
'User-Agent': 'Mozilla/5.0 (Android 10; Mobile; rv:131.0) Gecko/131.0 Firefox/131.0',
'Content-Type': 'application/json',
'accept-language': 'id-ID',
'referer': 'https://cnvmp3.com/',
'origin': 'https://cnvmp3.com',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
'priority': 'u=4',
'te': 'trailers',
},
data: data,
};
const api = await axios.request(config);
return api.data;
},
};
// Contoh penggunaan
cnv
.convert('https://youtube.com/watch?v=zawDTvoXT8k', 'audio', '128kbps')
.then((data) => console.log(data))
.catch((error) => console.error(error));
Penjelasan Kode
a. Format dan Kualitas
Kode mendukung dua format utama:
Audio: Dengan kualitas seperti 320kbps, 256kbps, 128kbps, dan 96kbps.
Video: Dengan resolusi seperti 144p, 360p, 480p, 720p, dan 1080p.
Format dan kualitas ditentukan melalui objek formats, audioQuality, dan videoQuality.
b. Mendapatkan Informasi Video
Fungsi getData digunakan untuk mengambil informasi dasar dari video, seperti judulnya. Fungsi ini mengirim permintaan POST ke API get_video_data.php.
c. Mengonversi Video atau Audio
Fungsi convert mengirim permintaan POST ke API download_video.php dengan parameter seperti URL, format, dan kualitas yang dipilih.
Contoh Penggunaan
Untuk mengonversi video ke audio dengan kualitas 128kbps, gunakan kode berikut:
cnv.convert('https://youtube.com/watch?v=zawDTvoXT8k', 'audio', '128kbps')
.then(data => console.log(data))
.catch(error => console.error(error));
Hasilnya akan berupa tautan unduhan untuk file yang diinginkan.
Kesimpulan
Dengan kode di atas, Anda dapat dengan mudah membuat aplikasi sederhana untuk mengonversi video ke audio atau mengunduh video dari YouTube. Anda juga dapat memodifikasi kode untuk menambahkan fitur lain, seperti menyimpan file hasil konversi langsung ke komputer Anda.
Semoga artikel ini membantu Anda memahami dasar-dasar pembuatan audio dan video converter menggunakan Node.js!
Author: Shannz