Created
August 10, 2020 01:12
-
-
Save geekgogo/c754ea57a8e5af79499009cb4ca2a81d to your computer and use it in GitHub Desktop.
获取视频的大小和时长
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding=utf-8 | |
import os | |
from moviepy.editor import VideoFileClip | |
import datetime | |
def get_filesize(filename): | |
u""" | |
获取文件大小(M: 兆) | |
""" | |
file_byte = os.path.getsize(filename) | |
return sizeConvert(file_byte) | |
def get_file_times(filename): | |
u""" | |
获取视频时长(s:秒) | |
""" | |
clip = VideoFileClip(filename) | |
file_time = timeConvert(clip.duration) | |
return file_time | |
def sizeConvert(size): # 单位换算 | |
K, M, G = 1024, 1024 ** 2, 1024 ** 3 | |
if size >= G: | |
return str(round(size / G, 2)) + 'G' | |
elif size >= M: | |
return str(round(size / M, 2)) + 'M' | |
elif size >= K: | |
return str(round(size / K, 2)) + 'K' | |
else: | |
return str(size) + 'Bytes' | |
def timeConvert(size): # 单位换算 | |
M, H = 60, 60 ** 2 | |
if size < M: | |
return str(size) + u'秒' | |
if size < H: | |
return u'%s分钟%s秒' % (int(size / M), int(size % M)) | |
else: | |
hour = int(size / H) | |
mine = int(size % H / M) | |
second = int(size % H % M) | |
tim_srt = u'%s小时%s分钟%s秒' % (hour, mine, second) | |
return tim_srt | |
path = input('请输入目录名称:') | |
belong = input('请输入类别名称:') | |
video_list = os.listdir('%s/%s' % (os.getcwd(), path)) | |
number = 1 | |
for i in video_list: | |
t = datetime.datetime.now() | |
now = datetime.datetime.strftime(t,'%y-%m-%d %H:%M:%S') | |
#belong = '__export__.apt_classify_1_1f184d34' | |
addr = 'http://101.69.228.205/ap/%s' % i | |
title = '第%d节' % number | |
#name = '%s%d' % (title.split(' ')[0],number) | |
number += 1 | |
print(i) | |
size = get_filesize('%s/%s' % (os.getcwd(),i)) | |
duration = get_file_times('%s/%s' % (os.getcwd(),i)) | |
temp = '"pass","base.user_root",%s,"base.user_root","%s","%s","%s","%s","%s"' % (now,belong,now,addr,title,duration + ' ' + size) | |
#with open('video_list.csv', 'a') as f: | |
# f.write(temp + '\n') | |
#os.system('sudo mv "%s/video/%s" /usr/share/nginx/html/apt/' % (os.getcwd(), i)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment