CN112422591A - Method and device for transmitting video stream data and electronic equipment - Google Patents

Method and device for transmitting video stream data and electronic equipment Download PDF

Info

Publication number
CN112422591A
CN112422591A CN202110096050.4A CN202110096050A CN112422591A CN 112422591 A CN112422591 A CN 112422591A CN 202110096050 A CN202110096050 A CN 202110096050A CN 112422591 A CN112422591 A CN 112422591A
Authority
CN
China
Prior art keywords
stream data
video
video stream
terminal
server
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.)
Granted
Application number
CN202110096050.4A
Other languages
Chinese (zh)
Other versions
CN112422591B (en
Inventor
黄杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Tuoke Network Technology Co ltd
Original Assignee
Beijing Tuoke Network Technology 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 Beijing Tuoke Network Technology Co ltd filed Critical Beijing Tuoke Network Technology Co ltd
Priority to CN202110096050.4A priority Critical patent/CN112422591B/en
Publication of CN112422591A publication Critical patent/CN112422591A/en
Application granted granted Critical
Publication of CN112422591B publication Critical patent/CN112422591B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The invention provides a method, a device and electronic equipment for transmitting video stream data, wherein the method comprises the following steps: establishing communication connection with a target classroom at a server side; determining the number of effective terminals, and determining the corresponding video resolution according to the number of the effective terminals; and generating first video stream data corresponding to the video resolution, sending the first video stream data to the server, and receiving second video stream data which is forwarded by the server and uploaded to the server by the second terminal. According to the method, the device and the electronic equipment for transmitting the video stream data, provided by the embodiment of the invention, the video resolution is actively adjusted according to the number of the effective terminals, the video stream data with high resolution can be prevented from being unintendedly uploaded to the server, the terminal can also receive other video stream data after the video resolution is adjusted, network congestion caused by excessive number of the effective terminals can be avoided, and the video stream data can be smoothly and stably transmitted between the terminal and the server.

Description

Method and device for transmitting video stream data and electronic equipment
Technical Field
The present invention relates to the field of video coding technologies, and in particular, to a method and an apparatus for transmitting video stream data, an electronic device, and a computer-readable storage medium.
Background
In a real-time network such as online education, media data such as video is generally transmitted through a streaming technology. The streaming media technology is a technology for compressing a series of media data and then transmitting the data in a streaming manner on a network in a segmented manner to realize real-time transmission of video and audio on the network for viewing. The viewing experience has a direct relationship with the smooth and stable streaming media. Therefore, when using this technique, to achieve better viewing effect, it is necessary to ensure the smooth and stable streaming media as much as possible.
And factors influencing the smooth and stable of the streaming media are many, so that the media data are difficult to be effectively transmitted smoothly and stably.
Disclosure of Invention
In order to solve the existing technical problems, embodiments of the present invention provide a method, an apparatus, an electronic device, and a computer-readable storage medium for transmitting video stream data.
In a first aspect, an embodiment of the present invention provides a method for transmitting video stream data, where the method is performed by a first terminal, and includes:
establishing communication connection with a target classroom at a server side;
determining the number of effective terminals, and determining the corresponding video resolution according to the number of the effective terminals; the number of the effective terminals is the number of the effective terminals which are in communication connection with the target classroom, and the number of the effective terminals and the video resolution ratio are in a negative correlation relationship;
generating first video stream data corresponding to the video resolution, sending the first video stream data to a server, and receiving second video stream data which is transmitted by the server and uploaded to the server by a second terminal, wherein a communication connection is established between the second terminal and the target classroom.
In a second aspect, an embodiment of the present invention further provides an apparatus for transmitting video stream data, where the apparatus is disposed at a first terminal, and includes:
the communication module is used for establishing communication connection with a target classroom at a server side;
the resolution determination module is used for determining the number of effective terminals and determining the corresponding video resolution according to the number of the effective terminals; the number of the effective terminals is the number of the effective terminals which are in communication connection with the target classroom, and the number of the effective terminals and the video resolution ratio are in a negative correlation relationship;
and the transceiving module is used for generating first video stream data corresponding to the video resolution, sending the first video stream data to a server, and receiving second video stream data which is transmitted by the server and uploaded to the server by a second terminal, wherein the second terminal is in communication connection with the target classroom.
In a third aspect, an embodiment of the present invention provides an electronic device, including a bus, a transceiver, a memory, a processor, and a computer program stored on the memory and executable on the processor, where the transceiver, the memory, and the processor are connected via the bus, and when the computer program is executed by the processor, the method for transmitting video stream data according to any one of the above-mentioned steps is implemented.
In a fourth aspect, the present invention further provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the steps in the method for transmitting video stream data according to any one of the above.
According to the method, the device, the electronic equipment and the computer readable storage medium for transmitting the video stream data, when the video stream data needs to be uploaded, the video resolution is actively adjusted according to the number of the effective terminals, the situation that the high-resolution video stream data is uploaded to a server unconsciously can be avoided, the terminals can also receive other video stream data after the video resolution is adjusted, network congestion caused by excessive number of the effective terminals can be avoided, and the video stream data can be smoothly and stably transmitted between the terminals and the server. In addition, the first terminal can conveniently and quickly determine the specific value of the effective terminal number, so that the required video resolution can be quickly determined, and the uploaded video stream data can be conveniently adjusted.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments or the background art of the present invention, the drawings required to be used in the embodiments or the background art of the present invention will be described below.
Fig. 1 is a flow chart illustrating a method for transmitting video stream data according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of an apparatus for transmitting video stream data according to an embodiment of the present invention;
fig. 3 is a schematic structural diagram of an electronic device for performing a method for transmitting video stream data according to an embodiment of the present invention.
Detailed Description
In the description of the embodiments of the present invention, it should be apparent to those skilled in the art that the embodiments of the present invention can be embodied as methods, apparatuses, electronic devices, and computer-readable storage media. Thus, embodiments of the invention may be embodied in the form of: entirely hardware, entirely software (including firmware, resident software, micro-code, etc.), a combination of hardware and software. Furthermore, in some embodiments, embodiments of the invention may also be embodied in the form of a computer program product in one or more computer-readable storage media having computer program code embodied in the medium.
The computer-readable storage media described above may take any combination of one or more computer-readable storage media. The computer-readable storage medium includes: an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of the computer-readable storage medium include: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only Memory (ROM), an erasable programmable read-only Memory (EPROM), a Flash Memory, an optical fiber, a compact disc read-only Memory (CD-ROM), an optical storage device, a magnetic storage device, or any combination thereof. In embodiments of the invention, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, device, or apparatus.
The computer program code embodied on the computer readable storage medium may be transmitted using any appropriate medium, including: wireless, wire, fiber optic cable, Radio Frequency (RF), or any suitable combination thereof.
Computer program code for carrying out operations for embodiments of the present invention may be written in assembly instructions, Instruction Set Architecture (ISA) instructions, machine related instructions, microcode, firmware instructions, state setting data, integrated circuit configuration data, or in one or more programming languages, including an object oriented programming language, such as: java, Smalltalk, C + +, and also include conventional procedural programming languages, such as: c or a similar programming language. The computer program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be over any of a variety of networks, including: a Local Area Network (LAN) or a Wide Area Network (WAN), which may be connected to the user's computer, may be connected to an external computer.
The method, the device and the electronic equipment are described through the flow chart and/or the block diagram.
It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions. These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing apparatus to function in a particular manner. Thus, the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The embodiments of the present invention will be described below with reference to the drawings.
Fig. 1 shows a flowchart of a method for transmitting video stream data according to an embodiment of the present invention. The method is performed by a first terminal capable of uploading video stream data, and as shown in fig. 1, the method comprises:
step 101: and establishing communication connection with a target classroom on the server side.
In the embodiment of the invention, a server for realizing online education is arranged in advance, one side of the server is provided with one or more virtual classrooms, and each classroom is used for supporting one or more terminals to access the classroom, so that the one or more terminals can realize communication in the same classroom. In this embodiment, when the first terminal needs to access a classroom on the server side, a communication connection may be established with the classroom, where the classroom is a target classroom.
Step 102: determining the number of effective terminals, and determining the corresponding video resolution according to the number of the effective terminals; the number of the effective terminals is the number of the effective terminals which are in communication connection with the target classroom, and the number of the effective terminals and the video resolution are in a negative correlation relationship.
In the embodiment of the invention, each classroom can be connected with a plurality of terminals, so the target classroom can also establish communication connection with one or more terminals, and part or all of the terminals can be used as effective terminals. Specifically, in this embodiment, all terminals that have established communication connection with the target classroom may be used as valid terminals; or, since some terminals may only establish communication connection with the teacher but not upload videos, all terminals that have already established communication connection with the target classroom and upload video stream data may be used as valid terminals at this time; in addition, the first terminal may be an active terminal or may not be an active terminal, and may be determined based on actual conditions. Preferably, the terminals which have established communication connection with the target classroom and upload the video stream data are used as valid terminals, and the number of the valid terminals at this time is the number of the terminals.
In addition, the number of the effective terminals corresponds to the corresponding video resolution, and the two are in a negative correlation relationship, that is, the larger the number of the effective terminals is, the smaller the video resolution is. The "negative correlation" in the embodiment of the present invention refers to a negative correlation as a whole, and is not necessarily limited to a strict negative correlation; that is, as the number of active terminals increases, the video resolution may be immediately decreased or may be kept unchanged, and then decreased when the number of active terminals increases to a certain extent.
Step 103: and generating first video stream data corresponding to the video resolution, sending the first video stream data to the server, and receiving second video stream data which is forwarded by the server and uploaded to the server by the second terminal. And communication connection is established between the second terminal and the target classroom, namely the first terminal and the second terminal access the same target classroom.
In the embodiment of the invention, the larger the number of the effective terminals is, the more terminals currently exist (or possibly exist) upload video stream data to the server; although the process of uploading the second video stream data to the target classroom by the other second terminals does not affect the uploading of the first video stream data to the target classroom by the local first terminal, because the first terminal receives the second video stream data uploaded by the other terminals through the server, when the number of the effective terminals is large, the first terminal receives more second video stream data, and thus the communication quality between the first terminal and the server is affected. When the communication in the downlink direction needs to be adjusted, the speed of the downlink communication is generally adjusted by the server, or the speed of the downlink communication is adjusted by the first terminal (for example, the definition is reduced); in the embodiment of the present invention, the first terminal actively adjusts the uplink communication mode to avoid the problem of poor communication quality between the terminal and the server.
Specifically, when the first terminal needs to upload video stream data to the server, that is, when the first video stream data needs to be uploaded, the first terminal generates first video stream data according to a video resolution which is in a negative correlation relationship with the number of the effective terminals, that is, the resolution of the first video stream data and the number of the effective terminals are in a negative correlation relationship, and sends the first video stream data to the server, so that the server can forward the first video stream data to other terminals (such as a second terminal) in the same target classroom; therefore, when the number of the effective terminals is increased, the first terminal and the second terminal are located in the same target classroom, and the resolution of the first video stream data is actively reduced by the first terminal, so that the second terminal can receive the video stream data with lower resolution when receiving the video stream data (including the first video stream data) of a plurality of terminals in the target classroom, thereby receiving the video stream data of more terminals more smoothly, and reducing the communication pressure between the second terminal and the server. Meanwhile, the first video does not need to pointlessly upload the high-resolution first video streaming data to the server, and the communication pressure of an uplink channel from the first terminal to the server can be reduced. Similarly, the second terminal and the first terminal execute the same policy for determining the video resolution, that is, the second terminal also determines the second video stream data according to the number of the effective terminals, and the resolution of the second video stream data and the number of the effective terminals are also in a negative correlation relationship, so that when the first terminal receives the second video stream data of one or more second terminals, the resolution of the second video stream data can be gradually reduced along with the increase of the number of the effective terminals, thereby reducing the influence on the downlink channel between the first terminal and the server due to the increase of the number of the effective terminals. In addition, the server only needs to forward the video stream data, and at the moment, the high-resolution video stream data does not need to be converted into the low-resolution video stream data, so that the processing amount of the server can be reduced.
According to the method for transmitting the video stream data, when the video stream data needs to be uploaded, the video resolution is actively adjusted according to the number of the effective terminals, the situation that the high-resolution video stream data is unintendedly uploaded to the server can be avoided, the terminal can also receive other video stream data after the video resolution is adjusted, network congestion caused by excessive number of the effective terminals can be avoided, and the video stream data can be smoothly and stably transmitted between the terminal and the server. In addition, the first terminal can conveniently and quickly determine the specific value of the effective terminal number, so that the required video resolution can be quickly determined, and the uploaded video stream data can be conveniently adjusted.
On the basis of the foregoing embodiment, the step 102 "determining the number of active terminals and determining the corresponding video resolution according to the number of active terminals" includes:
step A1: and if the current effective terminals which are in communication connection with the target classroom or are disconnected exist, re-determining the number of the effective terminals.
In the embodiment of the present invention, the step 102 may be executed at intervals to determine the number of valid terminals in time. If the valid terminals are in communication connection with the target classroom within the current period of time and/or the valid terminals are in communication connection with the target classroom, the number of the valid terminals needs to be determined again at the moment.
Step A2: a plurality of consecutive number ranges are set in advance, and the correspondence between the number ranges and the video resolution is determined.
Step A3: and determining an effective quantity range in which the effective terminal quantity falls, and determining the video resolution corresponding to the effective quantity range according to the corresponding relation.
In the embodiment of the invention, a plurality of quantity ranges are preset, and each quantity range corresponds to a corresponding video resolution; the number ranges are continuous, that is, the definite limits (supremum or infimum) of two adjacent number ranges are the same, and the number ranges can form a continuous range interval, so that the number of valid terminals with any number can fall into a certain number range, that is, a valid number range. For example, the consecutive number ranges are [0,3], (3,6], (6,12], (12,20], (20, + ∞) in sequence, each number range corresponds to one video resolution, if the current number of active terminals is 10, the current number of active terminals falls within (6, 12), the corresponding number range is (6, 12), and the video resolution corresponding to (6, 12) is the video resolution corresponding to the number of active terminals 10.
Optionally, the step a3 of determining the effective number range in which the effective number of terminals falls and determining the video resolution corresponding to the effective number range according to the correspondence includes:
step A31: if the first number is larger than the second number, the first preset value a in the first preset array is setiAs a definition of the corresponding range of numbers. If the first number is smaller than the second number, the second preset value b in the second preset array is setiAs a definition of the corresponding range of numbers.
The first number is the number of the effective terminals which are in communication connection with the target classroom at present, and the second number is the number of the effective terminals which are in communication connection with the target classroom at present; first preset value aiGreater than a corresponding second preset value biAnd a first preset value aiCorresponding second preset value biThe difference between them is greater than 1.
Step A32: when the effective quantity range in which the effective terminal quantity falls is changed, determining the video resolution corresponding to the effective quantity range according to the corresponding relation; and if the effective number range in which the effective terminal number falls is not changed, the video resolution is not updated.
In the embodiment of the invention, in the current time period, one or more effective terminals establishing communication connection with a target classroom may exist, and the number of the effective terminals is used as a first number; likewise, there may be one or more active terminals that are communicatively disconnected from the target classroom, the number of such active terminals being the second number. If the first number is equal to the second number, the number of active terminals remains unchanged, and the video resolution does not need to be re-determined. If the first number is different from the second number, the video resolution may need to be adjusted; furthermore, since the number of active terminals may change in real time, there may be cases where the number of active terminals changes back and forth between two number intervals, resulting in the determined video resolution changing back and forth. For example, the number range includes (3,6], (6, 12), if the number of active terminals is constantly changed between 6 or 7, the range of active terminals is likely to be constantly changed, but the change of the number of active terminals is not large, and the adjustment of the video resolution only increases the processing load of the first terminal.
In particular, a plurality of ranges of quantities that are consecutive may be represented by respective bounds; such as [0,3]]、(3,6]、(6,12]、(12,20]And (20, + ∞) with definite boundaries of 0,3, 6,12, and 20 in order. The embodiment of the invention uses a preset array comprising a plurality of preset values to represent a plurality of quantity ranges, and each preset value corresponds to a definite boundary; the preset values in the preset array are arranged according to the size sequence. If the first number is larger than the second number, the number of the effective terminals is increased, and the first preset value a with a larger value is used for indicating that more terminals are accessed to the target classroom at presentiAs a definition of a range of values; conversely, if the first number is smaller than the second number, the number of the effective terminals is decreased, and the second preset value b with a smaller value is usediAs the limit of the numerical range, after determining the corresponding numerical range, it is determined whether the effective number range in which the effective number of terminals falls changes.
For example, the first predetermined array may be {0,4,7,13,21}, the second predetermined array may be {0,2,5,11,19}, if the number of active terminals is changed from 6 to 7, a value range is determined based on the first predetermined array, and both 6 and 7 fall within the value range (4, 7), i.e., the value range in which the number of active terminals falls does not change, at this time, the video resolution is not updated, and then, if the number of active terminals is changed from 7 to 6, a value range is determined based on the second predetermined array, and both 6 and 7 fall within the value range (5, 11), at this time, the video resolution may not be updated, so that the video resolution may be prevented from being updated back and forth when the number of active terminals fluctuates in a small range.
On the basis of the above embodiment, the step 103 "generating the first video stream data corresponding to the video resolution" includes:
step B1: after a highlight display instruction sent by a server is received, the video resolution is updated to the preset maximum resolution, and first video stream data corresponding to the updated video resolution is generated.
In the embodiment of the invention, video stream data with the same resolution can be uploaded among a plurality of terminals accessed into a target classroom, one or more terminals can be highlighted, and the highlighted terminals upload the video stream data with a larger video resolution. For example, if the first terminal is a teacher terminal used by a teacher, or the first terminal is a terminal student terminal that needs to be highlighted, for example, the student terminal is answering a question posed by a teacher, etc., at this time, the first terminal generates first video stream data according to a preset maximum resolution and uploads the first video stream data to the server, so that other terminals can receive the first video stream data with a higher resolution.
Optionally, before the step 103 "receiving the second video stream data uploaded to the server by the second terminal", the method further includes:
step C1: and determining the maximum video number supported by the first terminal according to the equipment parameters of the first terminal, and sending the maximum video number to the server.
Step C2: the server is instructed to forward second video stream data uploaded to the server by a second terminal, the number of the second terminal does not exceed the maximum video number, according to the priority sequence of the terminals; the priority of the teacher terminal is higher than that of the student terminals, and the priority of the highlighted student terminals is higher than that of the non-highlighted student terminals.
In the embodiment of the invention, different terminals have different performances, when the number of the effective terminals is large, the terminals with poor performances are difficult to simultaneously display the video stream data of all the effective terminals, and the selective display is realized through the equipment parameters of the terminals; the device parameter is a hardware performance of the device, and may specifically include a central processing unit model, a master frequency, a memory, and the like. In the embodiment of the present invention, different terminals may have different priorities, and the priority order is: teacher terminal > highlighted student terminal > non-highlighted student terminal. When the first terminal needs to display second video stream data uploaded by other second terminals, the supportable maximum video number of the first terminal is determined according to local equipment parameters, and the higher the equipment parameters are, the larger the maximum video number is. When the server issues the second video stream data, the second video stream data with high priority is preferentially issued on the premise of ensuring that the maximum video number is not exceeded. For example, if the maximum video number is 1, only the video stream data of the teacher terminal is forwarded to the first terminal.
On the basis of the foregoing embodiment, the step 103 "sending the first video stream data to the server, and receiving the second video stream data, which is forwarded by the server and uploaded to the server by the second terminal" may include:
step D1: and sending the first video stream data to the server, and instructing the server to record the state of the first video stream data, wherein the state comprises a released state and a highlighted state.
In the embodiment of the invention, the server can record the state of each terminal connected to the target classroom; if the terminal does not upload the video stream data, the state is an unreleased state; if the terminal uploads the video stream data, the state (or the state of the uploaded video stream data) is a released state; in addition, if the video data is highlighted, the state is a highlighted state.
Step D2: when the super-speed mode is started, receiving second video stream data which are transmitted by the server, uploaded to the server by the second terminal and in a highlighted state, and stopping receiving the video stream data in a released state; when the second terminal is highlighted, the second video stream data uploaded by the second terminal is converted from a published state to a highlighted state; and when the second terminal stops highlighting, the second video stream data uploaded by the second terminal is converted from the highlighted state to the published state.
Step D3: and when the super-speed mode is closed, receiving second video stream data which are transmitted by the server and uploaded to the server by the second terminal.
In the embodiment of the invention, under the special conditions of network abnormity and the like, the number of transmitted video stream data can be reduced by starting the top speed mode, thereby reducing the requirement on the network quality. When the speed mode is started, the first terminal only receives second video stream data forwarded by the server in a highlighted state, and the rest video stream data which are not highlighted (are in a published state) are not received by the first terminal; the first terminal may not actively receive the video stream data, or the server does not forward the video stream data. In the process of the top speed mode, the first terminal only receives second video stream data which is transmitted by the server, uploaded to the server by the second terminal and in a highlighted state; at this time, if a second terminal changes from the published state to the highlighted state, the first terminal receives the second video stream data of the second terminal. And when the super-speed mode is closed, the normal state is recovered, and the second video stream data can be received according to a normal strategy.
Alternatively, when the video stream data uploaded by the teacher terminal needs to be highlighted, the teacher terminal may be instructed to upload the video stream data of the maximum resolution according to the above step B1; alternatively, the teacher terminal may upload video stream data of a normal resolution, and thereafter, realize enlargement of the resolution of the video stream data through the following steps E1-E5. After step 103 "receiving the second video stream data uploaded to the server by the second terminal" forwarded by the server, the method further comprises steps E1-E5:
step E1: and if the second terminal is a teacher terminal, extracting a key video frame in the second video stream data uploaded by the teacher terminal, and determining the ratio of the target resolution to the resolution of the key video frame, wherein the target resolution is the resolution required when the second video stream data is displayed.
In the embodiment of the invention, key video frames are extracted from the second video stream data uploaded by the teacher terminal, namely the key video frames, and the whole second video stream data is amplified by amplifying the key video frames. In the embodiment of the invention, the multiple needing to be amplified, namely the ratio of the target resolution required during display to the original resolution of the key video frame, is determined. For example, if the resolution of the key video frame is 640 × 360, the ratio is 2, i.e., the key video frame needs to be enlarged by 2 times.
Step E2: dividing the key video frame into a plurality of sub video frames according to the area, generating a sub reference frame after reducing the ratio of the sub video frames, and generating a sub target frame after amplifying the ratio of the sub video frames.
Step E3: aligning the center of the sub-reference frame with the pixel point of the sub-video frame and performing convolution processing to update the pixel point of the sub-video frame; and after all pixel points of the sub-video frame are subjected to convolution processing with the reference frame, a new sub-video frame is generated.
Step E4: aligning the center of the new sub-video frame with the pixel point of the sub-target frame and performing convolution processing to update the pixel point of the sub-target frame; and performing convolution processing on all pixel points of the sub-target frame and the new sub-video frame to generate a new sub-target frame.
In the embodiment of the invention, firstly, a key video frame is divided according to regions, and each region corresponds to one sub video frame; for example, dividing a key video frame into 10 × 10 regions can be divided into 100 sub video frames. Let the ith sub-video frame be F0iThe sub-video frame F0iBy reducing the corresponding ratio (e.g. by 2 times, i.e. by one half of the original), the corresponding sub-reference frame FR can be determinediThe sub-video frame F0iBy enlarging the corresponding ratio (e.g., by 2 times), the corresponding sub-target frame FA can be determinedi. Wherein, the scaling processing of the sub-video frames can be realized by adopting the existing efficient scaling algorithm.
Then, first, the sub-reference frame FR is setiAs convolution operators, i.e. sub-reference frames FRiCenter and sub-video frame F0iSo as to perform convolution processing, and using the convolution processing result as an updated sub-video frame F0iTo generate an updated sub-video frame F0i'. Then the updated sub-video frame F0i' As convolution operator, for sub-target frame FAiConvolution operation is performed so that the updated sub-target frame FA can also be determinedi'。
Step E5: splicing the new sub target frames corresponding to all the sub video frames into target frames, updating the key video frames in the second video stream data according to the target frames, and playing the updated second video stream data.
In the embodiment of the invention, the steps E2-E4 are performed on each sub-video frame of the key video frame, so that a new sub-target frame corresponding to each sub-video frame can be determined, and the target frame can be generated by splicing all the sub-target frames according to the arrangement sequence of the sub-video frames. The sub-target frames are generated by amplifying the sub-video frames by corresponding ratios, so that the resolution ratio between the target frame and the key video frame obtained after splicing is the ratio between the target resolution and the resolution of the key video frame; at this time, the second video stream data is updated with the target frame as the key frame, and the second video stream data may be enlarged so that the first terminal can view the second video stream data with a larger resolution without receiving the second video stream data with a larger resolution. The embodiment of the invention performs convolution processing on a larger sub-target frame based on a smaller sub-reference frame, namely, extracts the characteristic information (namely, a sub-reference frame) contained in the sub-video frame by reducing the sub-video frame, so that the characteristics of the original sub-video frame can be increased when the sub-target frame is subjected to convolution processing subsequently, the finally determined sub-target frame is enabled to better accord with the original characteristics, and the pixel jaggy caused by directly amplifying the video frame can be avoided to a certain extent.
The method for transmitting video stream data according to the embodiment of the present invention is described above in detail, and the method can also be implemented by a corresponding apparatus.
Fig. 2 is a schematic structural diagram of an apparatus for transmitting video stream data according to an embodiment of the present invention. The apparatus is provided at a first terminal, and as shown in fig. 2, the apparatus for transmitting video stream data includes:
a communication module 21, configured to establish a communication connection with a target classroom on a server side;
a resolution determining module 22, configured to determine the number of effective terminals, and determine a corresponding video resolution according to the number of effective terminals; the number of the effective terminals is the number of the effective terminals which are in communication connection with the target classroom, and the number of the effective terminals and the video resolution ratio are in a negative correlation relationship;
the transceiver module 23 is configured to generate first video stream data corresponding to the video resolution, send the first video stream data to a server, and receive second video stream data that is forwarded by the server and uploaded to the server by a second terminal, where a communication connection is established between the second terminal and the target classroom.
On the basis of the foregoing embodiment, the determining module 22 determines the number of effective terminals, and determines the corresponding video resolution according to the number of effective terminals, including:
if the current effective terminals which establish or disconnect the communication connection with the target classroom exist, the number of the effective terminals is determined again;
presetting a plurality of continuous quantity ranges, and determining the corresponding relation between the quantity ranges and the video resolution;
and determining an effective quantity range in which the effective terminal quantity falls, and determining the video resolution corresponding to the effective quantity range according to the corresponding relation.
On the basis of the foregoing embodiment, the determining a video resolution corresponding to the effective number range according to the correspondence by the resolution determining module 22 determining the effective number range in which the effective number of terminals falls includes:
if the first number is larger than the second number, the first preset value a in the first preset array is setiAs a definition of a corresponding range of numbers;
if the first number is smaller than the second number, the second preset value b in the second preset array is setiAs a definition of a corresponding range of numbers;
when the effective number range in which the effective terminal number falls is changed, determining the video resolution corresponding to the effective number range according to the corresponding relation;
the first number is the number of the effective terminals which are in communication connection with the target classroom currently, and the second number is the number of the effective terminals which are in communication connection with the target classroom currently; the first preset value aiGreater than a corresponding second preset value biAnd the first preset value aiCorresponding second preset value biThe difference between them is greater than 1.
On the basis of the above embodiment, the generating, by the transceiver module 23, the first video stream data corresponding to the video resolution includes:
and after a highlight display instruction sent by the server is received, updating the video resolution to a preset maximum resolution, and generating first video stream data corresponding to the updated video resolution.
On the basis of the above embodiment, the apparatus further includes: a number setting module;
before the transceiver module 23 receives second video stream data, which is forwarded by the server and uploaded to the server by a second terminal, the quantity setting module is configured to:
determining the maximum video quantity supported by the first terminal according to the equipment parameters of the first terminal, and sending the maximum video quantity to the server;
instructing the server to forward second video stream data uploaded to the server by a second terminal not exceeding the maximum video number according to the terminal priority order; the priority of the teacher terminal is higher than that of the student terminals, and the priority of the highlighted student terminals is higher than that of the non-highlighted student terminals.
On the basis of the above embodiment, the sending and receiving module 23 sends the first video stream data to a server, and receives second video stream data, which is forwarded by the server and uploaded to the server by a second terminal, including:
sending the first video stream data to a server, and instructing the server to record the state of the first video stream data, wherein the state comprises a released state and a highlighted state;
when the super-speed mode is started, receiving second video stream data which are transmitted by the server, uploaded to the server by a second terminal and in a highlighted state, and stopping receiving the video stream data in a released state; when the second terminal is highlighted, the second video stream data uploaded by the second terminal is converted from a published state to a highlighted state; when the second terminal stops highlighting, the second video stream data uploaded by the second terminal is converted into a published state from a highlighted state;
and when the super-speed mode is closed, receiving second video stream data which are transmitted by the server and uploaded to the server by a second terminal.
On the basis of the above embodiment, the apparatus further includes a frame processing module;
after the transceiver module 23 receives second video stream data, which is forwarded by the server and uploaded to the server by a second terminal, the frame processing module is configured to:
if the second terminal is a teacher terminal, extracting a key video frame in second video stream data uploaded by the teacher terminal, and determining a ratio between a target resolution and a resolution of the key video frame, wherein the target resolution is a resolution required when the second video stream data is displayed;
dividing the key video frame into a plurality of sub video frames according to regions, reducing the ratio of the sub video frames to generate sub reference frames, and amplifying the ratio of the sub video frames to generate sub target frames;
aligning the center of the sub-reference frame with the pixel point of the sub-video frame and performing convolution processing to update the pixel point of the sub-video frame; after all pixel points of the sub-video frame are subjected to convolution processing with the reference frame, a new sub-video frame is generated;
aligning the center of the new sub-video frame with the pixel point of the sub-target frame and performing convolution processing to update the pixel point of the sub-target frame; performing convolution processing on all pixel points of the sub-target frame and the new sub-video frame to generate a new sub-target frame;
splicing the new sub target frames corresponding to all the sub video frames into target frames, updating the key video frames in the second video stream data according to the target frames, and playing the updated second video stream data.
In addition, an embodiment of the present invention further provides an electronic device, which includes a bus, a transceiver, a memory, a processor, and a computer program stored in the memory and executable on the processor, where the transceiver, the memory, and the processor are connected via the bus, and when the computer program is executed by the processor, the processes of the method for transmitting video stream data according to the embodiment are implemented, and the same technical effects can be achieved, and are not described herein again to avoid repetition.
Specifically, referring to fig. 3, an embodiment of the present invention further provides an electronic device, which includes a bus 1110, a processor 1120, a transceiver 1130, a bus interface 1140, a memory 1150, and a user interface 1160.
In an embodiment of the present invention, the electronic device further includes: a computer program stored on the memory 1150 and executable on the processor 1120, the computer program, when executed by the processor 1120, implementing the processes of the above-described method embodiments of transmitting video stream data.
A transceiver 1130 for receiving and transmitting data under the control of the processor 1120.
In embodiments of the invention in which a bus architecture (represented by bus 1110) is used, bus 1110 may include any number of interconnected buses and bridges, with bus 1110 connecting various circuits including one or more processors, represented by processor 1120, and memory, represented by memory 1150.
Bus 1110 represents one or more of any of several types of bus structures, including a memory bus, and memory controller, a peripheral bus, an Accelerated Graphics Port (AGP), a processor, or a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include: an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA), a Peripheral Component Interconnect (PCI) bus.
Processor 1120 may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method embodiments may be performed by integrated logic circuits in hardware or instructions in software in a processor. The processor described above includes: general purpose processors, Central Processing Units (CPUs), Network Processors (NPs), Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), Complex Programmable Logic Devices (CPLDs), Programmable Logic Arrays (PLAs), Micro Control Units (MCUs) or other Programmable Logic devices, discrete gates, transistor Logic devices, discrete hardware components. The various methods, steps and logic blocks disclosed in embodiments of the present invention may be implemented or performed. For example, the processor may be a single core processor or a multi-core processor, which may be integrated on a single chip or located on multiple different chips.
Processor 1120 may be a microprocessor or any conventional processor. The steps of the method disclosed in connection with the embodiments of the present invention may be directly performed by a hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor. The software modules may be located in a Random Access Memory (RAM), a Flash Memory (Flash Memory), a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), a register, and other readable storage media known in the art. The readable storage medium is located in a memory, and a processor reads information in the memory and completes the steps of the method in combination with hardware of the processor.
The bus 1110 may also connect various other circuits such as peripherals, voltage regulators, or power management circuits to provide an interface between the bus 1110 and the transceiver 1130, as is well known in the art. Therefore, the embodiments of the present invention will not be further described.
The transceiver 1130 may be one element or may be multiple elements, such as multiple receivers and transmitters, providing a means for communicating with various other apparatus over a transmission medium. For example: the transceiver 1130 receives external data from other devices, and the transceiver 1130 transmits data processed by the processor 1120 to other devices. Depending on the nature of the computer system, a user interface 1160 may also be provided, such as: touch screen, physical keyboard, display, mouse, speaker, microphone, trackball, joystick, stylus.
It is to be appreciated that in embodiments of the invention, the memory 1150 may further include memory located remotely with respect to the processor 1120, which may be coupled to a server via a network. One or more portions of the above-described networks may be an ad hoc network (ad hoc network), an intranet (intranet), an extranet (extranet), a Virtual Private Network (VPN), a Local Area Network (LAN), a Wireless Local Area Network (WLAN), a Wide Area Network (WAN), a Wireless Wide Area Network (WWAN), a Metropolitan Area Network (MAN), the Internet (Internet), a Public Switched Telephone Network (PSTN), a plain old telephone service network (POTS), a cellular telephone network, a wireless fidelity (Wi-Fi) network, and combinations of two or more of the above. For example, the cellular telephone network and the wireless network may be a global system for Mobile Communications (GSM) system, a Code Division Multiple Access (CDMA) system, a Worldwide Interoperability for Microwave Access (WiMAX) system, a General Packet Radio Service (GPRS) system, a Wideband Code Division Multiple Access (WCDMA) system, a Long Term Evolution (LTE) system, an LTE Frequency Division Duplex (FDD) system, an LTE Time Division Duplex (TDD) system, a long term evolution-advanced (LTE-a) system, a Universal Mobile Telecommunications (UMTS) system, an enhanced Mobile Broadband (eMBB) system, a mass Machine Type Communication (mtc) system, an Ultra Reliable Low Latency Communication (urrllc) system, or the like.
It is to be understood that the memory 1150 in embodiments of the present invention can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. Wherein the nonvolatile memory includes: Read-Only Memory (ROM), Programmable ROM (PROM), Erasable PROM (EPROM), Electrically Erasable PROM (EEPROM), or Flash Memory.
The volatile memory includes: random Access Memory (RAM), which acts as an external cache. By way of example, and not limitation, many forms of RAM are available, such as: static random access memory (Static RAM, SRAM), Dynamic random access memory (Dynamic RAM, DRAM), Synchronous Dynamic random access memory (Synchronous DRAM, SDRAM), Double Data Rate Synchronous Dynamic random access memory (Double Data Rate SDRAM, DDRSDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and Direct memory bus RAM (DRRAM). The memory 1150 of the electronic device described in the embodiments of the invention includes, but is not limited to, the above and any other suitable types of memory.
In an embodiment of the present invention, memory 1150 stores the following elements of operating system 1151 and application programs 1152: an executable module, a data structure, or a subset thereof, or an expanded set thereof.
Specifically, the operating system 1151 includes various system programs such as: a framework layer, a core library layer, a driver layer, etc. for implementing various basic services and processing hardware-based tasks. Applications 1152 include various applications such as: media Player (Media Player), Browser (Browser), for implementing various application services. A program implementing a method of an embodiment of the invention may be included in application program 1152. The application programs 1152 include: applets, objects, components, logic, data structures, and other computer system executable instructions that perform particular tasks or implement particular abstract data types.
In addition, an embodiment of the present invention further provides a computer-readable storage medium, where a computer program is stored, and when being executed by a processor, the computer program implements each process of the above method for transmitting video stream data, and can achieve the same technical effect, and in order to avoid repetition, details are not repeated here.
The computer-readable storage medium includes: permanent and non-permanent, removable and non-removable media may be tangible devices that retain and store instructions for use by an instruction execution apparatus. The computer-readable storage medium includes: electronic memory devices, magnetic memory devices, optical memory devices, electromagnetic memory devices, semiconductor memory devices, and any suitable combination of the foregoing. The computer-readable storage medium includes: phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), non-volatile random access memory (NVRAM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic tape cartridge storage, magnetic tape disk storage or other magnetic storage devices, memory sticks, mechanically encoded devices (e.g., punched cards or raised structures in a groove having instructions recorded thereon), or any other non-transmission medium useful for storing information that may be accessed by a computing device. As defined in embodiments of the present invention, the computer-readable storage medium does not include transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., optical pulses traveling through a fiber optic cable), or electrical signals transmitted through a wire.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus, electronic device and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the modules or units is only one logical division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may also be an electrical, mechanical or other form of connection.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to solve the problem to be solved by the embodiment of the invention.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present invention may be substantially or partially contributed by the prior art, or all or part of the technical solutions may be embodied in a software product stored in a storage medium and including instructions for causing a computer device (including a personal computer, a server, a data center, or other network devices) to execute all or part of the steps of the methods of the embodiments of the present invention. And the storage medium includes various media that can store the program code as listed in the foregoing.
The above description is only a specific implementation of the embodiments of the present invention, but the scope of the embodiments of the present invention is not limited thereto, and any person skilled in the art can easily conceive of changes or substitutions within the technical scope of the embodiments of the present invention, and all such changes or substitutions should be covered by the scope of the embodiments of the present invention. Therefore, the protection scope of the embodiments of the present invention shall be subject to the protection scope of the claims.

