Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Video Clipper Portable

Video Clipper Portable adalah aplikasi desktop Windows modern untuk mengambil metadata video dari link, mengunduh video secara lokal, memotong bagian yang dipilih, lalu menyimpan hasil clip ke folder output menggunakan FFmpeg.

Semua proses berjalan di komputer pengguna. Tidak ada server, hosting, atau database online.

Fitur

  • UI dark mode modern dengan CustomTkinter.
  • Fetch metadata video memakai yt-dlp.
  • Preview thumbnail dan informasi video.
  • Download video hanya setelah tombol Download & Clip Video ditekan.
  • Clip single atau split setiap 15, 30, 60, 90 detik, serta custom duration.
  • Aspect ratio Original, 9:16, 16:9, 1:1, 4:5.
  • Resize mode Center Crop, Blur Background, dan Black Bars.
  • Quality Original, 480p, 720p, 1080p, Best Quality.
  • Encoding FFmpeg dengan AAC audio.
  • Deteksi GPU Nvidia untuk h264_nvenc, fallback ke libx264.
  • Progress download dan processing.
  • Batch queue dengan status per video dan retry untuk item gagal.
  • Preset YouTube Shorts, Instagram Reels/Feed, TikTok, dan YouTube Landscape.
  • Preview lokal 15 detik sebelum ekspor penuh.
  • Download dan burn-in subtitle sumber berdasarkan kode bahasa.
  • Styling subtitle: font, ukuran, warna teks, outline, background transparan, dan posisi atas/tengah/bawah.
  • Color picker, preview swatch, preset subtitle, dan input subtitle eksternal .srt, .vtt, atau .ass.
  • Watermark teks atau gambar dengan pilihan posisi.
  • Crop focus kiri, tengah, atau kanan untuk menjaga subjek tetap terlihat.
  • Pembatalan download/encoding dan penghentian batch secara aman.
  • Pemeriksaan versi terbaru melalui GitHub Releases.
  • History lokal di history/history.json.
  • Settings lokal di config.json.
  • Logging rotasi di logs/app.log.
  • Siap build OneDir portable dengan PyInstaller.

Struktur

VideoClipperPortable/
  app.py
  requirements.txt
  README.md
  LICENSE
  config.json
  build.bat
  assets/
    icons/
    images/
  bin/
    ffmpeg.exe
    ffprobe.exe
  core/
  ui/
  styles/
  history/
  logs/
  temp/
  output/

Instalasi

Gunakan Python 3.11 atau lebih baru.

cd VideoClipperPortable
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt

Jika terminal yang dipakai adalah Git Bash, aktifkan virtual environment dengan:

source .venv/Scripts/activate

FFmpeg dan FFprobe

Download FFmpeg untuk Windows dari salah satu link berikut:

Pilih paket release full atau release essentials, lalu ekstrak file ZIP. Di dalam folder hasil ekstrak, buka folder bin. File ffmpeg.exe dan ffprobe.exe ada di folder tersebut.

Letakkan binary berikut di folder bin:

bin/ffmpeg.exe
bin/ffprobe.exe

Jika file tidak ada di bin, aplikasi akan mencoba mencari ffmpeg dan ffprobe dari PATH Windows.

Untuk mengganti lokasi binary, buka halaman Settings, ubah FFmpeg Path dan FFprobe Path, lalu klik Save Settings.

Cara Menjalankan

python app.py

Workflow:

  1. Paste link video.
  2. Klik Get Video Info.
  3. Atur Start Time dan End Time dengan format HH:MM:SS.
  4. Pilih preset platform atau atur clip mode, aspect ratio, resize mode, dan quality.
  5. Opsional: aktifkan subtitle, isi watermark, dan buat preview 15 detik.
  6. Pilih output folder.
  7. Klik Download & Clip Video.

Untuk video vertikal dengan mode Center Crop, gunakan Crop Focus agar area kiri, tengah, atau kanan video menjadi bagian yang dipertahankan.

Klik Cancel Current Process untuk menghentikan download atau encoding aktif. Pada batch, item aktif dikembalikan ke status menunggu dan item berikutnya tidak akan dimulai.

Batch Processing

Setelah metadata video tampil dan pengaturan clip selesai, klik Add Current Video. Ulangi proses Get Video Info untuk URL berikutnya dan tambahkan ke antrean. Klik Process Queue untuk memproses semua item secara berurutan. Item gagal dapat dijalankan ulang dengan menekan Process Queue kembali.

