CN108289227A - 一种实现ts流中音视频源替换的方法及装置 - Google Patents

一种实现ts流中音视频源替换的方法及装置 Download PDF

Info

Publication number
CN108289227A
CN108289227A CN201810007919.1A CN201810007919A CN108289227A CN 108289227 A CN108289227 A CN 108289227A CN 201810007919 A CN201810007919 A CN 201810007919A CN 108289227 A CN108289227 A CN 108289227A
Authority
CN
China
Prior art keywords
audio
value
video source
streams
replaced
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810007919.1A
Other languages
English (en)
Inventor
张兴宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Inspur Business System Co Ltd
Original Assignee
Shandong Inspur Business System Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Inspur Business System Co Ltd filed Critical Shandong Inspur Business System Co Ltd
Priority to CN201810007919.1A priority Critical patent/CN108289227A/zh
Publication of CN108289227A publication Critical patent/CN108289227A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2368Multiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2362Generation or processing of Service Information [SI]

Abstract

本发明提供了一种实现TS流中音视频源替换的方法及装置,该方法可以包括:读取TS流,从所述TS流中查找待替换音视频源的信息;将所述待替换音视频源的信息替换为新的音视频源的信息,并形成新的TS流;其中,所述信息,包括:节目时钟参考、音视频类型以及音视频数据的PID值;将所述新的音视频源合成到所述新的TS流中。本方案便于实现对不同类型的音视频源的调试与测试。

Description

