草庐IT

基于JavaCV的封装转换异常(TS转FLV)

TS尝试想利用JavaCV实现h264编码的TS视频流进行flv封装转换(不转码),但是失败了,源视频信息:Warning:[mpegts@00000199a03ac980]Packetcorrupt(stream=0,dts=165600)Warning:.Info:Input#0,mpegts,from'java.io.BufferedInputStream@25900bca':Info:Duration:Info:N/AInfo:,start:Info:1.480000Info:,bitrate:Info:N/AInfo:Info:Program1Info:Metadata:Info:s

基于JavaCV的封装转换异常(TS转FLV)

TS尝试想利用JavaCV实现h264编码的TS视频流进行flv封装转换(不转码),但是失败了,源视频信息:Warning:[mpegts@00000199a03ac980]Packetcorrupt(stream=0,dts=165600)Warning:.Info:Input#0,mpegts,from'java.io.BufferedInputStream@25900bca':Info:Duration:Info:N/AInfo:,start:Info:1.480000Info:,bitrate:Info:N/AInfo:Info:Program1Info:Metadata:Info:s

vue3.0+TS使用

ts+ref//定义简单数据类型//需要注意,指定了一个泛型参数但没有给出初始值,那么最后得到的就将是一个包含undefined的联合类型://推导得到的类型:Refconstshow=ref(false);或者constshow:Ref=ref(false);//简单数据类型赋值consthandleShow=():void=>{show.value=true}//---------------------------------------------------------------------------------------//定义复杂数据类型interfaceArrListTy

vue3.0+TS使用

ts+ref//定义简单数据类型//需要注意,指定了一个泛型参数但没有给出初始值,那么最后得到的就将是一个包含undefined的联合类型://推导得到的类型:Refconstshow=ref(false);或者constshow:Ref=ref(false);//简单数据类型赋值consthandleShow=():void=>{show.value=true}//---------------------------------------------------------------------------------------//定义复杂数据类型interfaceArrListTy

【过滤器设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介过滤器模式(FilterPattern)或标准模式(CriteriaPattern),是一种结构型模式。这种模式允许使用不同的标准条件来过滤一组对象,并通过逻辑运算的方式把各条件连接起来,它结合多个标准来获得单一标准。例子将创建一个Person对象、Criteria接口和实现了该接口的实体类,来过滤Person对象的列表。Test类使用Criteria对象,基于各种标准和它们的结合来过滤Person对象的列表。 作用可以通过层层筛选,过滤出自己想要的结果。面向接口编程,将对象过滤,接口不依赖对象;对象无入侵,每次只需要增加规则就行了,不用修改过滤对象类。 实现步骤创建Criteria基础接

【过滤器设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介过滤器模式(FilterPattern)或标准模式(CriteriaPattern),是一种结构型模式。这种模式允许使用不同的标准条件来过滤一组对象,并通过逻辑运算的方式把各条件连接起来,它结合多个标准来获得单一标准。例子将创建一个Person对象、Criteria接口和实现了该接口的实体类,来过滤Person对象的列表。Test类使用Criteria对象,基于各种标准和它们的结合来过滤Person对象的列表。 作用可以通过层层筛选,过滤出自己想要的结果。面向接口编程,将对象过滤,接口不依赖对象;对象无入侵,每次只需要增加规则就行了,不用修改过滤对象类。 实现步骤创建Criteria基础接

TS的类型转换

TS的类型转换元组类型转联合类型元组类型转联合类型2联合类型转交叉类型将这个方法拆成两部分来看:(Uextendsany?(k:U)=>void:never)是第一部分extends(k:inferI)=>void?I:never是第二部分先看第一部分,TS中如果泛型后跟extends且这个泛型在实际传值是联合类型,则会遍历这个联合类型,取出联合类型中的每个具体类型做实际操作,最后返回每个类型的结果的联合类型用U=string|number举例,第一部分实际上做的的操作是(stringextendsany?(k:string)=>void:never)|(numberextendsany?(k

TS的类型转换

TS的类型转换元组类型转联合类型元组类型转联合类型2联合类型转交叉类型将这个方法拆成两部分来看:(Uextendsany?(k:U)=>void:never)是第一部分extends(k:inferI)=>void?I:never是第二部分先看第一部分,TS中如果泛型后跟extends且这个泛型在实际传值是联合类型,则会遍历这个联合类型,取出联合类型中的每个具体类型做实际操作,最后返回每个类型的结果的联合类型用U=string|number举例,第一部分实际上做的的操作是(stringextendsany?(k:string)=>void:never)|(numberextendsany?(k

【TS】TypeScript声明文件(.d.ts)的使用

前言当我们在TS文件中需要引入外部库时,编译时是无法判断传入参数的类型的,所以我们需要在引入前加入一个声明文件来帮助ts判断类型。当然现在大部分库都自带有自己的声明文件,一般在@types目录下。使用场景在ts文件中对引用的外部库做类型判断;制作npm包时,书写自己的声明文件,需要在package.json的typing/types字段注册声明文件的路径;不使用ts时,也可以添加声明文件与(自己的)的模块存放在同一目录下,简单做一下数据结构体,对IDE参数声明也有用哦。引用声明文件的几种方法与调用的ts文件放在同一目录下;在声明文件tsconfig.json的include/files字段下添

【TS】TypeScript声明文件(.d.ts)的使用

前言当我们在TS文件中需要引入外部库时,编译时是无法判断传入参数的类型的,所以我们需要在引入前加入一个声明文件来帮助ts判断类型。当然现在大部分库都自带有自己的声明文件,一般在@types目录下。使用场景在ts文件中对引用的外部库做类型判断;制作npm包时,书写自己的声明文件,需要在package.json的typing/types字段注册声明文件的路径;不使用ts时,也可以添加声明文件与(自己的)的模块存放在同一目录下,简单做一下数据结构体,对IDE参数声明也有用哦。引用声明文件的几种方法与调用的ts文件放在同一目录下;在声明文件tsconfig.json的include/files字段下添