CN108668095A - 媒体流共享方法及装置、存储介质、终端 - Google Patents
媒体流共享方法及装置、存储介质、终端 Download PDFInfo
- Publication number
- CN108668095A CN108668095A CN201810345143.4A CN201810345143A CN108668095A CN 108668095 A CN108668095 A CN 108668095A CN 201810345143 A CN201810345143 A CN 201810345143A CN 108668095 A CN108668095 A CN 108668095A
- Authority
- CN
- China
- Prior art keywords
- media stream
- stream data
- mark
- reading
- frame
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/432—Content retrieval operation from a local storage medium, e.g. hard-disk
- H04N21/4325—Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/78—Television signal recording using magnetic recording
- H04N5/781—Television signal recording using magnetic recording on disks or drums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
Abstract
一种媒体流共享方法及装置、存储介质、终端,媒体流共享方法包括:获取多个图像传感器的标识及其拍摄得到的各帧媒体流数据;根据所述媒体流数据的类型以及图像传感器的标识计算所述媒体流数据的来源通道的标识;确定所述多个图像传感器拍摄得到的各帧媒体流数据的帧序号;至少将所述媒体流数据及其来源通道的标识、帧序号写入所述多个图像传感器共用的共享内存,以供多个读取进程进行读取。本发明技术方案可以节省网络硬盘录像机的内存空间,保证媒体流数据读取的同步性。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种媒体流共享方法及装置、存储介质、终端。
背景技术
网络硬盘录像机(Network Video Recorder,NVR)可以接收多个摄像设备传输的视频和音频等媒体流数据,并进行存储、管理。终端可以通过应用程序从网络硬盘录像机中读取数据。可以在网络硬盘录像机中为每一摄像设备分配内存。
但是,不同摄像设备所需存储的数据量不同,在网络硬盘录像机的内存中的存储量不同,导致内存空间的浪费;还会在读取媒体流数据时容易出现不同步的问题。
发明内容
本发明解决的技术问题是如何节省网络硬盘录像机的内存空间,保证媒体流数据读取的同步性。
为解决上述技术问题,本发明实施例提供一种媒体流共享方法,媒体流共享方法包括:获取多个图像传感器的标识及其拍摄得到的各帧媒体流数据;根据所述媒体流数据的类型以及图像传感器的标识计算所述媒体流数据的来源通道的标识;确定所述多个图像传感器拍摄得到的各帧媒体流数据的帧序号;至少将所述媒体流数据及其来源通道的标识、帧序号写入所述多个图像传感器共用的共享内存,以供多个读取进程进行读取。
可选的,所述确定所述多个图像传感器拍摄得到的各帧媒体流数据的帧序号之后还包括:确定所述媒体流数据的帧类型。
可选的,所述至少将所述媒体流数据及其来源通道的标识、帧序号写入所述多个图像传感器共用的共享内存包括:将所述媒体流数据及其来源通道的标识、帧序号、帧类型写入所述共享内存。
可选的,所述至少将所述媒体流数据及其来源通道的标识、帧序号写入所述多个图像传感器共用的共享内存之前还包括:利用所述媒体流数据的来源通道的标识和帧类型计算所述媒体流数据的读取掩码;将所述媒体流数据的读取掩码与各个读取进程的预设读取掩码进行比对,以得到比对结果;如果所述比对结果表示存在读取进程的预设读取掩码与所述媒体流数据的读取掩码一致,则为所述媒体流数据设置与所述读取进程相对应的可读标识。
可选的,所述媒体流共享方法还包括:如果所述读取进程处于等待状态,则向所述读取进程发送可读通知,以通知所述读取进程读取所述媒体流数据。
可选的,所述至少将所述媒体流数据及其来源通道的标识、帧序号写入共享内存之后还包括:对于可读标识为可读的读取进程,按照所述媒体流数据的帧序号读取所述媒体流数据。
可选的,所述媒体流共享方法还包括:根据读取的媒体流数据的来源通道的标识确定所述媒体流数据的类型以及拍摄所述媒体流数据的图像传感器的标识。
为解决上述技术问题,本发明实施例还公开了一种媒体流共享装置,媒体流共享装置包括:获取模块,适于获取多个图像传感器的标识及其拍摄得到的各帧媒体流数据;标识计算模块,适于根据所述媒体流数据的类型以及图像传感器的标识计算所述媒体流数据的来源通道的标识;帧序号确定模块,适于确定所述多个图像传感器拍摄得到的各帧媒体流数据的帧序号;写入模块,适于至少将所述媒体流数据及其来源通道的标识、帧序号写入所述多个图像传感器共用的共享内存,以供多个读取进程进行读取。
可选的,所述媒体流共享装置还包括:帧类型确定模块,适于确定所述媒体流数据的帧类型。
可选的,所述写入模块将所述媒体流数据及其来源通道的标识、帧序号、帧类型写入所述共享内存。
可选的,所述媒体流共享装置还包括:读取掩码计算模块,适于利用所述媒体流数据的来源通道的标识和帧类型计算所述媒体流数据的读取掩码;比对模块,适于将所述媒体流数据的读取掩码与各个读取进程的预设读取掩码进行比对,以得到比对结果;可读标识设置模块,适于在所述比对结果表示存在读取进程的预设读取掩码与所述媒体流数据的读取掩码一致时,为所述媒体流数据设置与所述读取进程相对应的可读标识。
可选的,所述媒体流共享装置还包括:通知模块,适于在所述读取进程处于等待状态时,向所述读取进程发送可读通知,以通知所述读取进程读取所述媒体流数据。
可选的,所述媒体流共享装置还包括:读取模块,适于对于可读标识为可读的读取进程,按照所述媒体流数据的帧序号读取所述媒体流数据。
可选的,所述媒体流共享装置还包括:标识确定模块,适于根据读取的媒体流数据的来源通道的标识确定所述媒体流数据的类型以及拍摄所述媒体流数据的图像传感器的标识。
本发明实施例还公开了一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行所述媒体流共享方法的步骤。
本发明实施例还公开了一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行所述媒体流共享方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
本发明技术方案获取多个图像传感器的标识及其拍摄得到的各帧媒体流数据;根据所述媒体流数据的类型以及图像传感器的标识计算所述媒体流数据的来源通道的标识;确定所述多个图像传感器拍摄得到的各帧媒体流数据的帧序号;至少将所述媒体流数据及其来源通道的标识、帧序号写入所述多个图像传感器共用的共享内存,以供多个读取进程进行读取。本发明技术方案通过媒体流数据的类型以及图像传感器的标识计算得到所述媒体流数据的来源通道的标识,以对媒体流数据进行区分;通过确定各帧媒体流数据的帧序号,来实现对媒体流数据的定位;从而可以实现将媒体流数据写入多个图像传感器共用的共享内存,避免了现有技术中为每一图像传感器分配一块内存出现内存浪费的现象,进而保证在有限的共享内存空间下可以存储更多的媒体流数据。此外,从同一共享内存中读取数据也可以保证读取操作的同步性。
进一步地,确定所述媒体流数据的帧类型;将所述媒体流数据及其来源通道的标识、帧序号、帧类型写入所述共享内存。本发明技术方案通过确定并记录媒体流数据的帧类型,可以保证后续在读取媒体流数据时,可以根据不同帧类型的媒体流数据的特性进行读取,保证媒体流数据读取的流畅性。
进一步地,利用所述媒体流数据的来源通道的标识和帧类型计算所述媒体流数据的读取掩码;将所述媒体流数据的读取掩码与各个读取进程的预设读取掩码进行比对,以得到比对结果;如果所述比对结果表示存在读取进程的预设读取掩码与所述媒体流数据的读取掩码一致,则为所述媒体流数据设置与所述读取进程相对应的可读标识。本发明技术方案中,在将媒体流数据写入共享内存之前,可以根据媒体流数据的读取掩码以及各个读取进程的预设读取掩码,为各个媒体流数据设置可读标识,以供各个读取进程根据其对应的可读标识读取媒体流数据;从而在多个读取进程从统一内存中读取数据的情况下,保证数据读取的有序性。
附图说明
图1是本发明实施例一种媒体流共享方法的流程图;
图2是本发明实施例另一种媒体流共享方法的流程图;
图3是本发明实施例一种媒体流共享装置的结构示意图;
图4是本发明实施例另一种媒体流共享装置的结构示意图。
具体实施方式
如背景技术中所述,不同摄像设备所需存储的数据量不同,在网络硬盘录像机的内存中的存储量不同,导致内存空间的浪费;还会在读取媒体流数据时容易出现不同步的问题。
本发明技术方案通过媒体流数据的类型以及图像传感器的标识计算得到所述媒体流数据的来源通道的标识,以对媒体流数据进行区分;通过确定各帧媒体流数据的帧序号,来实现对媒体流数据的定位;从而可以实现将媒体流数据写入多个图像传感器共用的共享内存,避免了现有技术中为每一图像传感器分配一块内存出现内存浪费的现象,进而保证在有限的共享内存空间下可以存储更多的媒体流数据。此外,从同一共享内存中读取数据也可以保证读取操作的同步性。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1是本发明实施例一种媒体流共享方法的流程图。
图1所示媒体流共享方法可以包括以下步骤:
步骤S101:获取多个图像传感器的标识及其拍摄得到的各帧媒体流数据;
步骤S102:根据所述媒体流数据的类型以及图像传感器的标识计算所述媒体流数据的来源通道的标识;
步骤S103:确定所述多个图像传感器拍摄得到的各帧媒体流数据的帧序号;
步骤S104:至少将所述媒体流数据及其来源通道的标识、帧序号写入所述多个图像传感器共用的共享内存,以供多个读取进程进行读取。
本发明实施例的媒体流共享方法可以用于网络硬盘录像机(Network VideoRecorder,NVR),网络硬盘录像机可以执行上述方法的步骤。
在步骤S101的具体实施中,可以获取多个图像传感器的标识。具体而言,图像传感器可以是相机、摄像机等拍摄设备中的传感器。图像传感器可以形成媒体流数据。进一步而言,不同的传感器可以具备不同的标识;传感器的标识可以是其所属的拍摄设备的标识,也可以是其本身的标识。例如,摄像机1的图像传感器的标识为1,摄像机2的图像传感器的标识为2。
具体而言,每一媒体流数据对应一种图像传感器的标识。
在步骤S102的具体实施中,媒体流数据的类型可以选自:视频数据流和音频数据流。
根据媒体流数据的类型以及拍摄该媒体流数据的图像传感器的标识计算该媒体流数据的来源通道的标识。不同类型和/或来自不同图像传感器的媒体流数据具备不同的来源通道的标识。由此,利用来源通道的标识可以对不同类型和/或来自不同图像传感器的媒体流数据进行区分。
具体地,计算来源通道的标识可以是数学变换的过程。
例如,摄像机的标识(Identity,ID)为1,其拍摄得到的类型为音频流数据的媒体流数据的来源通道的标识可以是(1-1)/3+0;其拍摄得到的类型为视频主码流的媒体流数据的来源通道的标识可以是:(1-1)/3+1;其拍摄得到的类型为视频副码流的媒体流数据的来源通道的标识可以是:(1-1)/3+2。
可以理解的是,来源通道的标识也可以采用其他任意可实施的计算方式,本发明实施例对此不做限制。
为了实现将来自不同图像传感器的媒体流数据写入同一内存,在步骤S103的具体实施中,可以确定各帧媒体流数据的帧序号。具体而言,对于多个图像传感器拍摄得到的多帧媒体流数据,可以按照顺序确定多帧媒体流数据的帧序号。
需要说明的是,可以按照媒体流数据的获取时间确定多帧媒体流数据的帧序号,也可以按照图像传感器的标识确定多帧媒体流数据的帧序号,还可以按照其他任意可实施的方式确定定多帧媒体流数据的帧序号,本发明实施例对此不做限制。
进而步骤S104的具体实施中,可以将媒体流数据及其来源通道的标识、帧序号写入所述共享内存。所述共享内存是供多个图像传感器使用的。也就是说,多个图像传感器拍摄得到的媒体流数据均可以存储至所述共享内存。共享内存中的媒体流数据可以供多个读取进程进行读取。
具体而言,在将媒体流数据及其来源通道的标识、帧序号写入共享内存时,将媒体流数据及其来源通道的标识、帧序号作为参数调用写入函数;写入函数锁定全局共享内存的写权限。写入函数计算共享内存的空闲存储空间。如果空闲存储空间不足(也即空闲存储空间小于需要写入的数据的存储空间),则按需清除掉最早的一部分数据帧,再从上次写入数据的末尾开始,写入媒体流数据及其来源通道的标识、帧序号等帧信息。如果空闲存储空间足够(也即空闲存储空间大于等于需要写入的数据的存储空间),则直接从上次写入数据的末尾开始,写入媒体流数据及其来源通道的标识、帧序号等帧信息。
本发明实施例通过媒体流数据的类型以及图像传感器的标识计算得到所述媒体流数据的来源通道的标识,以对媒体流数据进行区分;通过确定各帧媒体流数据的帧序号,来实现对媒体流数据的定位;从而可以实现将媒体流数据写入多个图像传感器共用的共享内存,避免了现有技术中为每一图像传感器分配一块内存出现内存浪费的现象,进而保证在有限的共享内存空间下可以存储更多的媒体流数据。此外,从同一共享内存中读取数据也可以保证读取操作的同步性。
本发明一个具体实施例中,在图1所示步骤S103之后还可以包括以下步骤:确定所述媒体流数据的帧类型。
具体实施中,帧类型可以选自I帧、SPS帧、PPS帧、VPS帧。帧类型可以是视频编解码器标准中,例如H.264/H.265,用以区分不同视频帧的标准。
由于不同帧类型的媒体流数据需要不同的获取方式,因此在将媒体流写入共享内存之前需要确定其帧类型,以便在后续步骤中可以方便的读取。
例如,在获取视频时,须先取到VPS帧、SPS帧、PPS帧和I帧才能开始记录数据,生成视频文件,否则会出现播放异常的问题。
本发明实施例通过确定并记录媒体流数据的帧类型,可以保证后续在读取媒体流数据时,可以根据不同帧类型的媒体流数据的特性进行读取,保证媒体流数据读取的流畅性。
进一步地,图1所示步骤S104可以包括以下步骤:将所述媒体流数据及其来源通道的标识、帧序号、帧类型写入所述共享内存。
更近一步地,可以将媒体流数据及其来源通道的标识、帧序号、帧类型、帧时间戳、帧数据长度写入共享内存。
在具体实施中,可以将媒体流数据及其来源通道的标识、帧序号、帧类型、帧时间戳、帧数据长度作为参数调用写入函数,写入函数可以锁定全局共享内存的写权限,写入函数将上述信息写入共享内存。
本发明实施例通过将帧类型也写入共享内存,可以在后续读取媒体流数据时,一并获取到该媒体流数据的帧类型;从而进一步保证该媒体流数据播放的流畅性。
请一并参照图1和图2,在图1所示步骤S104之前还可以包括以下步骤:
步骤S201:利用所述媒体流数据的来源通道的标识和帧类型计算所述媒体流数据的读取掩码;
步骤S202:将所述媒体流数据的读取掩码与各个读取进程的预设读取掩码进行比对,以得到比对结果;
步骤S203:如果所述比对结果表示存在读取进程的预设读取掩码与所述媒体流数据的读取掩码一致,则为所述媒体流数据设置与所述读取进程相对应的可读标识。
在具体实施中,媒体流数据的读取掩码可以用于判定该媒体流数据是否可读。
媒体流数据的读取掩码可以利用所述媒体流数据的来源通道的标识和帧类型计算得到。具体地,对来源通道的标识进行逻辑运算,以及对帧类型进行逻辑运算,以得到媒体流数据的读取掩码。媒体流数据的读取掩码是上述两种逻辑运算的结果。更具体地,所述逻辑运算可以是位运算,例如按位与&、按位或|、按位异或^、按位非~、右移>>、左移<<等。
可以理解的是,帧类型和来源通道标识在内存中均是以二进制存储的,因此可以进行逻辑运算。
在步骤S201计算媒体流数据的读取掩码的过程是在将媒体流数据写入共享内存之前执行的。
此外,读取进程具备预设读取掩码。读取进程的预设读取掩码可以是预先设定的;预设读取掩码可以根据读取进程所需的帧类型和来源通道标识计算得到。预设读取掩码可以包括针对来源通道标识的读取掩码和针对帧类型的读取掩码。
将所述媒体流数据的读取掩码与各个读取进程的预设读取掩码进行比对的过程可以是:将媒体流数据的来源通道的标识的逻辑运算结果与预设读取掩码中针对来源通道标识的读取掩码进行比对,将媒体流数据的帧类型的逻辑运算结果与预设读取掩码中针对帧类型的读取掩码进行比对。
在步骤S203的具体实施中,如果所述比对结果表示存在读取进程的预设读取掩码与所述媒体流数据的读取掩码一致,则表示该数据流可以被该读取进程读取,由此可以为所述媒体流数据设置与所述读取进程相对应的可读标识。例如,媒体流数据1的读取掩码与读取进程A的预设读取掩码一致,则可以将媒体流数据1相对于读取进程A的可读标志设置为真,以表示媒体流数据可以被读取进程A读取。
本发明实施例中,在将媒体流数据写入共享内存之前,可以根据媒体流数据的读取掩码以及各个读取进程的预设读取掩码,为各个媒体流数据设置可读标识,以供各个读取进程根据其对应的可读标识读取媒体流数据;从而在多个读取进程从统一内存中读取数据的情况下,保证数据读取的有序性。
进一步地,在图1所示步骤S104之后还可以包括步骤S204:如果所述读取进程处于等待状态,则向所述读取进程发送可读通知,以通知所述读取进程读取所述媒体流数据。
本实施例中,在比对结果表示一致的情况下,可以根据读取进程的状态执行相应的操作。读取进程处于等待状态时,可以发送通知至该读取进程,以便执行后续的读取步骤。
至此,写入媒体流数据的过程已完成。具体地,媒体流数据可以通过调用写入函数写入共享内存。在写入完成后,写入函数可以释放全局共享内存的写权限。
在本发明一个优选实施例中,在图1所示步骤S104之后还可以包括以下步骤:对于可读标识为可读的读取进程,按照所述媒体流数据的帧序号读取所述媒体流数据。
本实施例中,由于可能存在多个读取进程同时读取媒体流数据,因此为了保证读取的有序性,可以按照媒体流数据的帧序号读取所述媒体流数据。具体而言,每个读取进程对应有其最后读取到的帧序号,读取进程在读取媒体流数据时从其上次最后读取到的帧序号开始查找、对比,以读取新的媒体流数据。
进一步地,根据读取的媒体流数据的来源通道的标识确定所述媒体流数据的类型以及拍摄所述媒体流数据的图像传感器的标识。
本实施例中,在读取到媒体流数据后,还需要获知拍摄该媒体流数据的设备相关信息。故可以通过媒体流数据的来源通道的标识确定图像传感器的标识和/或帧类型。例如,应用程序(Application,APP)在实时播放或回放视频时,需要知道是哪一个相机拍摄的,并将相机的标识显示在播放画面上,以便用户查看。
本发明一个具体应用场景中,读取进程可以关注其所需的至少一个来源通道的标识以及至少一种帧类型。根据读取进程所关注的来源通道的标识以及帧类型可以计算其预设读取掩码。读取函数检查是否有其它读取进程锁定了全局共享内存的写权限,没有则锁定之;检查与读取进程对应的可读标志,如不可读则进入等待状态。如果没有其它读取进程正在读取,则读取函数释放全局共享内存的写权限;读取函数返回帧信息和帧数据;读取进程可以根据帧信息中的来源通道的标识还原出相机的ID和媒体流数据的类型。
请参照图3,媒体流共享装置30可以包括获取模块301、标识计算模块302、帧序号确定模块303和写入模块304。
其中,获取模块301适于获取多个图像传感器的标识及其拍摄得到的各帧媒体流数据;标识计算模块302适于根据所述媒体流数据的类型以及图像传感器的标识计算所述媒体流数据的来源通道的标识;帧序号确定模块303适于确定所述多个图像传感器拍摄得到的各帧媒体流数据的帧序号;写入模块304适于至少将所述媒体流数据及其来源通道的标识、帧序号写入所述多个图像传感器共用的共享内存,以供多个读取进程进行读取。
本发明实施例的媒体流共享装置30可以用于网络硬盘录像机。媒体流共享装置30可以外部耦接或内部集成于所述网络硬盘录像机。
具体实施中,不同类型和/或来自不同图像传感器的媒体流数据具备不同的来源通道的标识。由此,利用来源通道的标识可以对不同类型和/或来自不同图像传感器的媒体流数据进行区分。
具体地,计算来源通道的标识可以是数学变换的过程。
具体而言,对于多个图像传感器拍摄得到的多帧媒体流数据,可以按照顺序确定多帧媒体流数据的帧序号。
需要说明的是,可以按照媒体流数据的获取时间确定多帧媒体流数据的帧序号,也可以按照图像传感器的标识确定多帧媒体流数据的帧序号,还可以按照其他任意可实施的方式确定定多帧媒体流数据的帧序号,本发明实施例对此不做限制。
所述共享内存是供多个图像传感器使用的。也就是说,多个图像传感器拍摄得到的媒体流数据均可以存储至所述共享内存。共享内存中的媒体流数据可以供多个读取进程进行读取。
本发明实施例通过媒体流数据的类型以及图像传感器的标识计算得到所述媒体流数据的来源通道的标识,以对媒体流数据进行区分;通过确定各帧媒体流数据的帧序号,来实现对媒体流数据的定位;从而可以实现将媒体流数据写入多个图像传感器共用的共享内存,避免了现有技术中为每一图像传感器分配一块内存出现内存浪费的现象,进而保证在有限的共享内存空间下可以存储更多的媒体流数据。此外,从同一共享内存中读取数据也可以保证读取操作的同步性。
本发明一个优选实施例中,图3所示的媒体流共享装置30还可以包括帧类型确定模块305,适于确定所述媒体流数据的帧类型。
进一步地,写入模块304将所述媒体流数据及其来源通道的标识、帧序号、帧类型写入所述共享内存。
由于不同帧类型的媒体流数据需要不同的获取方式,因此在将媒体流写入共享内存之前需要确定其帧类型,以便在后续步骤中可以方便的读取。
本发明实施例通过确定并记录媒体流数据的帧类型,可以保证后续在读取媒体流数据时,可以根据不同帧类型的媒体流数据的特性进行读取,保证媒体流数据读取的流畅性。
本发明另一个优选实施例中,请参照图4,图3所示的媒体流共享装置30还可以包括读取掩码计算模块401,适于利用所述媒体流数据的来源通道的标识和帧类型计算所述媒体流数据的读取掩码;
比对模块402,适于将所述媒体流数据的读取掩码与各个读取进程的预设读取掩码进行比对,以得到比对结果;
可读标识设置模块403,适于在所述比对结果表示存在读取进程的预设读取掩码与所述媒体流数据的读取掩码一致时,为所述媒体流数据设置与所述读取进程相对应的可读标识。
在具体实施中,媒体流数据的读取掩码可以用于判定该媒体流数据是否可读。
媒体流数据的读取掩码可以利用所述媒体流数据的来源通道的标识和帧类型计算得到。具体地,对来源通道的标识进行逻辑运算,以及对帧类型进行逻辑运算,以得到媒体流数据的读取掩码。媒体流数据的读取掩码是上述两种逻辑运算的结果。更具体地,所述逻辑运算可以是位运算,例如按位与&、按位或|、按位异或^、按位非~、右移>>、左移<<等。
本发明实施例中,在将媒体流数据写入共享内存之前,可以根据媒体流数据的读取掩码以及各个读取进程的预设读取掩码,为各个媒体流数据设置可读标识,以供各个读取进程根据其对应的可读标识读取媒体流数据;从而在多个读取进程从统一内存中读取数据的情况下,保证数据读取的有序性。
进一步地,图3所示的媒体流共享装置30还可以包括通知模块(图未示),适于在所述读取进程处于等待状态时,向所述读取进程发送可读通知,以通知所述读取进程读取所述媒体流数据。
本发明一个具体实施例中,图3所示的媒体流共享装置30还可以包括读取模块(图未示),适于对于可读标识为可读的读取进程,按照所述媒体流数据的帧序号读取所述媒体流数据。
本发明另一个具体实施例中,图3所示的媒体流共享装置30还可以包括标识确定模块(图未示),适于根据读取的媒体流数据的来源通道的标识确定所述媒体流数据的类型以及拍摄所述媒体流数据的图像传感器的标识。
关于所述媒体流共享装置30的工作原理、工作方式的更多内容,可以参照图1至图2中的相关描述,这里不再赘述。
本发明实施例还公开了一种存储介质,其上存储有计算机指令,所述计算机指令运行时可以执行图1或图2中所示的媒体流共享方法的步骤。所述存储介质可以包括ROM、RAM、磁盘或光盘等。所述存储介质还可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器等。
本发明实施例还公开了一种终端,所述终端可以包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令。所述处理器运行所述计算机指令时可以执行图1或图2中所示的媒体流共享方法的步骤。所述终端包括但不限于手机、计算机、平板电脑等终端设备。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (16)
1.一种媒体流共享方法,其特征在于,包括:
获取多个图像传感器的标识及其拍摄得到的各帧媒体流数据;
根据所述媒体流数据的类型以及图像传感器的标识计算所述媒体流数据的来源通道的标识;
确定所述多个图像传感器拍摄得到的各帧媒体流数据的帧序号;
至少将所述媒体流数据及其来源通道的标识、帧序号写入所述多个图像传感器共用的共享内存,以供多个读取进程进行读取。
2.根据权利要求1所述的媒体流共享方法,其特征在于,所述确定所述多个图像传感器拍摄得到的各帧媒体流数据的帧序号之后还包括:
确定所述媒体流数据的帧类型。
3.根据权利要求2所述的媒体流共享方法,其特征在于,所述至少将所述媒体流数据及其来源通道的标识、帧序号写入所述多个图像传感器共用的共享内存包括:
将所述媒体流数据及其来源通道的标识、帧序号、帧类型写入所述共享内存。
4.根据权利要求2所述的媒体流共享方法,其特征在于,所述至少将所述媒体流数据及其来源通道的标识、帧序号写入所述多个图像传感器共用的共享内存之前还包括:
利用所述媒体流数据的来源通道的标识和帧类型计算所述媒体流数据的读取掩码;
将所述媒体流数据的读取掩码与各个读取进程的预设读取掩码进行比对,以得到比对结果;
如果所述比对结果表示存在读取进程的预设读取掩码与所述媒体流数据的读取掩码一致,则为所述媒体流数据设置与所述读取进程相对应的可读标识。
5.根据权利要求4所述的媒体流共享方法,其特征在于,还包括:
如果所述读取进程处于等待状态,则向所述读取进程发送可读通知,以通知所述读取进程读取所述媒体流数据。
6.根据权利要求4所述的媒体流共享方法,其特征在于,所述至少将所述媒体流数据及其来源通道的标识、帧序号写入共享内存之后还包括:
对于可读标识为可读的读取进程,按照所述媒体流数据的帧序号读取所述媒体流数据。
7.根据权利要求4所述的媒体流共享方法,其特征在于,还包括:
根据读取的媒体流数据的来源通道的标识确定所述媒体流数据的类型以及拍摄所述媒体流数据的图像传感器的标识。
8.一种媒体流共享装置,其特征在于,包括:
获取模块,适于获取多个图像传感器的标识及其拍摄得到的各帧媒体流数据;
标识计算模块,适于根据所述媒体流数据的类型以及图像传感器的标识计算所述媒体流数据的来源通道的标识;
帧序号确定模块,适于确定所述多个图像传感器拍摄得到的各帧媒体流数据的帧序号;
写入模块,适于至少将所述媒体流数据及其来源通道的标识、帧序号写入所述多个图像传感器共用的共享内存,以供多个读取进程进行读取。
9.根据权利要求8所述的媒体流共享装置,其特征在于,还包括:
帧类型确定模块,适于确定所述媒体流数据的帧类型。
10.根据权利要求9所述的媒体流共享装置,其特征在于,所述写入模块将所述媒体流数据及其来源通道的标识、帧序号、帧类型写入所述共享内存。
11.根据权利要求9所述的媒体流共享装置,其特征在于,还包括:
读取掩码计算模块,适于利用所述媒体流数据的来源通道的标识和帧类型计算所述媒体流数据的读取掩码;
比对模块,适于将所述媒体流数据的读取掩码与各个读取进程的预设读取掩码进行比对,以得到比对结果;
可读标识设置模块,适于在所述比对结果表示存在读取进程的预设读取掩码与所述媒体流数据的读取掩码一致时,为所述媒体流数据设置与所述读取进程相对应的可读标识。
12.根据权利要求11所述的媒体流共享装置,其特征在于,还包括:
通知模块,适于在所述读取进程处于等待状态时,向所述读取进程发送可读通知,以通知所述读取进程读取所述媒体流数据。
13.根据权利要求11所述的媒体流共享装置,其特征在于,还包括:
读取模块,适于对于可读标识为可读的读取进程,按照所述媒体流数据的帧序号读取所述媒体流数据。
14.根据权利要求11所述的媒体流共享装置,其特征在于,还包括:
标识确定模块,适于根据读取的媒体流数据的来源通道的标识确定所述媒体流数据的类型以及拍摄所述媒体流数据的图像传感器的标识。
15.一种存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1至7中任一项所述媒体流共享方法的步骤。
16.一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,其特征在于,所述处理器运行所述计算机指令时执行权利要求1至7中任一项所述媒体流共享方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810345143.4A CN108668095A (zh) | 2018-04-17 | 2018-04-17 | 媒体流共享方法及装置、存储介质、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810345143.4A CN108668095A (zh) | 2018-04-17 | 2018-04-17 | 媒体流共享方法及装置、存储介质、终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108668095A true CN108668095A (zh) | 2018-10-16 |
Family
ID=63782281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810345143.4A Pending CN108668095A (zh) | 2018-04-17 | 2018-04-17 | 媒体流共享方法及装置、存储介质、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108668095A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111355933A (zh) * | 2020-04-15 | 2020-06-30 | 海信集团有限公司 | 一种Gstreamer框架适时检测方法及服务器 |
CN112702550A (zh) * | 2020-12-21 | 2021-04-23 | 上海商米科技集团股份有限公司 | 一种nvr多进程共享音视频流系统及实现方法 |
CN114071222A (zh) * | 2021-11-15 | 2022-02-18 | 深圳Tcl新技术有限公司 | 音视频数据共享装置及电子设备 |
-
2018
- 2018-04-17 CN CN201810345143.4A patent/CN108668095A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111355933A (zh) * | 2020-04-15 | 2020-06-30 | 海信集团有限公司 | 一种Gstreamer框架适时检测方法及服务器 |
CN111355933B (zh) * | 2020-04-15 | 2023-01-20 | 海信集团有限公司 | 一种Gstreamer框架适时检测方法及服务器 |
CN112702550A (zh) * | 2020-12-21 | 2021-04-23 | 上海商米科技集团股份有限公司 | 一种nvr多进程共享音视频流系统及实现方法 |
CN114071222A (zh) * | 2021-11-15 | 2022-02-18 | 深圳Tcl新技术有限公司 | 音视频数据共享装置及电子设备 |
CN114071222B (zh) * | 2021-11-15 | 2023-07-25 | 深圳Tcl新技术有限公司 | 音视频数据共享装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108668095A (zh) | 媒体流共享方法及装置、存储介质、终端 | |
CN104580888A (zh) | 一种图像处理方法及终端 | |
WO2017215148A1 (zh) | 文件保护方法及装置 | |
CN104980681A (zh) | 一种视频获取方法及装置 | |
JP2015053573A (ja) | 画像記録装置及び撮像装置 | |
JP2008022373A (ja) | 改竄検知情報生成装置、撮像装置、改竄検知情報生成方法、プログラムおよび記憶媒体 | |
CN102138322A (zh) | 图像处理装置、图像处理方法、图像处理程序、摄像装置 | |
US9544532B2 (en) | System and method for pre-recording video | |
CN103119926A (zh) | 拍摄装置、图像传送方法和程序 | |
JP2006345029A (ja) | 画像記録装置 | |
CN101853341A (zh) | 一种有数字水印功能的便携存储装置 | |
US20090136159A1 (en) | Method and system for editing a date of a digital image in an imaging device | |
US11113780B2 (en) | Watermarking digital content | |
CN110324515B (zh) | 图像记录设备及其控制方法 | |
TWI482099B (zh) | 影像處理紀錄系統及其影像處理紀錄方法 | |
US20210055874A1 (en) | Electronic device and control method therefor | |
JP2014033354A (ja) | 動画記録装置及び動画記録方法 | |
US20180152630A1 (en) | Method for displaying video frames on a portable video capturing device and corresponding device | |
WO2022131017A1 (ja) | 画像処理装置、及び画像処理方法 | |
US10950274B2 (en) | Image recording apparatus, method for controlling same, and non-transitory computer-readable storage medium | |
KR20170028593A (ko) | 움직이는 영상 생성방법 및 생성프로그램 | |
US20130265447A1 (en) | Computing device and method for processing pictures | |
CN105611164A (zh) | 一种摄像机的辅助拍摄方法 | |
JP2017027506A (ja) | データ処理装置及びデータ処理方法 | |
CN117827416A (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 | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20211231 |