一种实现TS流中音视频源替换的方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种实现TS流中音视频源替换的方法及装置。
背景技术
如今,做TS(Transport Stream,传输流)相关的研发测试,会时常用到对TS流内不同类型的音视频节目的调试与测试,不过通常单个TS流中不会包含各种类型的音视频节目。
目前,为能够对不同类型的音视频源的调试与测试,往往需要到广电等运营商录制多个TS流才能满足研发测试的需求。由于还需要到运营商现场录制TS流,可见,现有这种方式不便于实现对不同类型的音视频源的调试与测试。
发明内容
本发明实施例提供了一种实现TS流中音视频源替换的方法及装置,便于实现对不同类型的音视频源的调试与测试。
第一方面,本发明实施例提供了一种实现TS流中音视频源替换的方法,包括:
读取TS流,从所述TS流中查找待替换音视频源的信息;
将所述待替换音视频源的信息替换为新的音视频源的信息,并形成新的TS流;其中,所述信息,包括:节目时钟参考、音视频类型以及音视频数据的PID值;
将所述新的音视频源合成到所述新的TS流中。
优选地,
所述读取TS流,从所述TS流中查找待替换音视频源的信息,包括:
读取所述TS流;
从读取的所述TS流中查找PID为0x0000的第一TS包;
从所述第一TS包中查找第一业务标识符的值;
当查找到的所述第一业务标识符的值与预设所述待替换音视频源对应的标准业务标识符值相同时,根据所述第一业务标识符的值,从所述第一TS包中确定所述待替换音视频源对应的节目映射表的PID值;
从所述TS流中查找PID为确定的所述节目映射表的PID值的第二TS包;从所述第二TS包中确定所述待替换音视频源的信息。
优选地,
在所述读取所述TS流之后,且在所述从查找到的所述第一TS包中查找第一业务标识符之前,进一步包括:
从所述TS流中查找PID为0x0011且表标识符的值为0x42的第三TS包;
从所述第三TS包中查找第二业务标识符的值;
当查找到的所述第二业务标识符的值与所述标准业务标识符值相同时,从所述第三TS包中确定与所述第二业务标识符的值对应的传输流标识符的值;
从所述第一TS包中查找传输流标识符的值;
当从所述第一TS包中查找到的传输流标识符的值与从所述第三TS包中确定出的传输流标识符的值相同时,执行所述从查找到的所述第一TS包中查找第一业务标识符。
优选地,
所述读取TS流,从所述TS流中查找待替换音视频源的信息,包括:
每一次从所述TS流中读取预设读取量的数据;
针对每一次读取的数据,从当前读取的数据中查找所述待替换音视频源的信息,当查找到所述待替换音视频源的信息中的任意一种或多种时,执行所述将所述待替换音视频源的信息替换为新的音视频源的信息;
所述将所述待替换音视频源的信息替换为新的音视频源的信息,包括:
将从当前读取的数据中查找到的所述待替换音视频源的信息中的任意一种或多种替换为所述新的音视频源的信息中相应的任意一种或多种。
第二方面,本发明实施例提供了一种实现TS流中音视频源替换的装置,包括:
查找单元、替换单元和合成单元;
所述查找单元,用于读取TS流,从所述TS流中查找待替换音视频源的信息;
所述替换单元,用于将所述待替换音视频源的信息替换为新的音视频源的信息,并形成新的TS流;其中,所述信息,包括:节目时钟参考、音视频类型以及音视频数据的PID值;
所述合成单元,用于将所述新的音视频源合成到所述新的TS流中。
优选地,
所述查找单元,用于读取所述TS流;从读取的所述TS流中查找PID为0x0000的第一TS包;从所述第一TS包中查找第一业务标识符的值;当查找到的所述第一业务标识符的值与预设所述待替换音视频源对应的标准业务标识符值相同时,根据所述第一业务标识符的值,从所述第一TS包中确定所述待替换音视频源对应的节目映射表的PID值;从所述TS流中查找PID为确定的所述节目映射表的PID值的第二TS包;从所述第二TS包中确定所述待替换音视频源的信息。
优选地,
进一步包括:判断单元;
所述判断单元,用于所述查找单元读取所述TS流之后,且在从查找到的所述第一TS包中查找第一业务标识符之前,从所述TS流中查找PID为0x0011且表标识符的值为0x42的第三TS包;从所述第三TS包中查找第二业务标识符的值;当查找到的所述第二业务标识符的值与所述标准业务标识符值相同时,从所述第三TS包中确定与所述第二业务标识符的值对应的传输流标识符的值;从所述第一TS包中查找传输流标识符的值;当从所述第一TS包中查找到的传输流标识符的值与从所述第三TS包中确定出的传输流标识符的值相同时,执行所述从查找到的所述第一TS包中查找第一业务标识符。
优选地,
所述查找单元,用于每一次从所述TS流中读取预设读取量的数据;针对每一次读取的数据,从当前读取的数据中查找所述待替换音视频源的信息,当查找到所述待替换音视频源的信息中的任意一种或多种时,触发所述替换单元;
所述替换单元,用于将从当前读取的数据中查找到的所述待替换音视频源的信息中的任意一种或多种替换为所述新的音视频源的信息中相应的任意一种或多种。
第三方面,本发明实施例提供了一种计算机可读介质,包括计算机执行指令,当存储控制器的处理器执行所述计算机执行指令时,所述存储控制器执行上述任一实施例所述的方法。
第四方面,本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述存储控制器执行上述任一实施例所述的方法。
本发明实施例提供了一种实现TS流中音视频源替换的方法及装置,当需要调试或者测试某类型的音视频源时,可首先读取TS流,然后从中查找到待替换音视频源的信息,接下来利用某类型的音视频源(也即新的音视频源)的信息替换查找到的待替换音视频源的信息,这样先形成了替换信息后的新的TS流,然后再将新的音视频源合成到新的TS流中,可见,需要对哪一种类型的音视频源进行测试,便可将该类型的音视频源替换至TS流中,而不用在到运营商进行录制,从而本方案便于实现对不同类型的音视频源的调试与测试。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种实现TS流中音视频源替换的方法的流程图;
图2是本发明另一个实施例提供的一种实现TS流中音视频源替换的方法的流程图;
图3是本发明一个实施例提供的一种实现TS流中音视频源替换的装置的结构示意图;
图4是本发明另一个实施例提供的一种实现TS流中音视频源替换的装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种实现TS流中音视频源替换的方法,该方法可以包括以下步骤:
步骤101:读取TS流,从所述TS流中查找待替换音视频源的信息。
步骤102:将所述待替换音视频源的信息替换为新的音视频源的信息,并形成新的TS流;其中,所述信息,包括:节目时钟参考、音视频类型以及音视频数据的PID值。
步骤103:将所述新的音视频源合成到所述新的TS流中。
本发明实施例提供了一种实现TS流中音视频源替换的方法,当需要调试或者测试某类型的音视频源时,可首先读取TS流,然后从中查找到待替换音视频源的信息,接下来利用某类型的音视频源(也即新的音视频源)的信息替换查找到的待替换音视频源的信息,这样先形成了替换信息后的新的TS流,然后再将新的音视频源合成到新的TS流中,可见,需要对哪一种类型的音视频源进行测试,便可将该类型的音视频源替换至TS流中,而不用在到运营商进行录制,从而本方案便于实现对不同类型的音视频源的调试与测试。
在本发明一个实施例中,所述步骤101的具体实施方式,可以包括:
读取所述TS流;
从读取的所述TS流中查找PID为0x0000的第一TS包;
从所述第一TS包中查找第一业务标识符的值;
当查找到的所述第一业务标识符的值与预设所述待替换音视频源对应的标准业务标识符值相同时,根据所述第一业务标识符的值,从所述第一TS包中确定所述待替换音视频源对应的节目映射表的PID值;
从所述TS流中查找PID为确定的所述节目映射表的PID值的第二TS包;从所述第二TS包中确定所述待替换音视频源的信息。
具体的,对TS流中的每个TS包进行检测,以找到PID为0x0000的第一TS包(若干个),这些第一TS包内的数据为节目关联表PAT数据,其中,节目关联表PAT的结构可如下表1所示。
表1
根据表1所示的节目关联表PAT的结构,从第一TS包中查找第一业务标识符program_number的值,当找到program_number的值与待替换音视频源的标准业务标识符值相同时,则根据表1所示的节目关联表PAT的结构查找并记录program_map_PID的值,program_map_PID的值即为待替换音视频源对应的节目映射表PMT的PID值。
在记录program_map_PID的值之后,再对TS流中每个TS包进行检测,以找到PID为记录的program_map_PID的值的第二TS包(若干个),这些第二TS包内的数据为待替换音视频源对应的节目映射表PMT数据,其中,节目映射表PMT的结构可如下表2所示。
表2
替换音视频源,需要替换根据表2所示的节目映射表PMT的结构中的PCR_PID、stream_type以及elementary_PID,其中,PCR_PID是节目时钟参考,当音视频同步方式为PCR同步时,音视频的同步时钟参考值;stream_type为音视频的类型定义;elementary_PID为音视频数据的PID值。值的注意的是,elementary_PID表示的音频或视频的类型要与stream_type对应的类型相同,也即确定的待替换音视频源的信息可包括PCR_PID、音频的stream_type、音频的stream_type、视频的stream_type以及视频的elementary_PID。
在本发明一个实施例中,在所述读取所述TS流之后,且在所述从查找到的所述第一TS包中查找第一业务标识符之前,进一步包括:
从所述TS流中查找PID为0x0011且表标识符的值为0x42的第三TS包;
从所述第三TS包中查找第二业务标识符的值;
当查找到的所述第二业务标识符的值与所述标准业务标识符值相同时,从所述第三TS包中确定与所述第二业务标识符的值对应的传输流标识符的值;
从所述第一TS包中查找传输流标识符的值;
当从所述第一TS包中查找到的传输流标识符的值与从所述第三TS包中确定出的传输流标识符的值相同时,执行所述从查找到的所述第一TS包中查找第一业务标识符。
具体的,对TS流中的每个TS包进行检测,查找到PID为0x0011的TS包,然后分析这些TS包的数据,若TS包的表标识符值table_id为0x42,,则说明符合要求的第三TS包(若干个)中的数据为业务描述表SDT数据,根据有线电视TS传输流规范定义,业务描述表SDT的结构可如下表3所示。
表3
由表3所示的业务描述表SDT的结构,根据第二业务标识符service_id的结构位置,在第三TS包中找到service_id的值,这是因为目前大部分运营商节目都是以第二业务标识符service_id作为节目号,因此,可以确定待替换的音视频源,例如,需要把节目号为1的音视频源替换掉,则找到的第二业务标识符service_id的值应该是1,值得说明的是,当少数运营商以其他id作为节目号时,针对这种情况要先把节目的第二业务标识符service_id找到,比如可以通过机顶盒数据库找到其他id对应的第二业务标识符等方式,此处不再赘述。
在第三TS包中找到了service_id的值后,对比是不是待替换音视频源的service_id,也即判断查找到的service_id的值与标准业务标识符值是否相同,如果否,则继续根据表3中for循环中定义的数据位置检测下一个service_id的值,那么当查找到的service_id的值与标准业务标识符值相同时,则再根据表3所示的业务描述表SDT的结构,从第三TS包中查找到对应的传输流标识符transport_stream_id的值,并记录。
那么接下来再根据表1所示的节目关联表PAT的结构,从第一TS包中找到传输流标识符transport_stream_id的位置,然后将从第一TS包查找到transport_stream_id值与上一步记录下来的transport_stream_id的值比对,当相同时,则执行从第一TS包中查找第一业务标识符的值这一过程。
在本发明一个实施例中,所述步骤101的具体实施方式,可包括:
每一次从所述TS流中读取预设读取量的数据;
针对每一次读取的数据,从当前读取的数据中查找所述待替换音视频源的信息,当查找到所述待替换音视频源的信息中的任意一种或多种时,执行所述步骤102;
所述步骤102的具体实施方式,可包括:
将从当前读取的数据中查找到的所述待替换音视频源的信息中的任意一种或多种替换为所述新的音视频源的信息中相应的任意一种或多种。
为了避免TS流过大而造成内存不足的问题,可分段读取TS流中的数据,例如,TS流的大小为1000M,那么预设读取量可以设置为100M,这样,从TS流的第一个字节开始,首先可读取前100M的数据,假设在这100M中找到了待替换音视频源的节目时钟参考这一种信息,那么接下来可利用新的音视频源的节目时钟参考来替换这100M中的待替换音视频源的节目时钟参考,然后在替换完成后,可按顺序,读取第2个100M的数据,并按照相同的原理进行相应的替换,当对第10次读取TS流中的100M进行完相应的替换后,又将重新形成新的1000M的TS流。
另外,TS流中确认TS包时,可根据有线电视TS传输流规范,TS包的标准长度为188字节,且包头第一字节为0x47。因此,从TS流第一个字节开始,分析码流数据,当遇到0x47的数据时,便查找第N*188+1(N不小于10)的数据是否为0x47,若为0x47,则可认为找到了ts包包头,然后根据有线电视TS传输流规范TS包头的定义,找到PID所在的相应的数据位置,计算PID。
具体的,PID查找与确定时,根据有线电视TS传输流规范TS包头的定义查找,定义可如下表4所示;
表4
根据表4所示的包头的定义,表示PID的数据位置为第12-25bit。因此,将此数据位的数据读出来就是PID值。
除此之外,查找相同PID的所有TS包时,一个TS包中仅包含188字节的数据,所以TS流在传输过程中分成多个TS包传输,因此,往往一个TS包中包含的数据是不全的,188字节不足以运输一个PID的数据,而且相邻的两个TS包往往PID不相同,这就需要找到下一个运送同样PID数据的TS包,具体方法是,在上述表4所示的TS包头的结构定义中,有一个字段为continuity_counter,此字段是连续计数器,在相同PID的每个TS包中,按照此参数排序。例如,当前的TS包PID为0x0000、continuity_counter为1,那么下一个PID为0x0000的TS包可能与当前TS包隔了多个TS包,但是下一个PID为0x0000的TS包的continuity_counter必定为2。另外,continuity_counter的值增加到15时,则下一个从0开始。
下面将详细说明本发明实施例提供的一种实现TS流中音视频源替换的方法,如图2所示,该方法可以包括如下步骤:
步骤201:读取TS流。
在本发明实施例中,可利用了Java的输入流将TS流的数据读取出来。
步骤202:从读取的TS流中查找PID为0x0011且表标识符的值为0x42的第三TS包。
步骤203:从第三TS包中查找第二业务标识符的值;当查找到的第二业务标识符的值与预设待替换音视频源对应的标准业务标识符值相同时,从第三TS包中确定与第二业务标识符的值对应的传输流标识符的值。
步骤204:从TS流中查找PID为0x0000的第一TS包。
步骤205:从第一TS包中查找传输流标识符的值;当从第一TS包中查找到的传输流标识符的值与从第三TS包中确定出的传输流标识符的值相同时,执行步骤206。
步骤206:从第一TS包中查找第一业务标识符的值;当查找到的第一业务标识符的值与标准业务标识符值相同时,根据第一业务标识符的值,从第一TS包中确定待替换音视频源对应的节目映射表的PID值。
步骤207:从TS流中查找PID为确定的节目映射表的PID值的第二TS包。
步骤208:从第二TS包中确定待替换音视频源的节目时钟参考、音视频类型以及音视频数据的PID值。
步骤209:将待替换音视频源的节目时钟参考、音视频类型以及音视频数据的PID值替换为新的音视频源的节目时钟参考、音视频类型以及音视频数据的PID值,并形成新的TS流。
步骤210:将新的音视频源合成到新的TS流中。
在本发明实施例中,首先将新的音视频源转化为.ts格式的音视频,具体可使用格式工厂、VLC播放器等音视频转换工具完成转换,然后将转换后的TS流与上述步骤209形成的新的TS流合成,具体合成方法为:在linux系统中,使用tscbrmuxer命令,则可将两个码流复用合成,例如:tscbrmuxerb:100000修改后的TS.ts c:100000新音视频.ts>新TS.ts;而在windows系统下,可以使用copy/b命令,将两个流合成,例如:copy/b修改后的TS.ts+新音视频.ts新TS.ts。
如图3所示,本发明实施例提供了一种实现TS流中音视频源替换的装置,包括:查找单元301、替换单元302和合成单元303;
所述查找单元301,用于读取TS流,从所述TS流中查找待替换音视频源的信息;
所述替换单元302,用于将所述待替换音视频源的信息替换为新的音视频源的信息,并形成新的TS流;其中,所述信息,包括:节目时钟参考、音视频类型以及音视频数据的PID值;
所述合成单元303,用于将所述新的音视频源合成到所述新的TS流中。
在本发明一个实施例中,所述查找单元,用于读取所述TS流;从读取的所述TS流中查找PID为0x0000的第一TS包;从所述第一TS包中查找第一业务标识符的值;当查找到的所述第一业务标识符的值与预设所述待替换音视频源对应的标准业务标识符值相同时,根据所述第一业务标识符的值,从所述第一TS包中确定所述待替换音视频源对应的节目映射表的PID值;从所述TS流中查找PID为确定的所述节目映射表的PID值的第二TS包;从所述第二TS包中确定所述待替换音视频源的信息。
在本发明一个实施例中,如图4所示,可进一步包括:判断单元401;
所述判断单元401,用于所述查找单元读取所述TS流之后,且在从查找到的所述第一TS包中查找第一业务标识符之前,从所述TS流中查找PID为0x0011且表标识符的值为0x42的第三TS包;从所述第三TS包中查找第二业务标识符的值;当查找到的所述第二业务标识符的值与所述标准业务标识符值相同时,从所述第三TS包中确定与所述第二业务标识符的值对应的传输流标识符的值;从所述第一TS包中查找传输流标识符的值;当从所述第一TS包中查找到的传输流标识符的值与从所述第三TS包中确定出的传输流标识符的值相同时,执行所述从查找到的所述第一TS包中查找第一业务标识符。
在本发明实施例中,所述查找单元,用于每一次从所述TS流中读取预设读取量的数据;针对每一次读取的数据,从当前读取的数据中查找所述待替换音视频源的信息,当查找到所述待替换音视频源的信息中的任意一种或多种时,触发所述替换单元;
所述替换单元,用于将从当前读取的数据中查找到的所述待替换音视频源的信息中的任意一种或多种替换为所述新的音视频源的信息中相应的任意一种或多种。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供了一种计算机可读介质,包括计算机执行指令,当存储控制器的处理器执行所述计算机执行指令时,所述存储控制器执行上述任一实施例所述的实现TS流中音视频源替换的方法。
本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述存储控制器执行上述任一实施例所述的实现TS流中音视频源替换的方法。
综上,本发明各个实施例至少具有如下有益效果:
1、在本发明实施例中,当需要调试或者测试某类型的音视频源时,可首先读取TS流,然后从中查找到待替换音视频源的信息,接下来利用某类型的音视频源(也即新的音视频源)的信息替换查找到的待替换音视频源的信息,这样先形成了替换信息后的新的TS流,然后再将新的音视频源合成到新的TS流中,可见,需要对哪一种类型的音视频源进行测试,便可将该类型的音视频源替换至TS流中,而不用在到运营商进行录制,从而本方案便于实现对不同类型的音视频源的调试与测试。
2、在本发明实施例中,能够实现将PC可以播放的非加扰音视频源与TS流中指定节目的音视频源替换,那么则可以不必协调运营商操作,也不必需要多个TS流,自己需要调试测试哪类的音视频源,就将该类的音视频源替换到TS流中,也不必耗费人力、时间到运营商现场录制TS流,节省了大量时间。
3、在本发明实施例中,当TS流过大时,通过对TS流进行分段读取,分段替换,从而能够极大避免内存不足的问题。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃····〃”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种实现TS流中音视频源替换的方法,其特征在于,包括:
读取TS流,从所述TS流中查找待替换音视频源的信息;
将所述待替换音视频源的信息替换为新的音视频源的信息,并形成新的TS流;其中,所述信息,包括:节目时钟参考、音视频类型以及音视频数据的PID值;
将所述新的音视频源合成到所述新的TS流中。
2.根据权利要求1所述的方法,其特征在于,
所述读取TS流,从所述TS流中查找待替换音视频源的信息,包括:
读取所述TS流;
从读取的所述TS流中查找PID为0x0000的第一TS包;
从所述第一TS包中查找第一业务标识符的值;
当查找到的所述第一业务标识符的值与预设所述待替换音视频源对应的标准业务标识符值相同时,根据所述第一业务标识符的值,从所述第一TS包中确定所述待替换音视频源对应的节目映射表的PID值;
从所述TS流中查找PID为确定的所述节目映射表的PID值的第二TS包;从所述第二TS包中确定所述待替换音视频源的信息。
3.根据权利要求2所述的方法,其特征在于,
在所述读取所述TS流之后,且在所述从查找到的所述第一TS包中查找第一业务标识符之前,进一步包括:
从所述TS流中查找PID为0x0011且表标识符的值为0x42的第三TS包;
从所述第三TS包中查找第二业务标识符的值;
当查找到的所述第二业务标识符的值与所述标准业务标识符值相同时,从所述第三TS包中确定与所述第二业务标识符的值对应的传输流标识符的值;
从所述第一TS包中查找传输流标识符的值;
当从所述第一TS包中查找到的传输流标识符的值与从所述第三TS包中确定出的传输流标识符的值相同时,执行所述从查找到的所述第一TS包中查找第一业务标识符。
4.根据权利要求1至3任一所述的方法,其特征在于,
所述读取TS流,从所述TS流中查找待替换音视频源的信息,包括:
每一次从所述TS流中读取预设读取量的数据;
针对每一次读取的数据,从当前读取的数据中查找所述待替换音视频源的信息,当查找到所述待替换音视频源的信息中的任意一种或多种时,执行所述将所述待替换音视频源的信息替换为新的音视频源的信息;
所述将所述待替换音视频源的信息替换为新的音视频源的信息,包括:
将从当前读取的数据中查找到的所述待替换音视频源的信息中的任意一种或多种替换为所述新的音视频源的信息中相应的任意一种或多种。
5.一种实现TS流中音视频源替换的装置,其特征在于,包括:
查找单元、替换单元和合成单元;
所述查找单元,用于读取TS流,从所述TS流中查找待替换音视频源的信息;
所述替换单元,用于将所述待替换音视频源的信息替换为新的音视频源的信息,并形成新的TS流;其中,所述信息,包括:节目时钟参考、音视频类型以及音视频数据的PID值;
所述合成单元,用于将所述新的音视频源合成到所述新的TS流中。
6.根据权利要求5所述的装置,其特征在于,
所述查找单元,用于读取所述TS流;从读取的所述TS流中查找PID为0x0000的第一TS包;从所述第一TS包中查找第一业务标识符的值;当查找到的所述第一业务标识符的值与预设所述待替换音视频源对应的标准业务标识符值相同时,根据所述第一业务标识符的值,从所述第一TS包中确定所述待替换音视频源对应的节目映射表的PID值;从所述TS流中查找PID为确定的所述节目映射表的PID值的第二TS包;从所述第二TS包中确定所述待替换音视频源的信息。
7.根据权利要求6所述的装置,其特征在于,
进一步包括:判断单元;
所述判断单元,用于所述查找单元读取所述TS流之后,且在从查找到的所述第一TS包中查找第一业务标识符之前,从所述TS流中查找PID为0x0011且表标识符的值为0x42的第三TS包;从所述第三TS包中查找第二业务标识符的值;当查找到的所述第二业务标识符的值与所述标准业务标识符值相同时,从所述第三TS包中确定与所述第二业务标识符的值对应的传输流标识符的值;从所述第一TS包中查找传输流标识符的值;当从所述第一TS包中查找到的传输流标识符的值与从所述第三TS包中确定出的传输流标识符的值相同时,执行所述从查找到的所述第一TS包中查找第一业务标识符。
8.根据权利要求5至7任一所述的装置,其特征在于,
所述查找单元,用于每一次从所述TS流中读取预设读取量的数据;针对每一次读取的数据,从当前读取的数据中查找所述待替换音视频源的信息,当查找到所述待替换音视频源的信息中的任意一种或多种时,触发所述替换单元;
所述替换单元,用于将从当前读取的数据中查找到的所述待替换音视频源的信息中的任意一种或多种替换为所述新的音视频源的信息中相应的任意一种或多种。
9.一种计算机可读介质,其特征在于,包括计算机执行指令,当存储控制器的处理器执行所述计算机执行指令时,所述存储控制器执行权利要求1至4任一所述的方法。
10.一种存储控制器,其特征在于,包括:处理器、存储器和总线;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述存储控制器执行权利要求1至4任一所述的方法。
CN201810007919.1A 2018-01-04 2018-01-04 一种实现ts流中音视频源替换的方法及装置 Pending CN108289227A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810007919.1A CN108289227A (zh) 2018-01-04 2018-01-04 一种实现ts流中音视频源替换的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810007919.1A CN108289227A (zh) 2018-01-04 2018-01-04 一种实现ts流中音视频源替换的方法及装置