Claims (10)

1. A method of transmitting video stream data, performed by a first terminal, the method comprising:
establishing communication connection with a target classroom at a server side;
determining the number of effective terminals, and determining the corresponding video resolution according to the number of the effective terminals; the number of the effective terminals is the number of the effective terminals which are in communication connection with the target classroom, and the number of the effective terminals and the video resolution ratio are in a negative correlation relationship;
generating first video stream data corresponding to the video resolution, sending the first video stream data to a server, and receiving second video stream data which is transmitted by the server and uploaded to the server by a second terminal, wherein a communication connection is established between the second terminal and the target classroom.
2. The method of claim 1, wherein determining the number of active terminals and determining the corresponding video resolution according to the number of active terminals comprises:
if the current effective terminals which establish or disconnect the communication connection with the target classroom exist, the number of the effective terminals is determined again;
presetting a plurality of continuous quantity ranges, and determining the corresponding relation between the quantity ranges and the video resolution;
and determining an effective quantity range in which the effective terminal quantity falls, and determining the video resolution corresponding to the effective quantity range according to the corresponding relation.
3. The method according to claim 2, wherein the determining an effective number range in which the effective number of terminals falls and determining a video resolution corresponding to the effective number range according to the correspondence relationship comprises:
if the first number is larger than the second number, the first preset value a in the first preset array is setiAs a definition of a corresponding range of numbers;
if the first number is smaller than the second number, the second preset value b in the second preset array is setiAs a definition of a corresponding range of numbers;
when the effective number range in which the effective terminal number falls is changed, determining the video resolution corresponding to the effective number range according to the corresponding relation;
the first number is the number of the effective terminals which are in communication connection with the target classroom currently, and the second number is the number of the effective terminals which are in communication connection with the target classroom currently; the first preset value aiGreater than a corresponding second preset value biAnd the first preset value aiCorresponding second preset value biThe difference between them is greater than1。
4. The method of claim 1, wherein generating the first video stream data corresponding to the video resolution comprises:
and after a highlight display instruction sent by the server is received, updating the video resolution to a preset maximum resolution, and generating first video stream data corresponding to the updated video resolution.
5. The method according to claim 1, wherein before the receiving the second video stream data forwarded by the server and uploaded to the server by the second terminal, the method further comprises:
determining the maximum video quantity supported by the first terminal according to the equipment parameters of the first terminal, and sending the maximum video quantity to the server;
instructing the server to forward second video stream data uploaded to the server by a second terminal not exceeding the maximum video number according to the terminal priority order; the priority of the teacher terminal is higher than that of the student terminals, and the priority of the highlighted student terminals is higher than that of the non-highlighted student terminals.
6. The method according to claim 1, wherein the sending the first video stream data to a server and receiving second video stream data, which is forwarded by the server and uploaded to the server by a second terminal, comprises:
sending the first video stream data to a server, and instructing the server to record the state of the first video stream data, wherein the state comprises a released state and a highlighted state;
when the super-speed mode is started, receiving second video stream data which are transmitted by the server, uploaded to the server by a second terminal and in a highlighted state, and stopping receiving the video stream data in a released state; when the second terminal is highlighted, the second video stream data uploaded by the second terminal is converted from a published state to a highlighted state; when the second terminal stops highlighting, the second video stream data uploaded by the second terminal is converted into a published state from a highlighted state;
and when the super-speed mode is closed, receiving second video stream data which are transmitted by the server and uploaded to the server by a second terminal.
7. The method according to any one of claims 1 to 6, further comprising, after the receiving second video stream data, which is forwarded by the server and uploaded to the server by the second terminal, the step of:
if the second terminal is a teacher terminal, extracting a key video frame in second video stream data uploaded by the teacher terminal, and determining a ratio between a target resolution and a resolution of the key video frame, wherein the target resolution is a resolution required when the second video stream data is displayed;
dividing the key video frame into a plurality of sub video frames according to regions, reducing the ratio of the sub video frames to generate sub reference frames, and amplifying the ratio of the sub video frames to generate sub target frames;
aligning the center of the sub-reference frame with the pixel point of the sub-video frame and performing convolution processing to update the pixel point of the sub-video frame; after all pixel points of the sub-video frame are subjected to convolution processing with the reference frame, a new sub-video frame is generated;
aligning the center of the new sub-video frame with the pixel point of the sub-target frame and performing convolution processing to update the pixel point of the sub-target frame; performing convolution processing on all pixel points of the sub-target frame and the new sub-video frame to generate a new sub-target frame;
splicing the new sub target frames corresponding to all the sub video frames into target frames, updating the key video frames in the second video stream data according to the target frames, and playing the updated second video stream data.
8. An apparatus for transmitting video stream data, provided at a first terminal, comprising:
the communication module is used for establishing communication connection with a target classroom at a server side;
the resolution determination module is used for determining the number of effective terminals and determining the corresponding video resolution according to the number of the effective terminals; the number of the effective terminals is the number of the effective terminals which are in communication connection with the target classroom, and the number of the effective terminals and the video resolution ratio are in a negative correlation relationship;
and the transceiving module is used for generating first video stream data corresponding to the video resolution, sending the first video stream data to a server, and receiving second video stream data which is transmitted by the server and uploaded to the server by a second terminal, wherein the second terminal is in communication connection with the target classroom.
9. An electronic device comprising a bus, a transceiver, a memory, a processor and a computer program stored on the memory and executable on the processor, the transceiver, the memory and the processor being connected via the bus, characterized in that the computer program, when executed by the processor, implements the steps in the method of transmitting video stream data according to any of claims 1 to 7.
10. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the method of transmitting video stream data according to any one of claims 1 to 7.
CN202110096050.4A 2021-01-25 2021-01-25 Method and device for transmitting video stream data and electronic equipment Active CN112422591B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110096050.4A CN112422591B (en) 2021-01-25 2021-01-25 Method and device for transmitting video stream data and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110096050.4A CN112422591B (en) 2021-01-25 2021-01-25 Method and device for transmitting video stream data and electronic equipment

