Menganalisis Durasi dan Mengambil Sampel Frame Video dengan Python Menggunakan OpenCV

Menganalisis Durasi dan Mengambil Sampel Frame Video dengan Python Menggunakan OpenCV


Halo, Sobat Teknisi Serba Bisa!

 

Apakah kamu pernah penasaran ingin mengetahui durasi dan gambaran cepat dari sebuah video tanpa harus menontonnya seluruhnya? Di artikel kali ini, kita akan membahas cara mudah menganalisis durasi dan mengambil sampel frame dari video menggunakan Python dan library OpenCV. Teknik ini sangat berguna jika kamu ingin mendapatkan overview dari video yang panjang atau menganalisisnya secara otomatis.


Mengapa Menggunakan OpenCV?

OpenCV adalah salah satu library paling populer untuk pemrosesan gambar dan video. Dengan kemampuannya yang canggih, kamu bisa dengan mudah membaca, memodifikasi, dan menganalisis video, termasuk mengukur durasi dan mengambil sampel frame pada interval tertentu.


Kode Python untuk Menganalisis Video

Berikut adalah kode Python sederhana yang bisa kamu gunakan untuk menganalisis video:

import cv2

# Path to the uploaded video file
video_path = '/mnt/data/2024-10-15 18-42-54.mp4'

# Open the video file
cap = cv2.VideoCapture(video_path)

# Get the total number of frames and frames per second (fps) for time calculation
total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
fps = cap.get(cv2.CAP_PROP_FPS)
duration = total_frames / fps  # Duration in seconds

# Output the duration and fps of the video
print(f"Durasi: {duration} detik, FPS: {fps}")

# Read through the video to analyze frames (initial sampling approach)
frame_count = 0
frames_sampled = []

# Sample every 300th frame (~ every 10 seconds at 30 FPS) to get an overview
sample_rate = 300

while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break
    if frame_count % sample_rate == 0:
        frames_sampled.append(frame)
    frame_count += 1

# Release the video capture object
cap.release()

# Number of frames sampled for an overview
print(f"Jumlah frame yang diambil sampelnya: {len(frames_sampled)}")


Penjelasan Kode

Kode di atas memiliki beberapa fungsi utama:

  1. Mengimpor Library OpenCV: import cv2 untuk membuka dan memanipulasi video.
  2. Membaca Video: Menggunakan cv2. VideoCapture untuk membuka file video dan mendapatkan informasi durasi serta FPS.
  3. Sampling Frame: Kode mengambil setiap 300 frame sebagai sampel (kurang lebih setiap 10 detik jika FPS video adalah 30).
  4. Menampilkan Hasil: Kode akan menampilkan durasi video serta jumlah frame yang berhasil diambil sebagai sampel.


Kapan Teknik Ini Berguna?

Teknik ini sangat bermanfaat ketika kamu ingin:

  1. Menganalisis video panjang dengan cepat.
  2. Melakukan monitoring otomatis pada video pengawasan (CCTV).
  3. Menerapkan deteksi objek pada video dengan efisiensi tinggi.


Dengan metode sampling ini, kamu bisa menghemat waktu dan mendapatkan informasi penting dari video tanpa harus menonton semuanya.


Kesimpulan

Menggunakan Python dan OpenCV, kamu dapat dengan mudah menganalisis video dan mendapatkan informasi penting dengan cepat. Semoga artikel ini bermanfaat, jangan lupa untuk membagikan ke teman-teman kamu. Terima kasih sudah membaca, dan sampai jumpa di artikel selanjutnya!

Load comments