Publications (1)

Publication Number Publication Date
CN108289227A true CN108289227A (zh) 2018-07-17

Family

ID=62834938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810007919.1A Pending CN108289227A (zh) 2018-01-04 2018-01-04 一种实现ts流中音视频源替换的方法及装置

Country Status (1)

Country Link
CN (1) CN108289227A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111726680A (zh) * 2020-06-17 2020-09-29 伟乐视讯科技股份有限公司 一种实现eit表复用的方法及其设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101202703A (zh) * 2007-06-27 2008-06-18 深圳市同洲电子股份有限公司 一种信号流的生成方法、系统及数字接收终端
CN101710984A (zh) * 2009-12-04 2010-05-19 深圳创维数字技术股份有限公司 基于pid重构的数字电视节目处理方法
CN101977286A (zh) * 2010-11-30 2011-02-16 福州大学 数字电视节目替换装置
CN102821306A (zh) * 2012-08-31 2012-12-12 深圳国微技术有限公司 一种传输流处理方法、相关装置及系统
CN104050217A (zh) * 2013-03-15 2014-09-17 国际商业机器公司 媒体内容替换方法和系统
CN106303580A (zh) * 2015-07-08 2017-01-04 中国科学院上海高等研究院 一种ts流传输方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101202703A (zh) * 2007-06-27 2008-06-18 深圳市同洲电子股份有限公司 一种信号流的生成方法、系统及数字接收终端
CN101710984A (zh) * 2009-12-04 2010-05-19 深圳创维数字技术股份有限公司 基于pid重构的数字电视节目处理方法
CN101977286A (zh) * 2010-11-30 2011-02-16 福州大学 数字电视节目替换装置
CN102821306A (zh) * 2012-08-31 2012-12-12 深圳国微技术有限公司 一种传输流处理方法、相关装置及系统
CN104050217A (zh) * 2013-03-15 2014-09-17 国际商业机器公司 媒体内容替换方法和系统
CN106303580A (zh) * 2015-07-08 2017-01-04 中国科学院上海高等研究院 一种ts流传输方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111726680A (zh) * 2020-06-17 2020-09-29 伟乐视讯科技股份有限公司 一种实现eit表复用的方法及其设备

