CN116132434A - Method and system for sharing notebook camera equipment to cloud desktop - Google Patents

Method and system for sharing notebook camera equipment to cloud desktop Download PDF

Info

Publication number
CN116132434A
CN116132434A CN202211720635.XA CN202211720635A CN116132434A CN 116132434 A CN116132434 A CN 116132434A CN 202211720635 A CN202211720635 A CN 202211720635A CN 116132434 A CN116132434 A CN 116132434A
Authority
CN
China
Prior art keywords
cloud desktop
video data
sharing
notebook
camera device
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
CN202211720635.XA
Other languages
Chinese (zh)
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.)
Nanjing Astute Tec Co ltd
Original Assignee
Nanjing Astute Tec 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 Nanjing Astute Tec Co ltd filed Critical Nanjing Astute Tec Co ltd
Priority to CN202211720635.XA priority Critical patent/CN116132434A/en
Publication of CN116132434A publication Critical patent/CN116132434A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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 or manipulating encoded video stream 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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Studio Devices (AREA)

Abstract

The invention relates to the technical field of cloud desktops, in particular to a method and a system for sharing notebook camera equipment to a cloud desktop, wherein the method comprises the following steps: the client module is used for controlling the notebook to initialize and the cloud desktop establishes a connection channel; the server module is used for controlling the cloud desktop to be initialized; the client module collects and encodes video data of the local notebook camera equipment and sends the video data to the cloud desktop; the server module receives, decodes and stores the video data. The invention avoids the drive and realizes the sharing from the notebook camera equipment to the cloud desktop.

Description

