# encoding: utf-8 # 视频截图的python文件 import os import re import subprocess as sp import sys p1 = '[\u4e00-\u9fa5_a-zA-Z0-9]*.mp4' p2 = '([\u4e00-\u9fa5_a-zA-Z0-9]*.)*((mp4)|(MP4)|(mov)|(MOV)|(m4v)|(M4V)|(mpg)|(MPG))' pattern1 = re.compile(p1) pattern2 = re.compile(p2) runpath = os.path.dirname(os.path.realpath(__file__)) #sys.path[0] def runCommend(commend): f = os.popen(commend) for i in f.readlines(): pass # print(i) print('run complite') def get_image_from_video(file_path, file_name): print('into \" get_image_from_video \" function') print(file_name, file_path) video_path = file_path + '/' video_name = file_name image_path = file_path + '/' image_name = file_name[:-4] + '.jpg' comm = 'ffmpeg -i ' + video_path + video_name + ' -ss 1 -f image2 ' + image_path + image_name runCommend(comm) def conver_video(file_path, file_name): input_path = file_path + '/' input_name = file_name output_path = file_path + '/' output_name = "" sp_input_name = file_name.split('.') ext_pos = len(sp_input_name) - 1 print('---------------' + sp_input_name[ext_pos]) output_name = 'z_' + file_name[:-4] + '.mp4' # if sp_input_name[ext_pos] == 'mp4': # output_name = file_name[:-4] + '_z.mp4' # else: # output_name = file_name[:-4] + '.mp4' comm = 'ffmpeg -i \'' + input_path + input_name + '\' -r 60 -vcodec libx264 -tune film -b:v 6M -fs 200MB -s 1920*1080 \'' + output_path + output_name + '\'' # comm = 'ffmpeg -i \'' + input_path + input_name + '\' -vcodec libx264 \'' + output_path + output_name + '\'' runCommend(comm) if __name__ == '__main__': args = sys.argv list = os.listdir(args[1]) # 列出文件夹下所有的目录与文件 for i in range(0, len(list)): print('----------------------------') path = os.path.join(args[1], list[i]) if os.path.isfile(path): print('FileName: ' + list[i]) matcher1 = re.search(pattern2, list[i]) if matcher1 != None: # get_image_from_video(args[1], list[i]) conver_video(args[1], list[i])