这篇文章将为大家详细讲解有关利用python怎么对视频进行压缩,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
实现一个视频压缩的功能,
性能优良压缩视频从11到61或者80米到15米
视频看起来没有太大损伤
缺点:耗时20年代(win10、CPU:英特尔i7 8 g运存)
#,视频压缩第二版 import 系统 import 操作系统 import zlib import 线程 import 平台 得到PIL import 形象 class Compress_Pic_or_Video(对象): def 才能;__init__(自我、filePath inputName outName=啊?: ,,,self.filePath =, filePath #文件地址 ,,,self.inputName =, inputName #输入的文件名字 ,,,self.outName =, outName #输出的文件名字 ,,,self.system_ =, platform.platform () .split(“产生绯闻,1)[0] ,,,if self.system_ ==,“Windows": ,,,,,self.filePath =,(时间+ self.filePath “\ \”), if self.filePath.rsplit (“\ \”, 1) [1], else self.filePath ,,,elif self.system_ ==,“Linux": ,,,,,self.filePath =,(时间+ self.filePath “/?, if self.filePath.rsplit (“/? 1) [1], else self.filePath ,,,self.fileInputPath =, self.filePath + inputName ,,,self.fileOutPath =, self.filePath + outName ,@ property def 才能is_video(自我): ,,,videoSuffixSet =, {“WMV",“ASF",“ASX",“RM",“RMVB",“MP4",“3 gp",“MOV",“M4V",“AVI",“DAT",“MKV",“FIV",“VOB"} ,,,suffix =, self.fileInputPath.rsplit(“干净,1)[1].upper () ,,,if suffix 拷贝videoSuffixSet: ,,,,,return 真实的 ,,,: ,,,,,return 错误的 def 才能SaveVideo(自我): ,,,fpsize =, os.path.getsize (self.fileInputPath),/, 1024年 ,,,if fpsize 祝辞=,150.0:,#大于150 kb的视频需要压缩 ,,,,,if self.outName: ,,,,,,,compress =,“ffmpeg 小姐,{},-r 10, -pix_fmt yuv420p -vcodec libx264 -preset veryslow 概要:v baseline -crf 23, -acodec aac - b: a 32 k -strict 5, {}“.format (self.fileInputPath self.fileOutPath) ,,,,,,,isRun =, os.system(压缩) ,,,,,其他的: ,,,,,,,compress =,“ffmpeg 小姐,{},-r 10, -pix_fmt yuv420p -vcodec libx264 -preset veryslow 概要:v baseline -crf 23, -acodec aac - b: a 32 k -strict 5, {}“.format (self.fileInputPath, self.fileInputPath) ,,,,,,,isRun =, os.system(压缩) ,,,,,if isRun !=, 0: ,,,,,,,return (isRun,“没有安装ffmpeg") ,,,,,return 真实的 ,,,: ,,,,,return 真实的 def 才能Compress_Video(自我): ,,,#,异步保存打开下面的代码,注释同步保存的代码 ,,,thr =, threading.Thread(目标=self.SaveVideo) ,,,thr.start () ,,,#下面为同步代码 ,,,#,fpsize =, os.path.getsize (self.fileInputPath),/, 1024年 ,,,#,if fpsize 祝辞=,150.0:,#,大于150 kb的视频需要压缩 号,,,,,,compress =,“ffmpeg 小姐,{},-r 10, -pix_fmt yuv420p -vcodec libx264 -preset veryslow 概要:v baseline -crf 23, -acodec aac - b: a 32 k -strict 5, {}“.format ( 号,,,,,,,,,self.fileOutPath self.fileInputPath) 号,,,,,,isRun =, os.system(压缩) 号,,,,,,if isRun !=, 0: 号,,,,,,,,return (isRun,,“没有安装ffmpeg") null null null null null null null null null