一、前言
項目需要,通過視頻的url(在線視頻url),查出視頻的時長
本文提供獲取視頻時長的python代碼
二、環(huán)境依賴
首先安裝FFMPEG
1、安裝包
https://download.csdn.net/download/asd051377305/87126378
2、解壓
?3、將文件路徑配置到系統(tǒng)設(shè)置Path里面
控制面板 -> 點擊系統(tǒng) -> 點擊高級系統(tǒng)設(shè)置 -> 點擊環(huán)境變量
?4、cmd測試下是否成功(如果不成功,重啟下電腦試試)
輸入ffmpeg -i命令驗證一下是否部署成功
文章來源:http://www.zghlxwxcb.cn/news/detail-616785.html
?文章來源地址http://www.zghlxwxcb.cn/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 執(zhí)行結(jié)果: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')
輸出結(jié)果如下:
video time: 168s
到了這里,關(guān)于基于 FFMPEG的Python 獲取視頻時長(附代碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!