一、前言
项目需要,通过视频的url(在线视频url),查出视频的时长
本文提供获取视频时长的python代码
二、环境依赖
首先安装FFMPEG
1、安装包
https://download.csdn.net/download/asd051377305/87126378
2、解压
3、将文件路径配置到系统设置Path里面
控制面板 -> 点击系统 -> 点击高级系统设置 -> 点击环境变量
4、cmd测试下是否成功(如果不成功,重启下电脑试试)
输入ffmpeg -i命令验证一下是否部署成功
文章来源:https://www.toymoban.com/news/detail-616785.html
文章来源地址https://www.toymoban.com/news/detail-616785.html
三、python代码
#!/user/bin/env python
# coding=utf-8
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':
return
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()
# 有错误,打印错误原因,返回
if len(str(err, 'gbk')) > 0:
print("subprocess 执行结果:out:{} err:{}".format(out, str(err, 'gbk')))
return
# 视频时长为0,也返回
if len(str(out, 'gbk')) == 0:
# print("视频有问题:id:{}".format(id))
return
second = int(float(out))
print("video time: {}s".format(second))
if __name__ == '__main__':
get_video_duration('https://vd3.bdstatic.com/mda-jfcaqm720x5r55db/mda-jfcaqm720x5r55db.mp4')
输出结果如下:
video time: 168s
到了这里,关于基于 FFMPEG的Python 获取视频时长(附代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!