随着设备性能提高,视频文件越来越大了。
服务器在对外提供视频服务时,需要承担越来越大的存储负担。
一般提供1080P的AVC编码视频已满足多数观看需求。(1小时视频大约1.3G)
此文要解决的就是关于已有大量高清视频(1小时超过6G)进行统计筛查。

通过python脚本统计指定目录(及其子目录)下视频文件的 大小、时长、压缩率(笔者先简单用大小除以时长),输出至excel。
如此便可将压缩率较低的文件划分出来,导出处理。以减少磁盘存储负担。

源码详见
https://github.com/chenfengyan/Video-infos-batching/blob/master/batching_video_infos.py

另外,笔者使用过程中遇到UnicodeDecodeError: 'utf-8'错误
(
File "D:\PycharmProjects\OpenCV_Tensor_Env\lib\site-packages\moviepy\video\io\ffmpeg_reader.py", line 262, in ffmpeg_parse_infos
infos = proc.stderr.read().decode('utf8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe8 in position 1919: invalid continuation byte
)
infos是一个输出流,要用utf-8解码转换时出错了。
解决办法
修改 ffmpeg_reader.py 262行,一般用Pycharm可以直接点击错误提示链接到相应文件。
修改成.decode('utf8','ignore')即可

有疑问欢迎留言