CN114465990A - 通信方法、系统、工作终端及网络摄像机 - Google Patents
通信方法、系统、工作终端及网络摄像机 Download PDFInfo
- Publication number
- CN114465990A CN114465990A CN202210142634.5A CN202210142634A CN114465990A CN 114465990 A CN114465990 A CN 114465990A CN 202210142634 A CN202210142634 A CN 202210142634A CN 114465990 A CN114465990 A CN 114465990A
- Authority
- CN
- China
- Prior art keywords
- video data
- data packet
- network camera
- queue
- receiving
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 90
- 238000004891 communication Methods 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000005540 biological transmission Effects 0.000 claims abstract description 64
- 238000012545 processing Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 230000003139 buffering effect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000009434 installation Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供一种通信方法、系统、工作终端、网络摄像机、计算设备及计算机存储介质。其中,通信方法应用于工作终端,包括:基于实时流通信协议,建立与网络摄像机之间的数据传输通道;利用接收队列接收网络摄像机通过数据传输通道发送的视频数据包,其中,视频数据包由网络摄像机对采集到的视频数据进行编码而生成;将视频数据包从接收队列发送至缓冲队列,以便在缓冲队列中对视频数据包进行解码操作,获取视频数据。本发明实施例提供的技术方案可以在延长工作终端与网络摄像机之间的距离的基础上,实现与USB连接方式相媲美的传输效果。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种通信方法、系统、工作终端、网络摄像机、计算设备及计算机存储介质。
背景技术
网络云视讯是远程互动教学的核心技术,通过网络云视讯,可以实现同步课堂、网络教研、1+N直播、巡课督导等的核心功能。
网络云视讯的基础配套设备一般包括摄像机、工作终端等。相关技术中,摄像机通常采用USB(Universal Serial Bus,通用串行总线)连接方式与工作终端连接。
发明人在实现本发明构思的过程发现,USB连接方式具有实时性高、传输性能稳定的优点,但是,具备USB采集方式的摄像机价格较高,USB连接线价格较贵,而且USB线不能太长(不能超过15米),USB线一般在10米以上,传输信号开始不稳定,而且容易受外界杂散信号干扰,影响视频图像质量。
因而,相关技术中亟需一种更优的视频数据传输方法。
发明内容
本发明实施例提供一种通信方法、系统、工作终端、网络摄像机、计算设备及计算机存储介质。
第一方面,本发明实施例中提供了一种通信方法,应用于工作终端,包括:
基于实时流通信协议,建立与网络摄像机之间的数据传输通道;
利用接收队列接收所述网络摄像机通过所述数据传输通道发送的视频数据包,其中,所述视频数据包由所述网络摄像机对采集到的视频数据进行编码而生成;
将所述视频数据包从所述接收队列发送至缓冲队列,以便在所述缓冲队列中对所述视频数据包进行解码操作,获取所述视频数据。
第二方面,本发明实施例中提供了一种通信方法,应用于网络摄像机,包括:
采集视频数据;
对所述视频数据进行编码,生成视频数据包;
利用工作终端基于实时流通信协议建立的数据传输通道,将所述视频数据包发送给所述工作终端,以便所述工作终端执行以下操作:
利用接收队列接收所述网络摄像机通过所述数据传输通道发送的视频数据包,其中,所述视频数据包由所述网络摄像机对采集到的视频数据进行编码而生成;
将所述视频数据包从所述接收队列发送至缓冲队列,以便在所述缓冲队列中对所述视频数据包进行解码操作,获取所述视频数据。
第三方面,本发明实施例中提供了一种通信系统,包括:
网络摄像机,用于对采集到的视频数据进行编码,生成视频数据包;
工作终端,与所述网络摄像机通过网络连接,用于基于实时流通信协议,建立与网络摄像机之间的数据传输通道;
利用接收队列接收所述网络摄像机通过所述数据传输通道发送的视频数据包;以及
将所述视频数据包从所述接收队列发送至缓冲队列,以便在所述缓冲队列中对所述视频数据包进行解码操作,获取所述视频数据。
服务端,用于获取所述工作终端发送的所述视频数据,并将所述视频数据分发至视频终端。
第四方面,本发明实施例中提供了一种工作终端,包括:
通道建立模块,用于基于实时流通信协议,建立与网络摄像机之间的数据传输通道;
数据接收模块,用于利用接收队列接收所述网络摄像机通过所述数据传输通道发送的视频数据包,其中,所述视频数据包由所述网络摄像机对采集到的视频数据进行编码而生成;
第一数据发送模块,用于将所述视频数据包从所述接收队列发送至缓冲队列,以便在所述缓冲队列中对所述视频数据包进行解码操作,获取所述视频数据。
第五方面,本发明实施例中提供了一种网络摄像机,包括:
采集模块,用于采集视频数据;
编码模块,用于对所述视频数据进行编码,生成视频数据包;
第二数据发送模块,用于利用工作终端基于实时流通信协议建立的数据传输通道,将所述视频数据包发送给所述工作终端,以便所述工作终端执行以下操作:
利用接收队列接收所述网络摄像机通过所述数据传输通道发送的视频数据包,其中,所述视频数据包由所述网络摄像机对采集到的视频数据进行编码而生成;
将所述视频数据包从所述接收队列发送至缓冲队列,以便在所述缓冲队列中对所述视频数据包进行解码操作,获取所述视频数据。
第六方面,本发明实施例中提供了一种计算设备,包括处理组件以及存储组件;
所述存储组件存储一条或多条计算机指令;所述一条或多条计算机指令用以被所述处理组件调用执行;
所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令用以被所述处理组件调用执行,实现本发明实施例提供的通信方法。
第七方面,本发明实施例中提供了一种计算机存储介质,存储有计算机程序,所述计算程序被计算机执行时,实现本发明实施例提供的通信方法。
在本发明的实施例中,通过基于实时流通信协议(Real Time StreamingProtocol,RTSP)建立与网络摄像机之间的数据传输通道,将视频数据包利用接收队列接收后放入缓冲队列,并从缓冲队列中取出视频数据包并解码。通过对网络摄像机和工作终端的通信过程的优化处理,去掉时间戳控制,减少视频数据包缓存大小及解码等待时间,提高实时性,从而可以在大大地延长工作终端与网络摄像机之间的距离的基础上,实现与USB连接方式的数据传输实时性相媲美的数据传输效果。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种通信方法的流程图;
图2为本发明实施例提供的一种通信方法的示意图;
图3为本发明另一实施例提供的一种通信系统的示意图;
图4为本发明另一实施例提供的一种通信方法的流程图;
图5为本发明实施例提供的一种通信系统的示意图;
图6示出了本发明提供的工作终端一个实施例的结构示意图;
图7示出了本发明提供的网络摄像机一个实施例的结构示意图;
图8为本实施例提供的一种电子设备的结构示意图;
图9为本实施例提供的另一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在实际的应用场景,例如远程教育场景中,基础的配套设备通常包括摄像机、工作终端等。相关技术中,摄像机通常通过USB连接方式与工作终端进行连接,这种连接方式具有实时性高、传输性能稳定的优点,但是,USB线较长时,数据传输通常会出现不稳定的情况,并且,数据传输过程容易受外界杂散信号的干扰,影响数据传输质量。因而,在摄像机与工作终端距离较远的情况下,通常需要在摄像机与工作终端之间增加中继器等设备来保证数据传输效率,这往往会增加额外的费用以及工程实施复杂度。
图1为本发明实施例提供的一种通信方法的流程图,该方法可以由工作终端执行,如图1所示,通信方法可以包括如下步骤:
101,基于实时流通信协议,建立与网络摄像机之间的数据传输通道。
根据本发明的实施例,工作终端例如可以包括PC(Personal Computer,个人计算机)、平板电脑、笔记本电脑等终端设备。
根据本发明的实施例,网络摄像机可以包括通过网络传输视频数据的摄像机,具体而言,网络摄像机可以通过无线网络和/或有线网络与工作终端连接,从而可以通过网络将采集到的视频数据传输至工作终端。
根据本发明的实施例,由于网线的数据传输效率通常不受网线长度的限制,因而,通过网线连接的网络摄像机和工作终端的距离也将不受限制,从而可以灵活的对网络摄像机和工作终端进行布置。
102,利用接收队列接收网络摄像机通过数据传输通道发送的视频数据包,其中,视频数据包由网络摄像机对采集到的视频数据进行编码而生成;
103,将视频数据包从接收队列发送至缓冲队列,以便在缓冲队列中对视频数据包进行解码操作,获取视频数据。
图2为本发明实施例提供的一种通信方法的示意图。
如图2所示,工作终端201接收到网络摄像机202发送的视频数据包203后,可以先将视频数据包203放入接收队列204,接收队列204接收到视频数据包203后,不对视频数据包203进行拆包、解码等操作,而是将视频数据包203发送至缓冲队列205,并从缓冲队列205中获取视频数据包203并进行解码处理。
根据本发明的实施例,若利用接收队列接收到视频数据包203后,直接进行解码操作,由于网络摄像机采集到的视频数据的数据量较大,对视频数据包进行解码的过程中接收队列仍会持续接收新的视频数据包,当接收队列中视频数据包过多时,由于接收队列先进先出的性质,只有等先进入接收队列中的视频数据包解码完成后,新的视频数据包才能进入接收队列,这将会导致视频数据包缓存过大,影响数据传输的实时性。
在本发明的实施例中,通过基于实时流通信协议(Real Time StreamingProtocol,RTSP)建立与网络摄像机之间的数据传输通道,将视频数据包利用接收队列接收后放入缓冲队列,并从缓冲队列中取出视频数据包并解码,接收队列仅用于接收数据包,能够保证数据包的实时接收入队。通过对网络摄像机和工作终端的通信过程的优化处理,去掉时间戳控制,减少视频数据包缓存大小及解码等待时间,提高实时性,从而可以大在大地延长工作终端与网络摄像机之间的距离的基础上,实现与USB连接方式的数据传输实时性相媲美的数据传输效果。
根据本发明的实施例,通信方法还包括:
响应于服务端发送的用于请求获取视频数据的请求,基于实时流通信协议,建立与网络摄像机之间的数据传输通道。
根据本发明的实施例,实时流通信协议是流媒体表示协议,主要用来控制具有实时特性的数据发送,但它本身并不传输数据,而是依赖于下层传输协议所提供的某些服务进行数据传输。RTSP可以对流媒体提供诸如播放、暂停、快进等操作,它负责定义具体的控制消息、操作方法、状态码等,此外还描述了与RTP(Real-time Transport Protoco,实时传输协议)间的交互操作。
根据本发明的实施例,工作终端可以和多台网络摄像机利用网络进行连接。获取到服务端发送的用于请求获取视频数据的请求后,可以对该请求进行解析,获取网络摄像机标识信息,并利用该网络摄像机标识信息,基于实时流通信协议,建立与该网络摄像机标识信息相对应的网络摄像机之间的数据传输通道。
根据本发明的实施例,在用户利用视频终端向服务端发送用于请求获取视频数据的请求后,服务端可以将该请求转发至工作终端,
根据本发明的实施例,用户在向服务端发起请求之前,可以先基于服务端所指示的注册方式进行注册。服务端接收到用户发起的请求后,可以先基于请求中携带的注册信息对用户进行校验,并在校验通过后,再将请求转发至工作终端,以便工作终端调用网络摄像机。
根据本发明的实施例,通信方法还包括:
利用基于微驱动模式创建的虚拟摄像机,将视频数据发送至服务端。
根据本发明的实施例,可以预先在工作终端中安装虚拟摄像机驱动,虚拟摄像机驱动可以在工作终端中创建虚拟摄像机供服务端和/或工作终端进行调用。
根据本发明的实施例,由于网络摄像机是通过网线等方式与工作终端进行连接,从而服务端可能无法在工作终端中识别网络摄相机。因此,可以在工作终端中安装虚拟摄像机驱动,虚拟摄像机驱动的安装类似实体硬件设备的驱动安装,安装后在工作终端的设备驱动管理器中可视,具备良好的调用兼容性。
根据本发明的实施例,虚拟摄像机驱动可以采用微驱动模式或内核驱动模式对虚拟摄像机进行驱动。
根据本发明的实施例,虚拟摄像机驱动可以包括注册单元,用于在工作终端的设备管理器中对虚拟摄像机进行注册。注册单元的驱动接口是进入驱动程序的起始点。通过调用驱动初始化函数的方式可以将控制权传递给音视频流接口。在此调用中,微驱动传递设备描述符,该设备描述符是音视频流接口结构,该结构递归定义驱动程序的音视频流接口对象层次结构。
根据本发明的实施例,虚拟摄像机可以包括采集单元,采集单元可以用于获取对视频数据包进行解码而生成的视频数据。采集单元包含采集过滤器上捕获引脚的源视频数据,并提供唯一引脚的引脚分发器结构。此分发器结构指定了一个过程回调例程,过程回调例程的功能是执行流指针操作和克隆操作。采集单元还可以运行完全映射例程,完全映射例程功能是使用队列,获取克隆指针,使用分发器/收集器列表以及执行其他与DMA(DirectMemory Access,直接存储器访问)相关的任务。
根据本发明的实施例,请求携带有目标视频数据参数。
根据本发明的实施例,由于用于请求视频数据的请求是用户利用视频终端发起的,而每个用户所使用的视频终端对视频数据的视频参数的要求通常并不相同。从而,用户在发起用于请求视频数据的请求时,请求中可以携带有与其所使用的视频终端相对应的目标视频数据参数。
根据本发明的实施例,目标视频数据参数例如可以包括目标帧率、目标画面大小、目标信噪比、目标分辨率等参数。
作为一种可选实现方式,在缓冲队列中对视频数据包进行解码操作,获取视频数据的过程具体可以实现为:
根据与目标视频数据参数相对应的视频数据参数对视频数据包进行解码操作,获取视频数据。
根据本发明的实施例,工作终端可以根据目标视频数据参数对采集到的原始视频数据进行格式转换,以实现自动匹配视频终端的视频播放参数。
作为一种可选实现方式,根据与目标视频数据参数相对应的视频数据参数对视频数据包进行解码操作,获取视频数据的过程具体可以实现为:
对视频数据包进行解码,获取初始视频数据;
确定初始视频数据的初始视频数据参数;
确定初始视频数据参数与目标视频数据参数的匹配关系;
在匹配关系表征初始视频数据参数与目标视频数据参数不匹配的情况下,对初始视频数据参数进行调整,以便获取视频数据参数与目标视频数据参数相匹配的视频数据。
根据本发明的实施例,可以对视频数据包采用硬件解码或软件解码的方式进行解码,获取初始视频数据。
根据本发明的实施例,可以基于H.264或H.265视频编码标准对视频数据包进行解码。
根据本发明的实施例,获取初始视频数据后,可以确定初始视频数据的初始视频数据参数,并判断初始视频数据参数与目标视频数据参数是否一致,若初始视频数据参数与目标视频数据参数一致,则可以直接利用虚拟摄像机将初始视频数据作为视频数据推送至服务端,以便服务端将视频数据转发至视频终端。若初始视频数据参数与目标视频数据参数不一致,则可以基于目标视频数据参数,对初始视频数据进行调整,使调整后生成的视频数据参数与目标视频数据参数一致。例如,可以以目标视频数据参数为基准,调高或者调低初始视频数据参数,直至初始视频数据和目标视频数据参数一致。在本发明实施例中,例如,目标视频数据的目标分辨率可以为1024×768,初始视频数据的初始分辨率可以为640×480,在确认初始分辨率低于目标分辨率后,可以调高初始分辨率,直至初始分辨率与目标分辨率相同。
根据本发明的实施例,通过对工作终端获取的视频数据的视频数据参数与目标视频参数进行自动匹配,可以实现增强数据传输的灵活性,减少配置网络摄像机工作量的技术效果。
作为一种可选实现方式,利用接收队列接收网络摄像机通过数据传输通道发送的视频数据包的过程具体可以实现为:
响应于基于第一线程获取到的视频数据包,启动第二线程,以便基于第二线程将缓冲队列获取的视频数据包取出并解码。
根据本发明的实施例,第一线程和第二线程可以并行执行各自的任务,即,在利用第一线程接收视频数据包的同时,可以基于第二线程从缓冲队列中取出视频数据包,并对视频数据包进行解码生成视频数据。
图3为本发明另一实施例提供的一种通信系统的示意图。
如图3所示,网络摄像机310可以包括视频编码模块311和第一通信模块312,工作终端320可以包括视频采集模块321和虚拟摄像机模块322,其中,视频采集模块321可以包括第二通信子模块3211和解码子模块3212。
工作终端320在接收到来自服务器的视频数据获取请求后,可以利用第二通信子模块3211中部署的RTSP协议向第一通信模块312中部署的RTSP协议发送请求。第一通信模块312接收到该请求后,可以向第二通信子模块3211发出响应,从而建立网络摄像机310和工作终端320之间的数据传输通道。
网络摄像机310利用采集单元(图未示)采集到视频数据后,可以将视频数据发送给视频编码模块311,视频编码模块311可以基于H.264或H.265视频编码标准对视频数据利用进行硬件编码,生成视频数据包,并将视频数据包通过数据传输通道发送给工作终端320。
工作终端320利用第二通信子模块3211获取视频数据包后,可以利用解码子模块3212对视频数据包进行解码,获取视频数据。然后可以将视频数据发送给虚拟摄像机模块322,有虚拟摄像机模块322将视频数据推送给服务端。
由于虚拟摄像机模块322的视频数据是由应用层的数据采集程序,即视频采集模块321供给的,从而实现了设备驱动与采集程序的分离,避免采集过程的不稳定影响驱动的稳定,保证工作终端不会出现蓝屏现象,提高了工作终端的稳定性。
第一通信模块312和第二通信子模块3211可以相对应的部署有经优化的RTP协议,并基于经优化的RTP协议进行RTP包,即视频数据包的传输。在第一通信模块312和第二通信子模块3211进行通信的过程中,通过RTCP的简化处理,优化了接收缓存及效率,达到低延迟的目的。
第一通信模块312和第二通信子模块3211的交互如果使用比较常用的FFMPEG的RTSP协议,延迟时间会达到2秒左右,在实时性要求比较高的场合,严重影响实时性。摄像机的USB连接方式,延迟时间一般在350毫秒左右,采用部署有经优化的RTP协议的第二通信子模块3211,与USB连接方式比较,延迟时间可以减少150毫秒左右,达到200毫秒的延迟时间,在实时性要求比较高的场合,具有很好的使用效果。
根据本发明的实施例,通过对RTP协议的优化处理,对RTCP包不做拆包及重新组包处理,将RTP包接收后放入缓冲队列,启动另外一条线程专门从缓冲队列中取出RTP包并解码,解码后的指定格式的视频数据发送给虚拟摄像机。通过对RTP协议的优化处理,去掉时间戳控制,减少RTP包缓存大小及解码等待时间,从而缩减了接收视频流数据队列的缓存,减少了视频画面的延迟,提高实时性,达到与USB方式相媲美的传输效果。
根据本发明的实施例,指定格式可以包括YUV格式或RGB格式。
根据本发明的优选实施例,由于YUV格式无需要求三个独立的视频信号进行独立传输,从而可以占用较少的频宽,因而,在本发明的实施例中,视频数据可以为YUV格式的视频数据。
根据本发明的实施例,在对YUV格式的视频数据进行存储时,可以使每两组亮度分量(Y)共用一组色彩分量(UV)。
图4为本发明另一实施例提供的一种通信方法的流程图,该方法可以由网络摄像机执行,如图4所示,通信方法可以包括如下步骤:
401,采集视频数据;
402,对视频数据进行编码,生成视频数据包;
403,利用工作终端基于实时流通信协议建立的数据传输通道,将视频数据包发送给工作终端,以便工作终端执行以下操作:
利用接收队列接收网络摄像机通过数据传输通道发送的视频数据包,其中,视频数据包由网络摄像机对采集到的视频数据进行编码而生成;
将视频数据包从接收队列发送至缓冲队列,以便在缓冲队列中对视频数据包进行解码操作,获取视频数据。
图5为本发明实施例提供的一种通信系统的示意图,如图5所示,通信系统可以包括:
501,网络摄像机,用于对采集到的视频数据进行编码,生成视频数据包;其中,网络摄像机501的具体实现可以参见图3中所示的网络摄像机310,其具体结构在此不再赘述。
502,工作终端,与网络摄像机通过网络连接,用于基于实时流通信协议,建立与网络摄像机之间的数据传输通道;
利用接收队列接收网络摄像机通过数据传输通道发送的视频数据包;以及
将视频数据包从接收队列发送至缓冲队列,以便在缓冲队列中对视频数据包进行解码操作,获取视频数据。
503,服务端,用于获取工作终端发送的视频数据,并将视频数据分发至视频终端。
图6示出了本发明提供的工作终端一个实施例的结构示意图,如图6所示,工作终端600可以包括通道建立模块601、数据接收模块602和第一数据发送模块603。
通道建立模块601,用于基于实时流通信协议,建立与网络摄像机之间的数据传输通道;
数据接收模块602,用于利用接收队列接收网络摄像机通过数据传输通道发送的视频数据包,其中,视频数据包由网络摄像机对采集到的视频数据进行编码而生成;
第一数据发送模块603,用于将视频数据包从接收队列发送至缓冲队列,以便在缓冲队列中对视频数据包进行解码操作,获取视频数据。
根据本发明的实施例,通道建立模块601包括通道建立单元。
通道建立单元,用于响应于服务端发送的用于请求获取视频数据的请求,基于实时流通信协议,建立与网络摄像机之间的数据传输通道。
根据本发明的实施例,工作终端600还包括第一发送模块。
第一发送模块,用于利用基于微驱动模式创建的虚拟摄像机,将视频数据发送至服务端。
根据本发明的实施例,请求携带有目标视频数据参数。
根据本发明的实施例,第一数据发送模块603包括解码子模块。
解码子模块,用于根据与目标视频数据参数相对应的视频数据参数对视频数据包进行解码操作,获取视频数据。
根据本发明的实施例,解码子模块包括解码单元、第一确定单元、第二确定单元、调整单元。
解码单元,用于对视频数据包进行解码,获取初始视频数据;
第一确定单元,用于确定初始视频数据的初始视频数据参数;
第二确定单元,用于确定初始视频数据参数与目标视频数据参数的匹配关系;
调整单元,用于在匹配关系表征初始视频数据参数与目标视频数据参数不匹配的情况下,对初始视频数据参数进行调整,以便获取视频数据参数与目标视频数据参数相匹配的视频数据。
根据本发明的实施例,数据接收模块602包括线程启动单元。
线程启动单元,用于响应于基于第一线程获取到的视频数据包,启动第二线程,以便基于第二线程将视频数据包从接收队列发送至缓冲队列。
图6所述的工作终端可以执行图1所示实施例所述的通信方法,其实现原理和技术效果不再赘述。对于上述实施例中的工作终端其中各个模块、子模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7示出了本发明提供的网络摄像机一个实施例的结构示意图,如图7所示,网络摄像机700可以包括采集模块701、编码模块702和第二数据发送模块703。
采集模块701,用于采集视频数据;
编码模块702,用于对视频数据进行编码,生成视频数据包;
第二数据发送模块703,用于利用工作终端基于实时流通信协议建立的数据传输通道,将视频数据包发送给工作终端,以便工作终端执行以下操作:
利用接收队列接收网络摄像机通过数据传输通道发送的视频数据包,其中,视频数据包由网络摄像机对采集到的视频数据进行编码而生成;
将视频数据包从接收队列发送至缓冲队列,以便在缓冲队列中对视频数据包进行解码操作,获取视频数据。
在一个可能的设计中,上述图6所示的工作终端的结构可实现为一电子设备。如图8所示,该电子设备800可以包括:处理器801、存储器802。其中,存储器802上存储有可执行代码,当所述可执行代码被处理器801执行时,至少使处理器801可以实现如前述图1或图4所示实施例中提供的通信方法。
其中,该电子设备的结构中还可以包括通信接口803,用于与其他设备通信。
图9为本实施例提供的另一种电子设备的结构示意图,如图9所示,电子设备900可以包括以下一个或多个组件:处理组件902,存储器904,电源组件906,多媒体组件908,音频组件910,输入/输出(I/O)接口912,传感器组件914,以及通信组件916。
处理组件902通常控制电子设备900的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件902可以包括一个或多个处理器920来执行指令,以完成上述的方法步骤101-步骤103或步骤401-步骤403中的全部或部分步骤。此外,处理组件902可以包括一个或多个模块,便于处理组件902和其他组件之间的交互。例如,处理组件902可以包括多媒体模块,以方便多媒体组件908和处理组件902之间的交互。
存储器904被配置为存储各种类型的数据以支持在电子设备900的操作。这些数据的示例包括用于在电子设备900上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器904可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件906为电子设备900的各种组件提供电力。电源组件906可以包括电源管理系统,一个或多个电源,及其他与为电子设备900生成、管理和分配电力相关联的组件。
多媒体组件908包括在电子设备900和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件908包括一个前置摄像头和/或后置摄像头。当电子设备900处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件910被配置为输出和/或输入音频信号。例如,音频组件910包括一个麦克风(MIC),当电子设备900处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器904或经由通信组件916发送。在一些实施例中,音频组件910还包括一个扬声器,用于输出音频信号。
输入/输出(I/O)接口912为处理组件902和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件914包括一个或多个传感器,用于为电子设备900提供各个方面的状态评估。例如,传感器组件914可以检测到电子设备900的打开/关闭状态,组件的相对定位,例如所述组件为电子设备900的显示器和小键盘,传感器组件914还可以检测电子设备900或电子设备900一个组件的位置改变,用户与电子设备900接触的存在或不存在,电子设备900方位或加速/减速和电子设备900的温度变化。传感器组件914可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件914还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件914还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件916被配置为便于电子设备900和其他设备之间有线或无线方式的通信。电子设备900可以接入基于通信标准的无线网络,如WiFi,2G或3G或4G或它们的组合。在一个示例性实施例中,通信组件916经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件916还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备900可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器904,上述指令可由电子设备900的处理器920执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行前述图1所示实施例中提供的通信方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的各个模块可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对本发明做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种通信方法,其特征在于,应用于工作终端,所述方法包括:
基于实时流通信协议,建立与网络摄像机之间的数据传输通道;
利用接收队列接收所述网络摄像机通过所述数据传输通道发送的视频数据包,其中,所述视频数据包由所述网络摄像机对采集到的视频数据进行编码而生成;
将所述视频数据包从所述接收队列发送至缓冲队列,以便在所述缓冲队列中对所述视频数据包进行解码操作,获取所述视频数据。
2.根据权利要求1所述的方法,其特征在于,所述基于实时流通信协议,建立与网络摄像机之间的数据传输通道包括:
响应于服务端发送的用于请求获取视频数据的请求,基于实时流通信协议,建立与网络摄像机之间的数据传输通道。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
利用基于微驱动模式创建的虚拟摄像机,将所述视频数据发送至所述服务端。
4.根据权利要求2所述的方法,其特征在于,所述请求携带有目标视频数据参数;
所述在所述缓冲队列中对所述视频数据包进行解码操作,获取所述视频数据包括:
根据与所述目标视频数据参数相对应的视频数据参数对所述视频数据包进行解码操作,获取所述视频数据。
5.根据权利要求4所述的方法,其特征在于,所述根据与所述目标视频数据参数相对应的视频数据参数对所述视频数据包进行解码操作,获取所述视频数据包括:
对所述视频数据包进行解码,获取初始视频数据;
确定所述初始视频数据的初始视频数据参数;
确定所述初始视频数据参数与所述目标视频数据参数的匹配关系;
在所述匹配关系表征所述初始视频数据参数与所述目标视频数据参数不匹配的情况下,对所述初始视频数据参数进行调整,以便获取视频数据参数与所述目标视频数据参数相匹配的视频数据。
6.根据权利要求1所述的方法,其特征在于,所述利用接收队列接收所述网络摄像机通过所述数据传输通道发送的视频数据包包括:
响应于基于第一线程获取到的所述视频数据包,启动第二线程,以便基于所述第二线程将所述视频数据包从所述接收队列发送至缓冲队列。
7.一种通信方法,其特征在于,应用于网络摄像机,所述方法包括:
采集视频数据;
对所述视频数据进行编码,生成视频数据包;
利用工作终端基于实时流通信协议建立的数据传输通道,将所述视频数据包发送给所述工作终端,以便所述工作终端执行以下操作:
利用接收队列接收所述网络摄像机通过所述数据传输通道发送的视频数据包,其中,所述视频数据包由所述网络摄像机对采集到的视频数据进行编码而生成;
将所述视频数据包从所述接收队列发送至缓冲队列,以便在所述缓冲队列中对所述视频数据包进行解码操作,获取所述视频数据。
8.一种通信系统,其特征在于,包括:
网络摄像机,用于对采集到的视频数据进行编码,生成视频数据包;
工作终端,与所述网络摄像机通过网络连接,用于基于实时流通信协议,建立与网络摄像机之间的数据传输通道;
利用接收队列接收所述网络摄像机通过所述数据传输通道发送的视频数据包;以及
将所述视频数据包从所述接收队列发送至缓冲队列,以便在所述缓冲队列中对所述视频数据包进行解码操作,获取所述视频数据;
服务端,用于获取所述工作终端发送的所述视频数据,并将所述视频数据分发至视频终端。
9.一种工作终端,其特征在于,包括:
通道建立模块,用于基于实时流通信协议,建立与网络摄像机之间的数据传输通道;
数据接收模块,用于利用接收队列接收所述网络摄像机通过所述数据传输通道发送的视频数据包,其中,所述视频数据包由所述网络摄像机对采集到的视频数据进行编码而生成;
第一数据发送模块,用于将所述视频数据包从所述接收队列发送至缓冲队列,以便在所述缓冲队列中对所述视频数据包进行解码操作,获取所述视频数据。
10.一种网络摄像机,其特征在于,包括:
采集模块,用于采集视频数据;
编码模块,用于对所述视频数据进行编码,生成视频数据包;
第二数据发送模块,用于利用工作终端基于实时流通信协议建立的数据传输通道,将所述视频数据包发送给所述工作终端,以便所述工作终端执行以下操作:
利用接收队列接收所述网络摄像机通过所述数据传输通道发送的视频数据包,其中,所述视频数据包由所述网络摄像机对采集到的视频数据进行编码而生成;
将所述视频数据包从所述接收队列发送至缓冲队列,以便在所述缓冲队列中对所述视频数据包进行解码操作,获取所述视频数据。
11.一种计算设备,其特征在于,包括处理组件以及存储组件;
所述存储组件存储一条或多条计算机指令;所述一条或多条计算机指令用以被所述处理组件调用执行;
所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令用以被所述处理组件调用执行,实现如权利要求1至6任一项所述的通信方法,或者实现如权利要求7所述的通信方法。
12.一种计算机存储介质,其特征在于,存储有计算机程序,所述计算程序被计算机执行时,实现如权利要求1至6任一项所述的通信方法,或者实现如权利要求7所述的通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210142634.5A CN114465990A (zh) | 2022-02-16 | 2022-02-16 | 通信方法、系统、工作终端及网络摄像机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210142634.5A CN114465990A (zh) | 2022-02-16 | 2022-02-16 | 通信方法、系统、工作终端及网络摄像机 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114465990A true CN114465990A (zh) | 2022-05-10 |
Family
ID=81413919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210142634.5A Pending CN114465990A (zh) | 2022-02-16 | 2022-02-16 | 通信方法、系统、工作终端及网络摄像机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114465990A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102595139A (zh) * | 2012-03-01 | 2012-07-18 | 大连理工大学 | 一种基于android的手机PDA直播系统 |
CN103957389A (zh) * | 2014-05-13 | 2014-07-30 | 重庆大学 | 基于压缩感知的3g视频传输方法及系统 |
CN108989273A (zh) * | 2017-07-03 | 2018-12-11 | 北京视联动力国际信息技术有限公司 | 一种获取视频流的方法和装置 |
CN110505441A (zh) * | 2018-05-18 | 2019-11-26 | 华为技术有限公司 | 一种可视通信的方法、装置和系统 |
CN111510759A (zh) * | 2020-03-17 | 2020-08-07 | 视联动力信息技术股份有限公司 | 视频显示方法、装置及可读存储介质 |
CN113497792A (zh) * | 2020-04-02 | 2021-10-12 | 京东方科技集团股份有限公司 | 音视频通信方法、终端、服务器、计算机设备和存储介质 |
CN113873345A (zh) * | 2021-09-27 | 2021-12-31 | 中国电子科技集团公司第二十八研究所 | 一种分布式的超高清视频同步处理方法 |
-
2022
- 2022-02-16 CN CN202210142634.5A patent/CN114465990A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102595139A (zh) * | 2012-03-01 | 2012-07-18 | 大连理工大学 | 一种基于android的手机PDA直播系统 |
CN103957389A (zh) * | 2014-05-13 | 2014-07-30 | 重庆大学 | 基于压缩感知的3g视频传输方法及系统 |
CN108989273A (zh) * | 2017-07-03 | 2018-12-11 | 北京视联动力国际信息技术有限公司 | 一种获取视频流的方法和装置 |
CN110505441A (zh) * | 2018-05-18 | 2019-11-26 | 华为技术有限公司 | 一种可视通信的方法、装置和系统 |
CN111510759A (zh) * | 2020-03-17 | 2020-08-07 | 视联动力信息技术股份有限公司 | 视频显示方法、装置及可读存储介质 |
CN113497792A (zh) * | 2020-04-02 | 2021-10-12 | 京东方科技集团股份有限公司 | 音视频通信方法、终端、服务器、计算机设备和存储介质 |
CN113873345A (zh) * | 2021-09-27 | 2021-12-31 | 中国电子科技集团公司第二十八研究所 | 一种分布式的超高清视频同步处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109981607B (zh) | 媒体流处理方法及装置、电子设备和存储介质 | |
WO2020014880A1 (zh) | 一种多屏互动方法及设备 | |
KR102157634B1 (ko) | 영상 획득 방법 및 로컬 엔드포인트 호스트 장치 | |
CN112394895B (zh) | 画面跨设备显示方法与装置、电子设备 | |
CN104184947B (zh) | 一种远程拍照调焦的方法及系统 | |
EP3107086A1 (en) | Method and device for playing a multimedia file | |
CN110493627B (zh) | 多媒体内容同步方法及装置 | |
WO2022121775A1 (zh) | 一种投屏方法及设备 | |
KR20170012178A (ko) | 동영상 내용을 획득하기 위한 방법 및 장치 | |
CN107197320B (zh) | 视频直播方法、装置和系统 | |
CN111092898B (zh) | 报文传输方法及相关设备 | |
CN107770564B (zh) | 远程采集音视频数据的方法及装置 | |
US20180014063A1 (en) | Method and Apparatus for Accessing a Terminal Device Camera to a Target Device | |
WO2021168649A1 (zh) | 多功能接收设备和会议系统 | |
CN110505441B (zh) | 一种可视通信的方法、装置和系统 | |
CN108667871B (zh) | 基于p2p的传输方法和装置 | |
CN112584049A (zh) | 远程交互方法及装置、电子设备、存储介质 | |
CN101500128A (zh) | 在网络摄像装置终端显示图像上加载附加信息的方法及装置 | |
CN111259246A (zh) | 信息推送方法、装置、电子设备及存储介质 | |
CN115022570B (zh) | 获取视频帧的方法、电子设备及可读存储介质 | |
EP3823249B1 (en) | Discovery of iot devices and subsequent capability information exchange for invoking functions corresponding to capabilities of said iot devices | |
CN114915834A (zh) | 一种投屏的方法和电子设备 | |
CN114465990A (zh) | 通信方法、系统、工作终端及网络摄像机 | |
US20220078456A1 (en) | Method and apparatus for video transcoding | |
US20230283815A1 (en) | Method and System for Adding Subtitles and/or Audio |
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 |