Converter Youtube ke Mp3 tanpa iklan

By | September 15, 2022
Print Friendly, PDF & Email
933 Views

Paling suka diakhir pekan dengerin music slowrock sambil mikir-mikir ide yang akan ditulis. Koleksi music sekarang sudah sangat gampang karena ada Youtube dan paket data yang murah. Nah siapa yang disini suka koleksi mp3 dari Youtube? hemm…. pasti suka menggunakan converter berbasis online dan yang menyebalkan sekali banyak iklan sana-sini tanpa kita klik pun iklan muncul di tab yang baru.

Sebenarnya sih itu nggak masalah sih, karena juga namanya orang lagi cari makan. Tapi kalau tab browser sampai ada 3 kali muncul iklan sudah sangat mengganggu. Yo wes terpaksa kita coding saja yaitu kita buat aplikasi berbasis terminal/console saja yuk! Hanya dengan copy pastekan alamat URL dan otomatis terdownload youtube ke mp3 tanpa iklan!

Ada 2 topik yang akan kita bahas yaitu library FFMPEG dan library Downloader nya. Library FFMPEG banyak digunakan oleh developer untuk melakukan convert file media ke beberapa format sedangkan library downloader nya untuk melakukan download file youtube dengan format .webm yang kemudian kita convert ke mp3 tentu menggunakan Library FFMPEG.

Aplikasi yang nanti kita buat sudah saya coba gunakan sampai sekarang untuk urusan download file Mp3 di Youtube tentu tanpa iklan!

Library FFMPEG

Converter Youtube ke Mp3 tanpa iklan butuh library pihak ketiga dan tentunya free dan open source. Library FFMPEG merupakan tools utama untuk melakukan banyak konversi file media dari video ataupun audio. Beberapa format audio seperti Mp3 secara default itu bukan opensource sehingga di beberapa OS linux kita harus install sendiri library pemutar file Mp3.

See also  Menjadikan Python lebih cepat

Youtube menggunakan format audio seperti *.webm yang merupakan format khusus file media yang dikembangkan untuk internet sehingga memudahkan peramban seperti chrome, firefox, edge. Webm bersifat open source ini dikembangkan oleh Google berdasarkan Matroska dan disandikan oleh VP8 dan Vorbis (diperbarui ke VP9 dan Opus sejak 2013).

library FFMPEG tersedia di banyak OS karena sifatnya yang opensource, kalian bisa download di https://www.ffmpeg.org/download.html#build-windows atau langsung saja bagi pengguna windows 64 bit https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n4.4-latest-win64-gpl-4.4.zip

Setelah kalian download maka lakukan saja extract ke C:\ffmpeg-n4.4-latest-win64-gpl-4.4\bin dan lakukan setting path Set Path di Windows . Buka command prompt dan ketikan ffmpeg untuk mencoba apakah sudah dikenali oleh system? ketikan ffmpeg

ffmpeg version n4.4.2-3-gd4b7b3c03e-20220907 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 12.1.0 (crosstool-NG 1.25.0.55_3defb7b)
  configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --disable-frei0r --enable-libgme --enable-libkvazaar --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --disable-vaapi --enable-libvidstab --disable-vulkan --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20220907
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

Convert *.webm ke *.mp3

Misalkan saja, kita punya file *.webm yang akan di konversi ke *.mp3, maka perintah yang digunakan untuk convert yaitu

ffmpeg -i file.webm file.mp3

outputnya yaitu

Input #0, matroska,webm, from 'file.webm':
  Metadata:
    encoder         : google/video-file
  Duration: 00:08:56.14, start: -0.007000, bitrate: 136 kb/s
  Stream #0:0(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
File 'file.mp3' already exists. Overwrite? [y/N] y
Stream mapping:
  Stream #0:0 -> #0:0 (opus (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
Output #0, mp3, to 'file.mp3':
  Metadata:
    TSSE            : Lavf58.76.100
  Stream #0:0(eng): Audio: mp3, 48000 Hz, stereo, fltp (default)
    Metadata:
      encoder         : Lavc58.134.100 libmp3lame
size=    3840kB time=00:04:06.96 bitrate= 127.4kbits/s speed=41.1x

