Mengenal FFMPEG Library Multimedia

By | September 15, 2022
604 Views

Mengenal FFMPEG Library Multimedia – FFmpeg, kependekan dari Fast-forward MPEG, adalah kerangka kerja multimedia sumber terbuka dan gratis, yang mampu mendekode, menyandikan, mentranskode, mux, demux, streaming, memfilter, dan memutar hampir semua jenis file multimedia yang telah dibuat hingga saat ini.

FFMPEG juga mendukung beberapa format lama. FMMPEG ditulis menggunakan bahasa C/C++ sehingga dapat dikompilasi dan dijalankan di berbagai sistem operasi seperti Linux, Mac OS X, Microsoft Windows, BSD, Solaris, dll.

Bila di Computer Vision yang kita kenal ada OpenCV, untuk Audio menggunakan Audacity, maka dalam urusan multimedia kita akan mengenal FFMPEG yang mempunyai fitur seperti Kompres Video, Kompres Audio, Pangkas Video, Putar Video, Pangkas Video, Menambahkan filter ke video, Membalikkan Video, Membuat video gerak cepat dan lambat, Fade in fade out, Gabung audio dan video, Membuat video dari gambar, Mengonversi video dari satu format ke format lain, Mengekstrak Gambar dari Video atau Suara dari Video, frame Gif, dan banyak lagi.

Hal menarik adari FFMPEG yaitu banyak digunakan dalam framework ratusan proyek perangkat lunak terkait media lainnya, dan sering digunakan di belakang layar. Juga, Ini adalah bagian internal dari perangkat lunak seperti pemutar media VLC, YouTube, Plex, iTunes, Pintasan, Blender, Kodi, HandBrake, menangani pemutaran video dan audio di Google Chrome, dan Firefox versi Linux.

Perpustakaan FFmpeg

FFMPEG dibangun dari beberapa library utama yaitu

  1. libavutil adalah perpustakaan utilitas untuk membantu pemrograman media serbaguna. Seperti kalkulasi matematika terdiri dari generator angka arbitrer, kapasitas aritmatika ekstra, struktur data, kriptografi, dan utilitas multimedia inti.
  2. libavcodec adalah perpustakaan yang menyediakan encoder dan decoder untuk codec video/audio, streaming subtitle, dan beberapa saluran bitstream.
  3. libavformat adalah perpustakaan yang menyediakan kerangka kerja multiplexing dan demultiplexing untuk codec video/audio, aliran subtitle
  4. libavdevice adalah perpustakaan yang berisi perangkat I/O untuk mendapatkan dari dan mengirim ke berbagai sistem pemrograman I/O multimedia, termasuk Video4Linux, ALSA, dan VfW.
  5. libavfilter menyediakan kerangka kerja pemfilteran media yang berisi beberapa filter dan sink.
  6. libswscale melakukan tugas penskalaan gambar dan transformasi format piksel yang sangat ditingkatkan.
  7. libswresample adalah pustaka yang berkinerja sangat optimal tetapi seperti mengubah bit rate, perubahan tata letak saluran, misalnya dari stereo ke mono, dan operasi konversi format sampel.

Mengenal FFMPEG Library Multimedia yang perlu kalian tahu yaitu

Remuxing

Remuxing adalah proses lossless yang digunakan untuk mengubah format wadah dari file yang diberikan (misalnya mp4 ke avi atau sebaliknya).

Transcoding

Transcoding adalah proses mengonversi file dari satu format pengkodean ke format pengkodean lainnya sehingga konten dapat dilihat pada perangkat pemutaran yang berbeda.

Transrating

Transrating adalah proses di mana file video dan file audio dikonversi ke bit rate yang dikurangi dengan tetap mempertahankan format media aslinya.

Transizing

Transsizing mengacu pada mengubah ukuran gambar video, dan berguna jika resolusi output berbeda dari resolusi media.

Tergantung pada persyaratan, seseorang dapat memilih remuxing atau transcoding.

Sebagai contoh:

Untuk mengonversi satu format ke format lain — Remuxing

Untuk memotong video atau memutar streaming langsung — Transcoding

Untuk mengurangi kecepatan bit — Transrating

Untuk mengubah resolusi — Transizing

Cara menggunakan FFMPEG

FFMPEG dibuat dalam versi console based. 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 ketikanffmpeg untuk mencoba apakah sudah dikenali oleh system?

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

Implementasi penggunaan Mengenal FFMPEG Library Multimedia bisa kalian baca Converter Youtube ke Mp3 tanpa iklan

Berikut tampilkan di Mac OS