Python實(shí)現(xiàn)批量下載ts文件并合并為mp4
(一)ts文件下載
網(wǎng)頁文件下載其實(shí)都可以通過requests.get
以文件流的形式獲取,并以字節(jié)的形式寫入本地文件即可。
代碼如下:
import os import requests def download(url, filenames, dirname): session = requests.Session() for filename in filenames: print(u"downloading: %s" % filename) r = session.get(url + filename, stream=True).iter_content(chunk_size=1024 * 1024) filepath = os.path.join(dirname, filename) print(u"saving: %s" % filename) with open(filepath, 'wb') as f: for chunk in r: chunk and f.write(chunk) print(u"finished: %s" % filename)
我發(fā)現(xiàn)在保存這一步會(huì)存在性能卡點(diǎn)(打印saving之后等了很久都沒有生成文件),暫時(shí)沒有想到很好的優(yōu)化方法,不過下載這一步其實(shí)可以借用迅雷來批量處理,步驟如下:
1.點(diǎn)擊新建。
2.切換為批量任務(wù),這樣就可以使用通配符去批量下載文件了。
(二)ts文件合并為mp4
這個(gè)需要借助ffmpeg工具去實(shí)現(xiàn)。Windows平臺(tái)可以直接到官網(wǎng)下載壓縮包,解壓之后把bin目錄加入到環(huán)境變量中即可。
最后使用ffmpeg合并ts文件的代碼如下:
import os def merge(filenames, dirname, video='video.mp4'): # 先用一個(gè)文件保存所有的文件路徑(格式:file '***.ts') path = os.path.join(dirname, 'path.txt') with open(path, 'w+') as f: for filename in filenames: f.write("file '%s'\n" % os.path.join(filename)) os.chdir(dirname) os.system('ffmpeg -f concat -safe 0 -y -i %s -c copy -strict -2 %s' % (path, os.path.join(dirname, video)))
到此這篇關(guān)于Python實(shí)現(xiàn)批量下載ts文件并合并為mp4的文章就介紹到這了,更多相關(guān)Python下載ts文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用tensorflow根據(jù)輸入更改tensor shape
這篇文章主要介紹了使用tensorflow根據(jù)輸入更改tensor shape,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06python按鍵按住不放持續(xù)響應(yīng)的實(shí)例代碼
今天小編就為大家分享一篇python按鍵按住不放持續(xù)響應(yīng)的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07Python math庫 ln(x)運(yùn)算的實(shí)現(xiàn)及原理
這篇文章主要介紹了Python math庫 ln(x)運(yùn)算的實(shí)現(xiàn)及原理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python利用pywin32實(shí)現(xiàn)自動(dòng)操作電腦
在windows系統(tǒng)上,重復(fù)性的操作可以用Python腳本來完成,其中常用的模塊是win32gui、win32con、win32api,要使用這三個(gè)模塊需要先安裝pywin32。本文就為大家介紹了如何利用這些模塊實(shí)現(xiàn)自動(dòng)操作電腦,感興趣的可以了解一下2022-11-11使用Python的開發(fā)框架Brownie部署以太坊智能合約
在本文中,我們將使用Python部署智能合約。這篇文章可能是您走向智能合約和區(qū)塊鏈開發(fā)的橋梁!2021-05-05利用Python提取圖片經(jīng)緯度并鎖定拍照地點(diǎn)
每張照片的屬性中都會(huì)有一個(gè)經(jīng)緯度信息,本文將利用Python實(shí)現(xiàn)提取圖片的經(jīng)緯度,并鎖定拍照的低點(diǎn),感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試2022-02-02