diff --git a/content/blog/ffmpeg-command-snippets/feature-ffmpeg.png b/content/blog/ffmpeg-command-snippets/feature-ffmpeg.png new file mode 100644 index 0000000..68e7735 Binary files /dev/null and b/content/blog/ffmpeg-command-snippets/feature-ffmpeg.png differ diff --git a/content/blog/ffmpeg-command-snippets/index.md b/content/blog/ffmpeg-command-snippets/index.md new file mode 100644 index 0000000..fc88791 --- /dev/null +++ b/content/blog/ffmpeg-command-snippets/index.md @@ -0,0 +1,117 @@ +--- +title: "FFmpeg Command Snippets" +description: Dengan FFmpeg kita bisa melakukan screen recording, merubah format lagu dari satu format ke format lain, kompres / convert video dan audio, dan masih banyak lagi. +date: 2011-12-21T02:14:36+07:00 +lastmod: +draft: false +noindex: false +featured: false +pinned: false +# comments: false +series: +# - +categories: + - Snippets +tags: + - FFmpeg + - CLI +images: +# - +# menu: +# main: +# weight: 100 +# params: +# icon: +# vendor: bs +# name: book +# color: '#e24d0e' +authors: + - ditatompel +--- + +**FFmpeg** salah satu tools multimedia favorit saya. Boleh dibilang sangat lengkap dan berguna sekali. Dengan menggunakan **FFmpeg** kita bisa melakukan *screen recording*, merubah format lagu dari berbagai satu format ke format lain, meng-kompres / mengkonversi video dan audio, dan masih banyak lagi. + + + +Ceritanya saya punya Video hasil download dari **YouTube**. Taruh kata file video itu namanya `konser-a7x-live.mp4`. Saya ingin ambil audionya saja buat di dengerin lewat `mp3` player favorit saya. + +Maka command FFmpeg untuk extract audionya: +```bash +ffmpeg -i konser-a7x-live.mp4 -vn -ar 44100 -ac 2 -ab 128k -f mp3 konser-a7x-live.mp3 +``` + +* `-i` : adalah file inputnya (konser-a7x-live.mp4) +* `-vn` : untuk medisable video +* `-ar` : `44100Hz` audio *sampling rate* +* `-ac` : `2` *audio channel* (stereo) +* `-ab` : `128k` *bitrate*, Default adalah `bits/s`. Jadi klo ente hajar `-ab 128` doang tanpa embel2 "`k`" ente dapet outputnya jelek karena bitratenya `128b/s` (terlalu rendah) +* `-f` : *force* format ke `mp3` +dan yang terakhir `konser-a7x-live.mp3` adalah *output* hasil *extract* audionya. + +Kemudian saya ingin potong hasil *output* audio tadi karena intro iklan nya terlalu lama. Taruh kata **a7x** mulai nyanyi dari menit `3:20`. Saya potong audio tersebut dari menit `3:20` sampai `5 menit 23 detik` selanjutnya. + +Maka perintah **FFmpeg** untuk memotong potong `mp3` nya: +```bash +ffmpeg -ss 00:03:20 -t 00:05:23 -i konser-a7x-live.mp3 -acodec copy potongan-konser-a7x-live.mp3 +``` + +Dimana: +* `-ss` waktu *start* potongan `mp3` tersebut. (mulai dari menit `3:20`) +* `-t` Lama waktu yang kita potong dari waktu *start* yang kita ingin potong tadi. +* `-acodec` *force* audio `codec` outputnya mengunakan `copy` codec dari audio (*copy stream*) + +Sudah siap nih audionya dan saya bisa dengarkan lewat `mp3` player favorit saya. Tp saya blom puas, saya ingin *convert* `mp3` tersebut supaya bisa dipasang di website saya yang menggunakan salah satu **jQuery** plugin (kebanyakan jQuery plugin memanfaatkan format `ogg`). + +Maka command FFmpeg berikut untuk convert `mp3` ke format `ogg`: +```bash +ffmpeg -i potongan-konser-a7x-live.mp3 -acodec libvorbis potongan-konser-a7x-live.ogg +``` + +Contoh video : + +{{< youtube 2-cYLQBGZzk >}} + +Video diatas saya ambil menggunakan **FFmpeg** juga yang dimensi capture (*crop*) screen ukuran `800x600`. + +Untuk temen2 yang suka bikin dokumentasi, banyak kan yang pake software tambahan misal `recordmydesktop` dll. *FFmpeg* juga bisa melakukan *screen recording* dengan kualitas HD. command FFmpeg untuk *screen recording*: +```bash +ffmpeg -an -f x11grab -r 25 -s 1366x768 -i :0.0+0,0 -vcodec libx264 capture.mkv +``` +dimana: +* `-an` : untuk record screen tanpa audio backend (misal ALSA) +* `-s` : Ukuran layar yang ingin direkam `1366x768` +* `-r` : *Frame per second* / *FPS* +* `-i` : `:0.0+0,0` koordinat video screen. Penghitungannya dimulai dari pojok kiri atas layar. +* `-vcodec` : *force* output video `codec` nya menggunakan `libx264` + +Contoh hasil screen recording menggunakan `ffmpeg` bisa diliat waktu saya membuat dokumentasi **GIMP** di [https://www.youtube.com/watch?v=1xkLDHey84k](https://www.youtube.com/watch?v=1xkLDHey84k). + +Untuk *snippet2* lain : + +`ogg` ke `mp3` +```bash +ffmpeg -i audio.ogg -acodec libmp3lame audio.mp3 +``` + +`wav` ke `mp3` +```bash +ffmpeg -i audio.wav -acodec libmp3lame audio.mp3 +``` + +`wav` ke `aac` +```bash +ffmpeg -i audio.wav -acodec libfaac audio.aac +``` + +`wav` ke `ac3` +```bash +ffmpeg -i audio.wav -acodec ac3 audio.mp3 +``` + +Info lebih lanjut bisa diliat dari terminal +```bash +man fmpeg +# atau +ffmpeg --help +``` +Atau dari situs [http://ffmpeg.org/ffmpeg.html](http://ffmpeg.org/ffmpeg.html) (disini udah sangat lengkap dan jelas). \ No newline at end of file diff --git a/content/blog/moar-anonimity-stuff-by-anonymous/index.md b/content/blog/moar-anonimity-stuff-by-anonymous/index.md index aaf5a9c..e7e808a 100644 --- a/content/blog/moar-anonimity-stuff-by-anonymous/index.md +++ b/content/blog/moar-anonimity-stuff-by-anonymous/index.md @@ -11,9 +11,9 @@ pinned: false series: # - categories: - - Thoughts -tags: + - TIL - Privacy +tags: - Anonymous images: # - diff --git a/resources/_gen/images/blog/ffmpeg-command-snippets/feature-ffmpeg_hu7192c42681ad8830681d369627a24249_100995_0x360_resize_box_3.png b/resources/_gen/images/blog/ffmpeg-command-snippets/feature-ffmpeg_hu7192c42681ad8830681d369627a24249_100995_0x360_resize_box_3.png new file mode 100644 index 0000000..9186df2 Binary files /dev/null and b/resources/_gen/images/blog/ffmpeg-command-snippets/feature-ffmpeg_hu7192c42681ad8830681d369627a24249_100995_0x360_resize_box_3.png differ diff --git a/resources/_gen/images/blog/ffmpeg-command-snippets/feature-ffmpeg_hu7192c42681ad8830681d369627a24249_100995_0x640_resize_box_3.png b/resources/_gen/images/blog/ffmpeg-command-snippets/feature-ffmpeg_hu7192c42681ad8830681d369627a24249_100995_0x640_resize_box_3.png new file mode 100644 index 0000000..1548405 Binary files /dev/null and b/resources/_gen/images/blog/ffmpeg-command-snippets/feature-ffmpeg_hu7192c42681ad8830681d369627a24249_100995_0x640_resize_box_3.png differ diff --git a/resources/_gen/images/blog/ffmpeg-command-snippets/feature-ffmpeg_hu7192c42681ad8830681d369627a24249_100995_8a9e3f24915028058ceb512123e4fc17.webp b/resources/_gen/images/blog/ffmpeg-command-snippets/feature-ffmpeg_hu7192c42681ad8830681d369627a24249_100995_8a9e3f24915028058ceb512123e4fc17.webp new file mode 100644 index 0000000..fe6497f Binary files /dev/null and b/resources/_gen/images/blog/ffmpeg-command-snippets/feature-ffmpeg_hu7192c42681ad8830681d369627a24249_100995_8a9e3f24915028058ceb512123e4fc17.webp differ diff --git a/resources/_gen/images/blog/ffmpeg-command-snippets/feature-ffmpeg_hu7192c42681ad8830681d369627a24249_100995_d94be773ab61ec015b2ed817d981e05c.webp b/resources/_gen/images/blog/ffmpeg-command-snippets/feature-ffmpeg_hu7192c42681ad8830681d369627a24249_100995_d94be773ab61ec015b2ed817d981e05c.webp new file mode 100644 index 0000000..f9615c9 Binary files /dev/null and b/resources/_gen/images/blog/ffmpeg-command-snippets/feature-ffmpeg_hu7192c42681ad8830681d369627a24249_100995_d94be773ab61ec015b2ed817d981e05c.webp differ