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
相关推荐
Cherry的跨界思维3 分钟前
【AI测试全栈:质量】40、数据平权之路:Python+Java+Vue全栈实战偏见检测与公平性测试
java·人工智能·python·机器学习·ai测试·ai全栈·ai测试全栈
wheelmouse77885 分钟前
Python 装饰器函数(decoratots) 学习笔记
笔记·python·学习
老歌老听老掉牙6 分钟前
差分进化算法深度解码:Scipy高效全局优化实战秘籍
python·算法·scipy
工程师老罗6 分钟前
Pycharm下新建一个conda环境后,如何在该环境下安装包?
人工智能·python
dazzle8 分钟前
Python数据结构(四):栈详解
开发语言·数据结构·python
5Gcamera10 分钟前
user manual of vehicle mount mDVR BMD9740 BMD9540
5g·音视频·智能安全帽·执法记录仪·smarteye
小北方城市网20 分钟前
Spring Boot 接口开发实战:RESTful 规范、参数校验与全局异常处理
java·jvm·数据库·spring boot·后端·python·mysql
sweetone22 分钟前
车行键车机(车载音响)DVD读碟故障小修
经验分享·音视频
一路向阳~负责的男人26 分钟前
PyTorch / CUDA 是什么?它们的关系?
人工智能·pytorch·python
aloha_78932 分钟前
乐信面试准备
java·spring boot·python·面试·职场和发展·maven