Untuk memastikan convert nya berhasil atau tidak, play saja file tersebut pakai VLC atau media player yang lainnya. Bila ingin overwrite file yang sudah ada, ketikan saja -y

ffmpeg -y -i file.webm file.mp3

Library Downloader Youtube

Selanjutnya kita butuh library untuk downloader file media youtube yaitu pytube, untuk install cukup menggunakan perintah pip yaitu

pip install pytube==12.1.0

karena ada bugs, kita update fix bugsnya menggunakan perintah

python -m pip install git+https://github.com/Zeecka/pytube@fix_1060

berdasarkan link https://stackoverflow.com/questions/68680322/pytube-urllib-error-httperror-http-error-410-gone

See also  return all column in groupby in pandas?

PyTube

Kita akan mencoba Converter Youtube ke Mp3 tanpa iklan menggunakan PyTube

from pytube import YouTube as YT
link = "https://www.youtube.com/watch?v=3ABXCFzvq3I"
yt = YT(link)

Bila kalian ingin tahu detail video nya

print("Judul: ",yt.title)
print("Jumlah penonton: ",yt.views)
print("Panjang Video: ",yt.length)
print("Rating Video: ",yt.rating)

atau Langsung saja kita ambil audionya saja

#ambil yang paling akhir karena yang tertinggi
ys = yt.streams.filter(only_audio=True)[-1]
ys.download(filename=yt.title+".webm") #artinnya current location

langkah selanjutnya yaitu memanggil FFMPEG menggunakan subprocess

PyTube hanya bisa download file berformat *.webm di youtube, oleh sebab itu kita modifikasi dengan menambahkan FFMPEG

import subprocess
print(subprocess.run('ffmpeg -y -i "'+ yt.title+'.webm" "' + yt.title+'.mp3"',shell=True,capture_output=True))

perintah -y diatas agar overwrite dengan file yang ada.

Membuat aplikasi terminal

Tentu menggunakan cara diatas kurang praktis, kita buat saja versi aplikasi terminalnya. Kita berikan saja nama file nya youtube.py . Kita perbaiki saja agar remove file *.webm serta menghilangkan illegal character

from pytube import YouTube as YT
import subprocess
from pytube.cli import on_progress
import os
import re

def run():
    link = input("masukan donk alamat URL Video youtube:")
    yt = YT(link, on_progress_callback=on_progress)
    print("Judul: ",yt.title)
    print("Jumlah views: ",yt.views)   
    
    #ambil yang paling akhir karena yang tertinggi
    ys = yt.streams.filter(only_audio=True)[-1]
    
    filename = yt.title
    filename = re.sub('[^A-Za-z0-9]+', ' ', filename)
    
    ys.download(filename=filename+".webm") #artinnya current location

    subprocess.run('ffmpeg -y -i "'+ filename+'.webm" "' + filename+'.mp3"',shell=True,capture_output=True)
    #hapus file *.webm nya
    os.remove(filename+".webm")
    print("Download selesai... {}".format(link))

if __name__=='__main__':
    run()

 

Yuk kita coba, buka terminal ketikan

python youtube.py

hasilnya

masukan donk alamat URL Video youtube:https://www.youtube.com/watch?v=o0y6LVeHKlo
Judul:  Laptop Paling Worth it di Kelasnya, Udah sih Beli aja | Realme Book Review
Jumlah views:  114608
Download selesai... https://www.youtube.com/watch?v=o0y6LVeHKlo██████| 100.0%

Agar lebih mudah kalian menggunakan youtube.py, maka copy saja file tersebut di C:/ dan pastikan kalian dari awal sudah set path nya ya! sehingga tidak perlu set path lagi. Sekarang kalian bisa panggil youtube.py di command prompt dan masukan URL nya dan nikmati musik slow rock nya

See also  Hilangkan Duplikasi Foto

Gimana menurut kalian? Converter Youtube ke Mp3 tanpa iklan. Bila ada yang ingin download video di youtbe bisa kok, nanti kita edit lagi kode diatas atau ingin tahu lebih lanjut bisa pelajari https://towardsdatascience.com/build-a-youtube-downloader-with-python-8ef2e6915d97