Subtitle dan Watermark

  • Aktifkan Burn subtitle, pilih Source Video, lalu isi kode bahasa seperti en atau id. Subtitle manual atau otomatis yang tersedia di sumber akan diunduh dan ditempel ke hasil video.
  • Untuk file lokal, ubah Subtitle source ke External File, lalu pilih file .srt, .vtt, atau .ass. Tombol browse otomatis mengaktifkan subtitle dan memilih sumber eksternal.
  • Pilih font Windows, ukuran 8-200, dan posisi subtitle. Warna teks, outline, serta background menggunakan format hex #RRGGBB. Background opacity menerima nilai 0-100; nilai 0 menonaktifkan kotak background.
  • Gunakan tombol Pick untuk memilih warna dan melihat swatch langsung. Preset bawaan meliputi Classic White, Yellow Bold, Reels Pop, dan Boxed. Perubahan manual otomatis mengubah preset menjadi Custom.
  • Klik Create 15s Preview untuk memeriksa style sebelum ekspor penuh.
  • Isi Watermark text untuk menambahkan teks.
  • Pilih Watermark image untuk logo PNG/JPG/WebP.
  • Tentukan posisi watermark melalui pilihan Top Left, Top Right, Bottom Left, Bottom Right, atau Center.

Update Aplikasi

Versi aplikasi saat ini adalah 0.2.0. Pemeriksaan manual tersedia di halaman Settings. Opsi Auto Check Update akan memeriksa GitHub Releases saat aplikasi dibuka. Update checker hanya membuka halaman rilis setelah pengguna menyetujuinya; aplikasi tidak mengganti executable secara otomatis.

Build EXE Portable

Pastikan dependency terpasang, lalu jalankan:

build.bat

Jika menjalankan dari Git Bash:

cmd.exe /c build.bat

Hasil build:

dist/VideoClipperPortable/VideoClipperPortable.exe

Mode build adalah OneDir portable. Jalankan aplikasi dari folder dist/VideoClipperPortable, bukan dari folder build/VideoClipperPortable. Folder build hanya folder kerja internal PyInstaller dan file .exe di dalamnya tidak untuk dipakai langsung.

Untuk membagikan aplikasi, kirim satu folder penuh:

dist/VideoClipperPortable

Jangan kirim VideoClipperPortable.exe sendirian, karena runtime Python dan file pendukung berada di folder _internal. Folder assets, bin, history, logs, output, temp, dan config.json ikut disertakan. Folder dist/VideoClipperPortable dapat dipindahkan ke flashdisk.

Troubleshooting

FFmpeg or FFprobe was not found

Letakkan ffmpeg.exe dan ffprobe.exe di folder bin, atau set path absolut di halaman Settings.

Video is private / unavailable / age restricted

Video tersebut tidak dapat diakses publik oleh yt-dlp. Gunakan link lain atau konfigurasi yt-dlp lanjutan jika diperlukan pada versi berikutnya.

Network error

Periksa koneksi internet. Metadata dan download membutuhkan koneksi ke sumber video.

Output folder is not writable

Pilih folder output lain, pastikan storage tidak penuh, dan pastikan aplikasi punya izin tulis.

Build failed

Pastikan PyInstaller terpasang lewat pip install -r requirements.txt. Jalankan build dari folder project.

Failed to load Python DLL ... python312.dll

Pastikan yang dijalankan adalah dist/VideoClipperPortable/VideoClipperPortable.exe. Jangan menjalankan file .exe dari folder build/VideoClipperPortable.

FAQ

Apakah aplikasi membutuhkan server?

Tidak. Semua berjalan lokal.

Apakah aplikasi memakai database?

Tidak. History dan settings memakai file JSON lokal.

Apakah bisa dipindahkan ke flashdisk?

Bisa. Gunakan hasil OneDir di dist/VideoClipperPortable.

Apakah bisa menambahkan Auto Subtitle, Auto Highlight AI, Scene Detection, dan Batch Processing?

Bisa. Struktur core dan ui dibuat modular agar fitur berikutnya dapat ditambahkan tanpa mengubah seluruh aplikasi.

Lisensi

MIT License. Lihat LICENSE.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages