TS如何從目錄中提取所有指定擴(kuò)展名的文件
目錄
- TS如何從目錄中提取所有指定擴(kuò)展名的文件
“.ts”是一種高清視頻封裝格式文件,全稱為MPEG2-TS,TS表示TransportStream;MPEG2-TS格式的特點(diǎn)就是從視頻流的任一片段開始都是可以獨(dú)立解碼的。ts格式數(shù)據(jù)面向的傳輸介質(zhì)是地面和衛(wèi)星等可靠性較低的傳輸介質(zhì),主要用于數(shù)字電視廣播系統(tǒng)。
.ts是什么文件
ts是日本高清攝像機(jī)拍攝下進(jìn)行的封裝格式,全稱為MPEG2-TS。ts即"Transport Stream"的縮寫。MPEG2-TS格式的特點(diǎn)就是從視頻流的任一片段開始都是可以獨(dú)立解碼的。
MPEG2-TS 傳輸流(MPEG-2 Transport Stream;又稱MPEG-TS、MTS、TS)是一種傳輸和存儲(chǔ)包含視頻、音頻與通信協(xié)議各種數(shù)據(jù)的標(biāo)準(zhǔn)格式,用于數(shù)字電視廣播系統(tǒng),如DVB、ATSC、ISDB、IPTV等等。
MPEG2-TS定義于MPEG-2第一部分:系統(tǒng)(即ISO/IEC標(biāo)準(zhǔn)13818-1或ITU-TRec. H.222.0)。
MPEG2-TS面向的傳輸介質(zhì)是地面和衛(wèi)星等可靠性較低的傳輸介質(zhì),這一點(diǎn)與面向較可靠介質(zhì)如DVD等的MPEG PS不同。
TS如何從目錄中提取所有指定擴(kuò)展名的文件
import path from "path"
import fs from "fs"
/**
* 從指定目錄中提取指定后綴名的所有文件
* @param srcPath string 要提取文件的目錄路徑,相對(duì)或絕對(duì)路徑都可
* @param destPath string 提取后的文件存放的目錄路徑,相對(duì)或絕對(duì)路徑都可
* @param exts string[] 要提取的文件擴(kuò)展名數(shù)組,每個(gè)擴(kuò)展名需以點(diǎn)開頭
*/
function extractAllFiles(srcPath: string, destPath: string, exts: string[]) {
// 如果源目錄不存在,直接結(jié)束程序
if (!fs.existsSync(srcPath)) {
return console.log(`源目錄不存在,請(qǐng)核對(duì)修改!`)
}
// 如果存放目錄不存在,則創(chuàng)建
!fs.existsSync(destPath) && fs.mkdirSync(destPath)
// 獲取src和dest的絕對(duì)路徑
const realSrc = fs.realpathSync(srcPath)
const realDest = fs.realpathSync(destPath)
// 遍歷src,判斷文件類型
fs.readdirSync(realSrc).forEach(filename => {
// 拼接文件的絕對(duì)路徑
const realFile = path.resolve(realSrc, filename)
// 如果是目錄,遞歸提取
if (fs.statSync(realFile).isDirectory()) {
extractAllFiles(realFile, realDest, exts)
} else {
// 如果是文件,則判斷其擴(kuò)展名是否在給定的擴(kuò)展名數(shù)組中,在則將該文件復(fù)制到dest中
if (exts.includes(path.extname(filename))) {
fs.copyFileSync(realFile, path.resolve(realDest, filename))
}
}
})
}
到此這篇關(guān)于TS如何從目錄中提取所有指定擴(kuò)展名的文件的文章就介紹到這了,更多相關(guān)TS提取所有指定擴(kuò)展名的文件內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

網(wǎng)公網(wǎng)安備