Python
OpenCV
Python3

Python 3 + OpenCV を用いて動画の長さを取得する


1. 概要

本記事は Python 3 + OpenCV を用いて動画の長さを取得するスクリプトの解説・実行結果を記述した記事である。


2. 環境情報

下記で行う作業は以下の環境下で行ったものである。


  • Antergos(Arch Linux)

  • Python Ver.3.6.4

  • OpenCV Ver.3.4.0


3. スクリプトと実行結果

以下に指定した動画の長さを計算・出力するスクリプト(VideoLen.py)と,その実行結果を示す。

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import cv2

if __name__ == '__main__':
cap = cv2.VideoCapture("sample.mp4") # 動画を読み込む
video_frame = cap.get(cv2.CAP_PROP_FRAME_COUNT) # フレーム数を取得する
video_fps = cap.get(cv2.CAP_PROP_FPS) # FPS を取得する
video_len_sec = video_frame / video_fps # 長さ(秒)を計算する
print(video_len_sec) # 長さ(秒)を出力する

図 1 VideoLen.py

$ ./VideoLen.py

749.8741249999999

図 2 VideoLen.py の実行結果


4. まとめ

CAP_PROP_LENGTH のような動画の長さを格納するプロパティが標準で用意されているものと思い込んで沼にハマりました。


参考資料