用的是ffmpeg 進行壓縮的,crf選擇的30,壓縮情況還比較理想的。因爲我網站代碼是Python3寫的,這個Python2寫的就只能布成進程了,發現大於設定值得就進行壓縮,應該還要加上數據庫處理來記錄處理結果的,各位加一個pymysql就好了,將處理過得視頻打上標記,避免重複出來,我最近在重寫後臺接口,沒空加上了。各位如果不是Django寫的網站也可以用啊,設置一下目錄就OK了,讓他作爲進程跑着就行。
import os
#ffmpeg -i WSWDA1768844088.mp4 -b 800k -strict -2 output.mp4
import time
while 1:
time.sleep(360)
path='/home/www-date/work/api/static/upload'
for root , dirs, files in os.walk(path):
for name in files:
if name.endswith(".mp4"):
size=os.path.getsize(os.path.join(root,name))
if size>6164480:
a=`os.system("ffmpeg -y -i {} -b 800k -crf 30 -strict -2 {}".format(os.path.join(root,name),os.path.join(root,'out.mp4')))`
if a=="0":
print "work ok for {}".format(format(os.path.join(root,name)))
os.system("mv {} {}".format(os.path.join(root,'out.mp4'),os.path.join(root,name)) )
print a
#print root,name,size