python 获取视频的时长

以下是几种获取视频时长的实现方法:

方法一:使用moviepy库

python 复制代码
from moviepy.editor import VideoFileClip
 
def get_video_duration(file_path):
    video = VideoFileClip(file_path)
    duration = video.duration
    video.close()
    return duration

方法二:使用cv2库

python 复制代码
import cv2
 
def get_video_duration(file_path):
    video = cv2.VideoCapture(file_path)
    frame_count = int(video.get(cv2.CAP_PROP_FRAME_COUNT))
    fps = video.get(cv2.CAP_PROP_FPS)
    duration = frame_count / fps
    video.release()
    return duration

方法三:使用ffprobe命令行工具

python 复制代码
import subprocess
 
def get_video_duration(file_path):
    result = subprocess.run(['ffprobe', '-v', 'error', '-show_entries', 'format=duration', '-of', 'default=noprint_wrappers=1:nokey=1', file_path], capture_output=True, text=True)
    duration = float(result.stdout)
    return duration
相关推荐
星空椰25 分钟前
Python 面向对象高级:继承与类定义详解
开发语言·python
凯瑟琳.奥古斯特43 分钟前
高阶子查询题目精炼
开发语言·数据库·python·职场和发展·数据库开发
风之所往_1 小时前
Python 3.4 新特性全面总结
python
太阳上的雨天2 小时前
任何格式的文件转Markdown
python·ai
yaoxin5211232 小时前
419. 现代 Java IO 最佳实践 - 写入文本文件
java·windows·python
weixin_468466852 小时前
纳米 AI 搜索新手极速上手指南
人工智能·python·深度学习·搜索引擎·ai·语言模型·自然语言处理
凯瑟琳.奥古斯特2 小时前
数据库原理选择题精选
数据库·python·职场和发展
彦为君3 小时前
JavaSE-07-异常机制
java·开发语言·后端·python·spring
适应规律3 小时前
【无标题】
人工智能·python·算法