Method and system for sharing notebook camera equipment to cloud desktop
Technical Field
The invention relates to the technical field of cloud desktops, in particular to a method and a system for sharing notebook camera equipment to a cloud desktop.
Background
The camera device is one of the most common video input devices in Windows computer desktops, and has wide application in social, conference, live broadcast and other scenes. When a common PC is used, the external camera equipment can be used by video acquisition application software in various fields only by inserting the external camera equipment into a USB or other special interfaces, and if the camera equipment needs to be installed with a special driver, the camera equipment needs to be installed on the PC and then used. However, the Windows cloud desktop located on the internet may be initiated and used by a plurality of PC computers, notebooks and other clients, and local devices of the clients are various, if a scheme of transmitting the local USB cameras to the cloud desktop through a virtual USB bus redirection method is directly selected, firstly, only one camera is used by the cloud desktop at the same time, and too many device drivers are not suitable to be installed, so that conflicts may exist; secondly, the notebook computer serving as the cloud desktop client is usually provided with camera equipment, and an external USB camera is not adopted, so that the camera of the local notebook computer cannot be used in the cloud desktop through a USB peripheral redirection method.
The use of a common or low-profile notebook computer client to access a high-profile cloud desktop located on a private cloud or public cloud to perform audio and video related operations of a high-performance requirement scene is already a common cloud desktop consumption scene.
In view of this, providing a method and system for sharing a notebook camera device to a cloud desktop is a problem to be solved in the art.
Disclosure of Invention
The invention aims to provide a method and a system for sharing a notebook camera device to a cloud desktop, which are free of a driver and realize the sharing of the notebook camera device to the cloud desktop.
In order to solve the technical problems, the technical scheme of the invention is as follows:
a method of sharing a notebook camera device to a cloud desktop, comprising:
s100: the client module is used for controlling the notebook to initialize and the cloud desktop establishes a connection channel;
s200: the server module is used for controlling the cloud desktop to be initialized;
s300: the client module collects and encodes video data of the local notebook camera equipment and sends the video data to the cloud desktop; s400: the server module receives, decodes and stores the video data.
Further, step S100 includes:
s110: acquiring cloud desktop connection parameters;
s120: establishing a connection channel with a cloud desktop;
s130: and establishing and starting a video data acquisition thread.
Further, in step S110, the parameters include an address and a port number.
Further, in step S120, the connection channel is a TCP channel.
Further, step S200 includes:
s210: monitoring a preset address and a preset port number;
s220: receiving a connection from a client;
s230: the video data receiving thread is started.
Further, in step S300, the client module collects video data using a video data collection thread, specifically including:
s310: reading a data frame from the camera according to the equipment index number;
s320: encoding the data frames into YUV video data packets;
s330: and returning to the step S310 for cyclic collection after being sent to the cloud desktop.
Further, in step S400, the server module uses the video data receiving thread to receive data, which specifically includes: s410: creating a video buffer area queue;
s420: receiving a video data packet;
s430: decoding the video data packet through a decoder to obtain a decoded data frame;
s440: and writing the data frame into a video buffer queue, judging whether the decoder is idle, returning to the step S420 to continuously receive the data packet if the decoder is idle, and returning to the step S430 if the decoder is idle.
Further, in steps S300 and S400, the H264 protocol is used for encoding and decoding.
A system for sharing notebook camera equipment to a cloud desktop comprises a client module and a server module;
the client module is used for initializing and establishing a connection channel of the cloud desktop; the video data acquisition module is used for acquiring and encoding video data of the local notebook camera equipment and then sending the video data to the cloud desktop;
the server module is used for initializing; for receiving, decoding and storing video data in a cloud desktop.
The invention has the following beneficial effects:
according to the invention, video data acquisition and coding are carried out on a local camera of a notebook computer through a client module, the video data are transmitted to a cloud desktop through a TCP network, and the data are decoded through a server module in the cloud desktop. According to the invention, the camera equipment is the camera equipment which is arranged above the screen and is self-contained in the notebook computer and is not connected to the USB bus, and the camera equipment kernel driver is not required to be installed in the remote cloud desktop, equipment simulation and data rendering are only required to be carried out in a user mode, so that the non-USB camera which is self-contained in the local notebook computer can be transmitted to the cloud desktop, and the local notebook computer can be normally used by video recording application software such as a common network conference in the cloud desktop, so that the camera sharing scheme of cloud desktop users is met, various driving installation processes are omitted, and instability is brought to a cloud desktop system.
Drawings
FIG. 1 is a schematic overall flow diagram of the method of the present invention;
FIG. 2 is a schematic flow chart of client module initialization in the method of the present invention;
FIG. 3 is a schematic flow chart of the initialization of the server module in the method of the present invention;
FIG. 4 is a schematic flow chart of a video data acquisition thread in the method of the present invention;
fig. 5 is a schematic flow chart of a video data receiving thread in the method of the present invention.
Fig. 6 is a schematic diagram of the system of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention will be described in further detail with reference to the accompanying drawings and specific embodiments.
Referring to fig. 1, the present invention is a method for driving a shared notebook camera device to a cloud desktop without mounting, comprising:
s100: the client module is used for controlling the notebook to initialize and the cloud desktop establishes a connection channel;
s200: the server module is used for controlling the cloud desktop to be initialized;
s300: the client module collects and encodes video data of the local notebook camera equipment and sends the video data to the cloud desktop; s400: the server module receives, decodes and stores the video data.
The respective steps in fig. 1 are specifically described below.
In step S100, a client module for controlling a notebook initializes and a cloud desktop establishes a connection channel.
Specifically, two main working threads are created in the initialization process of the client module, namely a video data acquisition thread which is responsible for video acquisition and coding transmission, and a device management thread which is responsible for processing and receiving device control messages from a remote desktop;
referring to fig. 2, the initialization procedure of step S100 includes:
s110: acquiring cloud desktop connection parameters; the parameters include address and port number;
s120: establishing a connection channel with a cloud desktop; the connection channel is a TCP channel;
s130: establishing and starting a video data acquisition thread; and establishing and starting a device management thread.
In step S200, a server module for controlling a cloud desktop is initialized.
Referring to fig. 3, step S200 includes:
s210: monitoring a preset address and a preset port number;
s220: receiving a connection from a client;
s230: the video data receiving thread is started.
In step S300, the client module collects and encodes video data of the local notebook camera device and sends the video data to the cloud desktop.
Referring to fig. 4, the client module collects video data using a video data collection thread, and performs a core task of the client. The video data acquisition thread is created when the client module is initialized. The step S300 specifically includes:
s310: reading a data frame from the camera according to the equipment index number;
s320: encoding the data frames into YUV video data packets;
s330: after being sent to the cloud desktop, the cloud desktop returns to the step S310 to carry out cyclic collection;
in this embodiment, the video data acquisition thread is based on an OpenCV library, and its video capture object may perform data acquisition according to the device index number, without depending on the PCI/USB bus type of the device.
In step S400, the server module receives, decodes and stores video data.
Referring to fig. 5, the server module receives data using a video data receiving thread, feeds each received data packet to a decoder, and reads the decoded image frame from the decoder; the step S400 specifically includes:
s410: creating a video buffer area queue;
s420: receiving a video data packet;
s430: decoding the video data packet through a decoder to obtain a decoded data frame;
s440: and writing the data frame into a video buffer queue, judging whether the decoder is idle, returning to the step S420 to continuously receive the data packet if the decoder is idle, and returning to the step S430 if the decoder is idle.
In steps S300 and S400, the H264 protocol is used for encoding and decoding.
In this embodiment, the video buffer is provided by a virtual camera device using directxshowm based on a shared memory mechanism, and is responsible for reading the decoded image frames from the buffer and delivering to DirecxShow Source Filter for simulating the camera. Microsoft's DirectShow (dshow) provides a universal interface for software and hardware to realize its own filters, and applications based on DirectShow control each software and hardware device by controlling each Filter, which can realize the simulation of audio and video devices in user mode.
The invention realizes a Source Filter based on dshow, so that the Source Filter can stably transmit video streams outwards through own output Pin like the filters corresponding to other physical cameras, and thus, the downstream Filter can call our virtual camera Filter like calling the camera Filter. The developed camera Filter component is deployed inside the cloud desktop and registered in a registry of the Windows cloud desktop, so that one camera device can be simulated inside the cloud desktop for various application software.
In another embodiment, referring to fig. 6, the present invention further provides a system for sharing a notebook camera device to a cloud desktop, including a client module and a server module;
the client module is used for realizing the steps S100 and S300, namely, initializing and cloud desktop establishment connection channels; the video data acquisition module is used for acquiring and encoding video data of the local notebook camera equipment and then sending the video data to the cloud desktop;
the server module is used for realizing the steps S200 and S400, namely, initializing; for receiving, decoding and storing video data in a cloud desktop.
The invention is not related in part to the same or implemented in part by the prior art.
The foregoing is a further detailed description of the invention in connection with specific embodiments, and it is not intended that the invention be limited to such description. It will be apparent to those skilled in the art that several simple deductions or substitutions may be made without departing from the spirit of the invention, and these should be considered to be within the scope of the invention.

