javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > TS提取所有指定扩展名的文件

TS如何从目录中提取所有指定扩展名的文件

作者:光影星宸

.ts是一种高清视频封装格式文件,全称为MPEG2-TS,TS表示TransportStream,这篇文章主要介绍了TS如何从目录中提取所有指定扩展名的文件,需要的朋友可以参考下

“.ts”是一种高清视频封装格式文件,全称为MPEG2-TS,TS表示TransportStream;MPEG2-TS格式的特点就是从视频流的任一片段开始都是可以独立解码的。ts格式数据面向的传输介质是地面和卫星等可靠性较低的传输介质,主要用于数字电视广播系统。

.ts是什么文件

ts是日本高清摄像机拍摄下进行的封装格式,全称为MPEG2-TS。ts即"Transport Stream"的缩写。MPEG2-TS格式的特点就是从视频流的任一片段开始都是可以独立解码的。

MPEG2-TS 传输流(MPEG-2 Transport Stream;又称MPEG-TS、MTS、TS)是一种传输和存储包含视频、音频与通信协议各种数据的标准格式,用于数字电视广播系统,如DVB、ATSC、ISDB、IPTV等等。

MPEG2-TS定义于MPEG-2第一部分:系统(即ISO/IEC标准13818-1或ITU-TRec. H.222.0)。

MPEG2-TS面向的传输介质是地面和卫星等可靠性较低的传输介质,这一点与面向较可靠介质如DVD等的MPEG PS不同。

TS如何从目录中提取所有指定扩展名的文件

import path from 'path'
import fs from 'fs'
/**
 * 从指定目录中提取指定后缀名的所有文件
 * @param srcPath string 要提取文件的目录路径,相对或绝对路径都可
 * @param destPath string 提取后的文件存放的目录路径,相对或绝对路径都可
 * @param exts string[] 要提取的文件扩展名数组,每个扩展名需以点开头
 */
function extractAllFiles(srcPath: string, destPath: string, exts: string[]) {
  // 如果源目录不存在,直接结束程序
  if (!fs.existsSync(srcPath)) {
    return console.log(`源目录不存在,请核对修改!`)
  }
  // 如果存放目录不存在,则创建
  !fs.existsSync(destPath) && fs.mkdirSync(destPath)
  // 获取src和dest的绝对路径
  const realSrc = fs.realpathSync(srcPath)
  const realDest = fs.realpathSync(destPath)
  // 遍历src,判断文件类型
  fs.readdirSync(realSrc).forEach(filename => {
    // 拼接文件的绝对路径
    const realFile = path.resolve(realSrc, filename)
    // 如果是目录,递归提取
    if (fs.statSync(realFile).isDirectory()) {
      extractAllFiles(realFile, realDest, exts)
    } else {
      // 如果是文件,则判断其扩展名是否在给定的扩展名数组中,在则将该文件复制到dest中
      if (exts.includes(path.extname(filename))) {
        fs.copyFileSync(realFile, path.resolve(realDest, filename))
      }
    }
  })
}

到此这篇关于TS如何从目录中提取所有指定扩展名的文件的文章就介绍到这了,更多相关TS提取所有指定扩展名的文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文