Publications (2)

Publication Number Publication Date
CN112422591A true CN112422591A (en) 2021-02-26
CN112422591B CN112422591B (en) 2021-04-13

Family

ID=74783223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110096050.4A Active CN112422591B (en) 2021-01-25 2021-01-25 Method and device for transmitting video stream data and electronic equipment

Country Status (1)

Country Link
CN (1) CN112422591B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113347472A (en) * 2021-04-30 2021-09-03 北京奇艺世纪科技有限公司 Audio and video quality adjusting method and device, electronic equipment and storage medium
CN115334053A (en) * 2022-08-03 2022-11-11 深圳乐播科技有限公司 Method for realizing associated screen projection in cloud conference and related product
CN116582638A (en) * 2023-07-11 2023-08-11 深圳星网信通科技股份有限公司 Conference terminal management method, conference terminal management device and computer readable storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005020059A (en) * 2003-06-23 2005-01-20 Ricoh Co Ltd Image processing apparatus
CN103096022A (en) * 2011-11-04 2013-05-08 广达电脑股份有限公司 Video conference system and video conference method
CN103262532A (en) * 2010-07-19 2013-08-21 杜比实验室特许公司 Enhancement methods for sampled and multiplexed image and video data
CN105227890A (en) * 2015-09-23 2016-01-06 腾讯科技(深圳)有限公司 Video call method and device
US9311734B1 (en) * 2012-07-24 2016-04-12 Google Inc. Adjusting a digital image characteristic of an object in a digital image
CN109068147A (en) * 2018-09-18 2018-12-21 腾讯科技(深圳)有限公司 A kind of multimedia data transmission method, device and relevant device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005020059A (en) * 2003-06-23 2005-01-20 Ricoh Co Ltd Image processing apparatus
CN103262532A (en) * 2010-07-19 2013-08-21 杜比实验室特许公司 Enhancement methods for sampled and multiplexed image and video data
CN103096022A (en) * 2011-11-04 2013-05-08 广达电脑股份有限公司 Video conference system and video conference method
US9311734B1 (en) * 2012-07-24 2016-04-12 Google Inc. Adjusting a digital image characteristic of an object in a digital image
CN105227890A (en) * 2015-09-23 2016-01-06 腾讯科技(深圳)有限公司 Video call method and device
CN109068147A (en) * 2018-09-18 2018-12-21 腾讯科技(深圳)有限公司 A kind of multimedia data transmission method, device and relevant device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113347472A (en) * 2021-04-30 2021-09-03 北京奇艺世纪科技有限公司 Audio and video quality adjusting method and device, electronic equipment and storage medium
CN115334053A (en) * 2022-08-03 2022-11-11 深圳乐播科技有限公司 Method for realizing associated screen projection in cloud conference and related product
CN115334053B (en) * 2022-08-03 2023-07-18 深圳乐播科技有限公司 Method for realizing associated screen projection in cloud conference and related products
CN116582638A (en) * 2023-07-11 2023-08-11 深圳星网信通科技股份有限公司 Conference terminal management method, conference terminal management device and computer readable storage medium
CN116582638B (en) * 2023-07-11 2023-11-07 深圳星网信通科技股份有限公司 Conference terminal management method, conference terminal management device and computer readable storage medium