Claims (9)

1. A method of sharing a notebook camera device to a cloud desktop, characterized by: comprising S100: the client module is used for controlling the notebook to initialize and the cloud desktop establishes a connection channel;
s200: the server module is used for controlling the cloud desktop to be initialized;
s300: the client module collects and encodes video data of the local notebook camera equipment and sends the video data to the cloud desktop;
s400: the server module receives, decodes and stores the video data.
2. The method of sharing a notebook camera device to a cloud desktop of claim 1, wherein: the step S100 includes:
s110: acquiring cloud desktop connection parameters;
s120: establishing a connection channel with a cloud desktop;
s130: and establishing and starting a video data acquisition thread.
3. The method of sharing a notebook camera device to a cloud desktop of claim 2, wherein: in step S110, the parameters include an address and a port number.
4. The method of sharing a notebook camera device to a cloud desktop of claim 2, wherein: in step S120, the connection channel is a TCP channel.
5. The method of sharing a notebook camera device to a cloud desktop of claim 1, wherein: step S200 includes:
s210: monitoring a preset address and a preset port number;
s220: receiving a connection from a client;
s230: the video data receiving thread is started.
6. The method of sharing a notebook camera device to a cloud desktop of claim 1, wherein: in step S300, the client module collects video data using a video data collection thread, specifically including:
s310: reading a data frame from the camera according to the equipment index number;
s320: encoding the data frames into YUV video data packets;
s330: and returning to the step S310 for cyclic collection after being sent to the cloud desktop.
7. The method of sharing a notebook camera device to a cloud desktop of claim 1, wherein: in step S400, the server module receives data using a video data receiving thread, specifically including:
s410: creating a video buffer area queue;
s420: receiving a video data packet;
s430: decoding the video data packet through a decoder to obtain a decoded data frame;
s440: and writing the data frame into a video buffer queue, judging whether the decoder is idle, returning to the step S420 to continuously receive the data packet if the decoder is idle, and returning to the step S430 if the decoder is idle.
8. The method of sharing a notebook camera device to a cloud desktop of claim 1, wherein: in steps S300 and S400, the H264 protocol is used for encoding and decoding.
9. A system for sharing a notebook camera device to a cloud desktop, characterized by: the system comprises a client module and a server module;
the client module is used for initializing and establishing a connection channel of the cloud desktop; the video data acquisition module is used for acquiring and encoding video data of the local notebook camera equipment and then sending the video data to the cloud desktop;
the server module is used for initializing; for receiving, decoding and storing video data in a cloud desktop.
CN202211720635.XA 2022-12-30 2022-12-30 Method and system for sharing notebook camera equipment to cloud desktop Pending CN116132434A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211720635.XA CN116132434A (en) 2022-12-30 2022-12-30 Method and system for sharing notebook camera equipment to cloud desktop

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211720635.XA CN116132434A (en) 2022-12-30 2022-12-30 Method and system for sharing notebook camera equipment to cloud desktop

