Python 获取视频时长(附代码) | Python工具

Posted 剑客阿良_ALiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 获取视频时长(附代码) | Python工具相关的知识,希望对你有一定的参考价值。

目录

前言

环境依赖

代码

总结


前言

本文提供获取视频时长的python代码,精确到毫秒,一如既往的实用主义。

环境依赖

 ffmpeg环境安装,可以参考我的另一篇文章:windows ffmpeg安装部署_阿良的博客-CSDN博客

本文主要使用到的不是ffmpeg,而是ffprobe也在上面这篇文章中的zip包中。

代码

不废话,上代码。

#!/user/bin/env python
# coding=utf-8
"""
@project : csdn
@author  : 剑客阿良_ALiang
@file   : get_video_duration.py
@ide    : PyCharm
@time   : 2021-12-23 13:52:33
"""

import os
import subprocess


def get_video_duration(video_path: str):
    ext = os.path.splitext(video_path)[-1]
    if ext != '.mp4' and ext != '.avi' and ext != '.flv':
        raise Exception('format not support')
    ffprobe_cmd = 'ffprobe -i  -show_entries format=duration -v quiet -of csv="p=0"'
    p = subprocess.Popen(
        ffprobe_cmd.format(video_path),
        stdout=subprocess.PIPE,
        stderr=subprocess.PIPE,
        shell=True)
    out, err = p.communicate()
    print("subprocess 执行结果:out: err:".format(out, err))
    duration_info = float(str(out, 'utf-8').strip())
    return int(duration_info * 1000)


if __name__ == '__main__':
    print('视频的duration为:ms'.format(get_video_duration('D:/tmp/100.mp4')))

代码说明:

1、对视频的后缀格式做了简单的校验,如果需要调整可以自己调整一下。

2、对输出的结果做了处理,输出int类型的数据,方便使用。

验证一下

准备的视频如下:

 

 验证一下

OK没啥问题。

总结

没啥好总结的。

分享

         梦总是突然醒的,就像泡沫一般,越吹越大,最后啪地破灭,什么也没有,除了空虚。没有脚踏实地的建立起来的东西,就无法形成精神和物质上的支撑。——《时生》

如果本文对你有帮助的话,点个赞吧,谢谢!

以上是关于Python 获取视频时长(附代码) | Python工具的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 python 获取 Youtube 视频的时长?

java 代码获取视频时长

java 获取音频视频文件时长代码示例

java 获取音频视频文件时长代码示例

获取时长小于 10 秒的视频

Android 音视频深入 五 完美的录视频(附源码下载)