Also Published As

Publication number Publication date
CN112422591B (en) 2021-04-13

Similar Documents

Publication Publication Date Title
CN112422591B (en) Method and device for transmitting video stream data and electronic equipment
EP4117286A1 (en) Image block prediction method and device
CA2742858C (en) Audio/video data play control method and apparatus
CN112565834B (en) Method and device for controlling output data and electronic equipment
CN111225209B (en) Video data plug flow method, device, terminal and storage medium
EP3509305A1 (en) Intra-prediction video coding method and device
CN112383807B (en) Online education method and device and electronic equipment
CN111371954A (en) Method and device for dynamically adjusting cloud mobile phone resource configuration
US11297328B2 (en) Video coding method, device, device and storage medium
CN112532334A (en) Time synchronization method and device and electronic equipment
JP5779116B2 (en) Image coding method, image coding apparatus, and image coding program
JP5853003B2 (en) Screen sharing terminal, screen sharing method, program for screen sharing terminal
US20140205020A1 (en) Real-time transcoding method and device
US20210409763A1 (en) Video decoding method and apparatus, video encoding method and apparatus, storage medium, and electronic device
CN111429458B (en) Image restoration method and device and electronic equipment
CN113342424A (en) Method and device for loading H5 resource and electronic equipment
CN111294546B (en) Resolution adjustment method and device for video call
JP2023504092A (en) Video playback page display method, apparatus, electronic equipment and medium
CN111402876A (en) Data transmission method, device and equipment
CN108668166B (en) Coding method, device and terminal equipment
CN111526381B (en) Method and device for optimizing live broadcast resources and electronic equipment
EP4037324A1 (en) Video processing method and apparatus, and storage medium and electronic device
CN115190359A (en) Automatic conversion method and system for video playing format
CN107872683A (en) Video data processing method, device, equipment and storage medium
CN112559449B (en) Data conversion processing method and device and electronic equipment

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
GR01 Patent grant
GR01 Patent grant