Publications (1)

Publication Number Publication Date
CN116132434A true CN116132434A (en) 2023-05-16

Family

ID=86298612

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211720635.XA Pending CN116132434A (en) 2022-12-30 2022-12-30 Method and system for sharing notebook camera equipment to cloud desktop

Country Status (1)

Country Link
CN (1) CN116132434A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117319592A (en) * 2023-12-01 2023-12-29 银河麒麟软件(长沙)有限公司 Cloud desktop camera redirection method, system and medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117319592A (en) * 2023-12-01 2023-12-29 银河麒麟软件(长沙)有限公司 Cloud desktop camera redirection method, system and medium
CN117319592B (en) * 2023-12-01 2024-03-26 银河麒麟软件(长沙)有限公司 Cloud desktop camera redirection method, system and medium

Similar Documents

Publication Publication Date Title
US20180262546A1 (en) Media Acceleration for Virtual Computing Services
US6535238B1 (en) Method and apparatus for automatically scaling processor resource usage during video conferencing
US20180330590A1 (en) Transcoding mixing and distribution system and method for a video security system
US8648843B2 (en) USB image transmission system and device
US9146884B2 (en) Push pull adaptive capture
CN1304969C (en) Image-display system and method, image-display program, projector and projector-control method, and projector-control program
US7286132B2 (en) System and methods for using graphics hardware for real time two and three dimensional, single definition, and high definition video effects
US20120236109A1 (en) Method for sharing resource of a videoconference using a video conferencing system
US20090323799A1 (en) System and method for rendering a high-performance virtual desktop using compression technology
CN112843676B (en) Data processing method, device, terminal, server and storage medium
TWI495330B (en) System and method for efficiently streaming digital video
CN102664939A (en) Method and device for mobile terminal of screen mirror image
CN116132434A (en) Method and system for sharing notebook camera equipment to cloud desktop
US6359643B1 (en) Method and apparatus for signaling a still image capture during video capture
US8984540B2 (en) Multi-user computer system
WO2021084269A1 (en) System and method for constructing filter graph-based media processing pipelines in a browser
CN1957323A (en) Display apparatus and display system using the same
CN115052043B (en) Video transmission method, electronic equipment, device and medium of cloud desktop
CN107872683B (en) Video data processing method, device, equipment and storage medium
CN210670365U (en) Video pre-monitoring system
CN115174917A (en) H264-based video display method and device
CN115022725A (en) Video playing method and device
US20040194145A1 (en) Leveraging PC processing power to handle CPU intensive tasks
CN116546262A (en) Data processing method, device, equipment and storage medium
US20120219070A1 (en) System and method for a thin-client terminal system with a local screen buffer using a serial bus

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