Similar Documents

Publication Publication Date Title
US11019320B2 (en) Storage method, playback method, storage apparatus, and playback apparatus
US20090024644A1 (en) Extended Multimedia File Structure and Multimedia File Producting Method and Multimedia File Executing Method
CN107979621A (zh) 一种视频文件的存储、定位播放方法及装置
US20080232767A1 (en) Timer-recording managing apparatus, timer-recording managing method and recorder
CN105376612A (zh) 一种视频播放方法、媒体设备、播放设备以及多媒体系统
US20090007208A1 (en) Program, data processing method, and system of same
US10529383B2 (en) Methods and systems for processing synchronous data tracks in a media editing system
KR20010021521A (ko) 디지탈데이터 송수신 시스템 및 그 방법
CN103165151B (zh) 多媒体文件播放方法和装置
JP2017531972A (ja) グラフモデリングを用いて放送システムおよびマルチメディアシステムを管理し、モニタし、制御するためのシステムおよび方法
CA2600491A1 (en) Media timeline processing infrastructure
EP3145205A1 (en) Reception device, transmission device, and data processing method
WO2016038219A1 (en) Multi-protocol control in a hybrid broadcast production environment
CN103260072A (zh) 频道节目聚合方法及系统
CN103095994A (zh) 一种应用于数字家庭的高清媒体非线性编辑方法及其装置
CN108289227A (zh) 一种实现ts流中音视频源替换的方法及装置
JP4990493B2 (ja) データストリーム内の所定位置を記憶又は再配置するための方法及び装置
US20080212670A1 (en) Information distribution apparatus, information distribution method, and information distribution program
CN106688240A (zh) 用于远程记录视频节目的方法和装置
CN109067625A (zh) 一种业务通道性能的检测方法、设备及系统
JP5044687B2 (ja) 映像処理装置及びファイル管理方法
WO2014037698A1 (en) Methods for generating file relationship data, and media file systems that generate file relationship data
CN109690674A (zh) 信息处理装置、信息处理方法和程序
KR20100138713A (ko) 패킷의 길이가 가변적인 mpeg-2 트랜스포트 패킷 생성 장치 및 방법
CN110462735A (zh) 信息处理设备、信息记录介质、信息处理方法和程序

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180717

RJ01 Rejection of invention patent application after publication