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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000013480 data collection Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- 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/60—Network 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/63—Control 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/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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
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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117319592A (en) * | 2023-12-01 | 2023-12-29 | 银河麒麟软件(长沙)有限公司 | Cloud desktop camera redirection method, system and medium |
-
2022
- 2022-12-30 CN CN202211720635.XA patent/CN116132434A/en active Pending
Cited By (2)
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 |