現在視頻網站很多,我們看的視頻也越來越多了。有時候看到某些視頻的片段非常的不錯,想要剪切下來的衝動的次數也越來越多。一個視頻剪切倒還好,但是多個視頻的情況下,就比較麻煩了。
所以本人用python寫了個腳本,只需要以下兩個步驟就可以按你所需要的下載並剪切視頻:(需自己安裝python3.6,ffmpeg,you-get,youtube-dl)
一:新建個url.txt文件
二:python代碼如下:
附上源碼:
import youtube_dl
import os
import sys
import you_get
class GetItem(object):
#使用you-get下載
def download_you_get(self,url,key,s_time,e_time):
output = str(key)+"_jq.mp4"
res = os.system("you-get -o ./download/ -O "+key+" "+url)
#使用ffmpeg剪切視頻
os.system("ffmpeg -i ./download/"+key+".mp4 -ss "+s_time+" -t "+e_time +" " + "D:\\rjaz\\python3\\app\\視頻高清\\download\\"+output)
os.system("del .\\download\\"+ key+".mp4")
os.system("del .\download\*.xml")
#使用youtube-dl下載
def download_youtube_dl(self,url,key,s_time,e_time):
output = str(key)+"_jq.mp4"
os.system("youtube-dl -o ./download_dl/"+key+".mp4 "+url)
#使用ffmpeg剪切視頻
os.system("ffmpeg -i ./download_dl/"+key+".mp4 -ss "+s_time+" -t "+e_time +" " + "D:\\rjaz\\python3\\app\\視頻高清\\download_dl\\"+output)
os.system("del .\\download_dl\\"+ key+".mp4")
if __name__ == '__main__':
getItem = GetItem()
file=open('url.txt','r')
line = file.readlines()
i=0
for res in line:
s_time = str(res.split(',')[1])
e_time = str(res.split(',')[2].replace('\n', ''))
type = int(res.split(',')[3].replace('\n', ''))
if type==1:
getItem.download_youtube_dl(res.split(',')[0],str(i),s_time,e_time)
else:
getItem.download_you_get(res.split(',')[0],str(i),s_time,e_time)
i+=1