使用python對(duì)視頻文件分辨率進(jìn)行分組的實(shí)例代碼
在平時(shí)的工作中,我們的目錄有很多的視頻文件,如果你沒(méi)有一個(gè)好的視頻分類習(xí)慣,在找視頻素材的時(shí)候會(huì)很費(fèi)時(shí),通過(guò)對(duì)視頻的分辨路進(jìn)行分類可以在需要的時(shí)候快速找到你想要的視頻分辨率。當(dāng)然人工去分類是一種比較費(fèi)時(shí)費(fèi)力的工作,通過(guò)軟件也好,程序也罷都是為了可以提高我們的工作效率。
代碼分享
import os
import subprocess
import json
import shutil
import datetime
def get_files(file_dir):
for root, dirs, files in os.walk(file_dir):
if len(files) > 0:
# 獲取圖片路徑
for f in files:
if f.endswith(".mp4"):
p = os.path.join(root, f)
h, w, t = get_video_info(p)
new_dir = os.path.realpath(
"{}\{}x{}".format(file_dir, h, w))
if not os.path.exists(new_dir):
os.makedirs(new_dir)
shutil.move(p, os.path.join(new_dir, "{}.mp4".format(t)))
def get_video_info(file_path):
cmd = "ffprobe -v quiet -print_format json -show_streams -i {}".format(
file_path)
with open('output.json', 'w') as f:
subprocess.call(cmd, stdout=f)
with open('output.json', 'r') as f:
streams = json.load(f)
for i in streams["streams"]:
if i['codec_type'] == "video":
print(file_path)
t2 = ""
try:
t1 = datetime.datetime.strptime(
i['tags']['creation_time'], "%Y-%m-%dT%H:%M:%S.%f%z")
t2 = datetime.datetime.strftime(t1, '%Y%m%d%H%M%S')
except KeyError:
t2 = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
return i['height'], i['width'], t2
else:
continue
if __name__ == "__main__":
file_dir = input("dir:")
get_files(file_dir)
代碼使用了ffprobe獲取視頻信息
原文:http://www.rencaixiu.cn/archives/811/
到此這篇關(guān)于使用python對(duì)視頻文件分辨率進(jìn)行分組的文章就介紹到這了,更多相關(guān)python視頻文件分辨率分組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)從尾到頭打印單鏈表操作示例
這篇文章主要介紹了python實(shí)現(xiàn)從尾到頭打印單鏈表操作,結(jié)合實(shí)例形式分析了Python單鏈表的定義、判斷、添加、打印等相關(guān)操作技巧,需要的朋友可以參考下2020-02-02
python3對(duì)接mysql數(shù)據(jù)庫(kù)實(shí)例詳解
這篇文章主要介紹了python3對(duì)接mysql數(shù)據(jù)庫(kù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
python定時(shí)采集攝像頭圖像上傳ftp服務(wù)器功能實(shí)現(xiàn)
本文程序?qū)崿F(xiàn)python定時(shí)采集攝像頭圖像上傳ftp服務(wù)器功能,大家參考使用吧2013-12-12
給Python IDLE加上自動(dòng)補(bǔ)全和歷史功能
這篇文章主要介紹了給Python IDLE加上自動(dòng)補(bǔ)全和歷史功能,需要的朋友可以參考下2014-11-11
詳解Python如何利用pymysql封裝項(xiàng)目通用的連接和查詢
一個(gè)項(xiàng)目通常都需要有數(shù)據(jù)庫(kù),本文就來(lái)為大家詳細(xì)講講Python如何利用pymysql簡(jiǎn)單分裝一個(gè)通用的連接,關(guān)閉和查詢,需要的可以參考一下2022-07-07
python進(jìn)行數(shù)據(jù)合并concat/merge
這篇文章主要介紹了python進(jìn)行數(shù)據(jù)合并concat/merge,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-09-09
Django windows使用Apache實(shí)現(xiàn)部署流程解析
這篇文章主要介紹了Django windows使用Apache實(shí)現(xiàn)部署流程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10

