CN112104835A - Video transmission method, device, equipment and readable storage medium - Google Patents

Video transmission method, device, equipment and readable storage medium Download PDF

Info

Publication number
CN112104835A
CN112104835A CN202010820642.1A CN202010820642A CN112104835A CN 112104835 A CN112104835 A CN 112104835A CN 202010820642 A CN202010820642 A CN 202010820642A CN 112104835 A CN112104835 A CN 112104835A
Authority
CN
China
Prior art keywords
video
resolution
terminal
transmitted
video stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010820642.1A
Other languages
Chinese (zh)
Inventor
祁孟飞
刘佳昌
刘佳奇
杨春晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Visionvera Information Technology Co Ltd
Original Assignee
Visionvera Information 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 Visionvera Information Technology Co Ltd filed Critical Visionvera Information Technology Co Ltd
Priority to CN202010820642.1A priority Critical patent/CN112104835A/en
Publication of CN112104835A publication Critical patent/CN112104835A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The embodiment of the invention provides a video transmission method, which is applied to a video network server in a video network, wherein the video network comprises the video network server and a plurality of video network terminals in communication connection with the video network server, and the video network transmission method comprises the following steps: dividing the video network terminal into a first terminal and a second terminal, wherein the output resolution of the first terminal is higher than that of the second terminal; sending a first coding instruction to a first terminal, wherein the first coding instruction is used for instructing the first terminal to code a collected first original video stream according to a first resolution and a second resolution respectively; receiving a first video stream to be transmitted and a second video stream to be transmitted which are sent by a first terminal; and sending each first video stream to be transmitted to other first terminals, and sending the second video stream to be transmitted to the second terminal. Therefore, the video network server is not required to carry out transcoding in the video transmission process, so that the pressure of the server can be reduced, and the performance of the first terminal can be fully utilized.

Description

Video transmission method, device, equipment and readable storage medium
Technical Field
The present invention relates to the field of video networking technologies, and in particular, to a video transmission method, apparatus, device, and readable storage medium.
Background
At present, in a video conference service based on video networking, output resolutions of a plurality of video networking terminals participating in a conference may be different, and since a video networking terminal cannot decode a video stream whose resolution is higher than the output resolution of the video networking terminal, a video networking server is required to transcode a high-resolution video stream transmitted by a high-resolution video networking terminal and transcode the high-resolution video stream into a low-resolution video stream, so that each video networking terminal participating in the video conference can decode the received video stream.
However, after the video stream is transcoded by the video networking server, in the video networking terminals participating in the video conference, the performance of the video networking terminal with higher output resolution cannot be effectively utilized, which causes performance waste.
Disclosure of Invention
In view of the above problems, embodiments of the present invention are proposed to provide a video transmission method, apparatus, device and readable storage medium that overcome or at least partially solve the above problems.
In order to solve the above problem, an embodiment of the present invention discloses a video transmission method, which is applied to a video networking server in a video networking, where the video networking includes the video networking server and a plurality of video networking terminals communicatively connected to the video networking server, and the method includes:
dividing the video networking terminals into a first terminal and a second terminal according to the output resolution of each video networking terminal which is obtained in advance, wherein the output resolution of the first terminal is a first resolution, the output resolution of the second terminal is a second resolution, and the first resolution is higher than the second resolution;
sending a first coding instruction to the first terminal, wherein the first coding instruction is used for instructing the first terminal to code the collected first original video stream according to the first resolution and the second resolution respectively to obtain a first video stream to be transmitted and a second video stream to be transmitted;
receiving the first video stream to be transmitted and the second video stream to be transmitted, which are sent by the first terminal;
and sending each first video stream to be transmitted to other first terminals except the first terminal generating the first video stream to be transmitted, and sending the second video stream to be transmitted to the second terminal.
Optionally, after the video network terminal is divided into a first terminal and a second terminal according to the output resolution of each video network terminal obtained in advance, the method further includes:
sending a second coding instruction to the second terminal, wherein the second coding instruction is used for instructing the second terminal to code the collected second original video stream according to the second resolution to obtain a third video stream to be transmitted;
receiving the third video stream to be transmitted sent by the second terminal;
and sending each third video stream to be transmitted to the first terminal and other second terminals except the second terminal generating the third video stream to be transmitted.
Optionally, the video network further includes a scheduling device communicatively connected to the video network server, and before the video network terminal is divided into a first terminal and a second terminal according to the output resolution of each video network terminal obtained in advance, the method further includes:
receiving meeting place information sent by the scheduling equipment, wherein the meeting place information comprises identity information of each video networking terminal participating in the video conference;
the dividing the video network terminal into a first terminal and a second terminal according to the output resolution of each video network terminal obtained in advance comprises:
after receiving a video conference starting instruction sent by the scheduling equipment, searching the output resolution of the video networking terminals participating in the video conference from an information database according to the identity information, wherein the information database comprises the corresponding relation between the identity information and the output resolution of each video networking terminal;
and dividing the video networking terminals participating in the video conference into a first terminal and a second terminal according to the output resolution of the video networking terminals participating in the video conference.
The embodiment of the invention also discloses a video transmission method, which is applied to the video networking terminals in the video networking, wherein the video networking comprises a video networking server and a plurality of video networking terminals in communication connection with the video networking server, and the method comprises the following steps:
receiving an encoding instruction sent by the video networking server, wherein the encoding instruction comprises a target resolution;
if the target resolution comprises a first resolution and a second resolution, encoding the acquired original video stream according to the first resolution and the second resolution respectively to obtain a first video stream to be transmitted and a second video stream to be transmitted;
and sending the first video stream to be transmitted and the second video stream to be transmitted to the video networking server so that the video networking server sends the first video stream to be transmitted to other video networking terminals with the output resolution being the first resolution, and sends the second video stream to be transmitted to the video networking terminals with the output resolution being the second resolution, wherein the first resolution is higher than the second resolution.
Optionally, if the target resolution only includes the second resolution, the method includes:
encoding the collected original video stream according to the second resolution to obtain a third video stream to be transmitted;
and sending the third video stream to be transmitted to the video networking server so that the video networking server sends the third video stream to be transmitted to other video networking terminals.
Optionally, the encoding the acquired original video stream according to the first resolution and the second resolution respectively to obtain a first video stream to be transmitted and a second video stream to be transmitted includes:
acquiring an original video stream acquired by video acquisition equipment;
calling a first thread, and encoding the original video stream according to the first resolution to obtain a first video stream to be transmitted, so that the video network server sends the first video stream to be transmitted to other video network terminals with the output resolution being the first resolution based on the port number of the first thread;
and calling a second thread, and encoding the original video stream according to the second resolution to obtain a second video stream to be transmitted, so that the video networking server sends the second video stream to be transmitted to a video networking terminal with the output resolution as the second resolution based on the port number of the second thread.
The embodiment of the invention also discloses a video transmission device, which is applied to a video network server in the video network, wherein the video network comprises the video network server and a plurality of video network terminals in communication connection with the video network server, and the device comprises:
the classification module is used for classifying the video network terminals into a first terminal and a second terminal according to the output resolution of each video network terminal which is acquired in advance, wherein the output resolution of the first terminal is a first resolution, the output resolution of the second terminal is a second resolution, and the first resolution is higher than the second resolution;
the instruction sending module is used for sending a first coding instruction to the first terminal, wherein the first coding instruction is used for instructing the first terminal to code the collected first original video stream according to the first resolution and the second resolution respectively to obtain a first video stream to be transmitted and a second video stream to be transmitted;
a video stream receiving module, configured to receive the first to-be-transmitted video stream and the second to-be-transmitted video stream sent by the first terminal;
and the first video stream sending module is used for sending each first video stream to be transmitted to other first terminals except the first terminal which generates the first video stream to be transmitted, and sending the second video stream to be transmitted to the second terminal.
The embodiment of the invention also discloses a video transmission device, which is applied to the video network terminals in the video network, wherein the video network comprises a video network server and a plurality of video network terminals in communication connection with the video network server, and the device comprises:
the instruction receiving module is used for receiving a coding instruction sent by the video network server, wherein the coding instruction comprises a target resolution;
the encoding module is used for encoding the acquired original video stream according to a first resolution and a second resolution respectively to obtain a first video stream to be transmitted and a second video stream to be transmitted if the target resolution comprises the first resolution and the second resolution;
the second video stream sending module is used for sending the first video stream to be transmitted and the second video stream to be transmitted to the video networking server so that the video networking server sends the first video stream to be transmitted to other video networking terminals with the output resolution being the first resolution, and sends the second video stream to be transmitted to the video networking terminals with the output resolution being the second resolution, and the first resolution is higher than the second resolution.
The embodiment of the invention also discloses a video transmission device, which comprises:
one or more processors; and
one or more machine readable media having instructions stored thereon that, when executed by the one or more processors, cause the apparatus to perform any of the video transmission methods described above.
The embodiment of the invention also discloses a computer readable storage medium, and a stored computer program enables a processor to execute any one of the video transmission methods.
The embodiment of the invention has the following advantages:
according to the embodiment of the invention, by applying the characteristics of the video network, when the output resolution of each video network terminal is different, the video network server sends a first coding instruction to a first terminal with higher output resolution, so that the first terminal codes a collected first original video stream according to the first resolution and a second resolution respectively to obtain a first video stream to be transmitted and a second video stream to be transmitted, then the first video stream to be transmitted is sent to other first terminals, and the second video stream to be transmitted is sent to a second terminal with lower output resolution. Therefore, on the one hand, the first terminal encodes two different resolutions to generate two different video streams, the requirements of different video network terminals can be met, and the video network server is not needed to transcode in the video transmission process, so that the pressure of the server can be reduced, on the other hand, the video streams of the first resolution sent by other first terminals in the video network can be received for each first terminal, and the performance of the first terminal can be fully utilized.
Drawings
FIG. 1 is a flow chart of a video transmission method of the present invention;
FIG. 2 is a flow chart of another video transmission method of the present invention;
fig. 3 is a schematic diagram of a video transmission method according to the present invention;
fig. 4 is a structural diagram of a video transmission apparatus of the present invention;
fig. 5 is a block diagram of another video transmission apparatus of the present invention;
FIG. 6 is a networking schematic of a video network of the present invention;
FIG. 7 is a diagram of a hardware architecture of a node server according to the present invention;
fig. 8 is a schematic diagram of a hardware architecture of an access switch of the present invention;
fig. 9 is a schematic diagram of a hardware structure of an ethernet protocol conversion gateway according to the present invention.
Detailed Description
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, embodiments accompanied with figures are described in further detail below.
In the video networking, including video networking server and with a plurality of video networking terminals of video networking server communication connection, wherein, video networking terminal usually installs in the customer scene for realize functions such as video collection and output, video networking terminal can pass through equipment such as network connection TV, camera, video networking server can receive the operation signaling that video networking scheduling equipment sent, and initiate the dispatch to all video networking terminals and video stream in the video conference.
For example, the output resolution of each video network terminal may be 1080P resolution or 4K resolution, and since the video network terminal cannot decode a video stream with a resolution higher than its output resolution, in the related art, a video network server generally transcodes a video stream with a high resolution to obtain a low resolution video stream, so that each video network terminal can decode a received video stream.
However, after the video stream is transcoded by the video networking server, in the video networking terminals participating in the video conference, the performance of the video networking terminal with higher output resolution cannot be effectively utilized, which causes performance waste.
In order to solve the above technical problem, embodiments of the present invention provide a video transmission method, apparatus, device and readable storage medium.
As shown in fig. 1, an embodiment of the present invention provides a video transmission method, which is applied to a video network server in a video network, where the video network includes the video network server and a plurality of video network terminals communicatively connected to the video network server, and the method includes the following steps:
s101: according to the output resolution of each video network terminal obtained in advance, the video network terminals are divided into a first terminal and a second terminal, the output resolution of the first terminal is a first resolution, the output resolution of the second terminal is a second resolution, and the first resolution is higher than the second resolution.
In this step, the video network server divides each video network terminal into two types according to the difference of the output resolution of each video network terminal, for convenience of description, the type with higher output resolution is referred to as a first terminal, and the type with lower output resolution is referred to as a second terminal.
In other words, due to the limitation of hardware performance, the video networking terminal cannot process a video stream higher than the output resolution thereof, for example, the video networking terminal with the output resolution of 1080p cannot process a video stream with the resolution of 4K, and the video networking terminal with the output resolution of 4K can process a video stream with the resolution of 4K, and can also process a video stream with the resolution of 1080 p.
In the embodiment of the invention, the video network can also comprise a scheduling device in communication connection with the video network server, the scheduling device is a device provided with front-end scheduling software, and the functions of pulling a plurality of video network terminals to the same video conference, or scheduling video streams in the video conference and the like are realized by interacting with a user.
In the embodiment of the present invention, the scheduling device may generate meeting place information of each video conference, and send the meeting place information to the video networking server, where the meeting place information includes identity information of each video networking terminal participating in the video conference, and the identity information corresponds to the video networking terminals one to one, that is, according to the identity information, a unique video networking terminal matching the identity information in the video networking may be determined, for example, the identity information may be a serial number of the video networking terminal, or an ID of the video networking terminal, and is not limited specifically.
The scheduling device can also send a start instruction of any video conference to the video networking server according to an instruction of a user, wherein the start instruction of the video conference is used for instructing the video networking server to start transmitting video streams in the video conference.
In one implementation, after receiving a start instruction of a video conference, a video networking server may search, according to meeting place information, an output resolution of a video networking terminal participating in the video conference from an information database, and divide the video networking terminal participating in the video conference into a first terminal and a second terminal according to the searched output resolution.
The information database stores the corresponding relationship between the identity information of each video network terminal and the output resolution, and the information database may be stored in a video network server, or in each video network terminal, or in a third-party database.
Or, in another implementation, after receiving the start instruction of the video conference, the video networking server may send a resolution detection request to the video networking terminals participating in the video conference, and divide the video networking terminals participating in the video conference into the first terminal and the second terminal according to the output resolution of each video networking terminal fed back by itself.
S102: and sending a first coding instruction to the first terminal, wherein the first coding instruction is used for instructing the first terminal to code the collected first original video stream according to a first resolution and a second resolution respectively to obtain a first video stream to be transmitted and a second video stream to be transmitted.
In this step, the first encoding instruction may include a first resolution and a second resolution, so that after receiving the first encoding instruction, the first terminal may encode the acquired first original video stream according to the first resolution and the second resolution, respectively, to obtain a first to-be-transmitted video stream with the first resolution and a second to-be-transmitted video stream with the second resolution.
That is to say, for a video networking terminal with a higher output resolution, two times of encoding with different resolutions need to be performed on an acquired first original video stream to obtain a first video stream to be transmitted and a second video stream to be transmitted with different resolutions, for example, if the output resolution of the first terminal is 4K and the output resolution of the second terminal is 1080p, the first terminal encodes and generates video streams with two resolutions of 4K and 1080 p.
In an implementation manner, a first terminal first obtains a first original video stream acquired by a video acquisition device, where the video acquisition device may be a camera, a monitoring camera, or the like, and this is not limited in the embodiment of the present invention. Furthermore, the first terminal may invoke a first thread to encode the first original video stream according to the first resolution to obtain a first video stream to be transmitted, and invoke a second thread to encode the first original video stream according to the second resolution to obtain a second video stream to be transmitted. The first thread and the second thread may adopt a parallel mechanism, that is, the first terminal may call the first thread and the second thread at the same time to encode the first original video stream respectively, thereby improving the real-time performance of video transmission.
In the embodiment of the invention, the video networking server can be accessed to any video networking terminal, and after the video networking server is divided into the first terminal or the second terminal according to the output resolution of the accessed video networking terminal, the first coding instruction is firstly sent to the first terminal, and after the video calling instruction aiming at the first terminal is received, the video transmission instruction is sent to the first terminal, so that the first terminal can start two different processes to code the acquired first original video stream as soon as possible, and the reaction time is reduced.
Or, the video networking server may also directly send the first encoding instruction to the first terminal after receiving the video call instruction for the first terminal, so that the first terminal directly sends the obtained first to-be-transmitted video stream and the second to-be-transmitted video stream after encoding the acquired first original video stream, and thus, resource occupation of the first terminal that is not called can be reduced.
S103: and receiving a first video stream to be transmitted and a second video stream to be transmitted which are sent by a first terminal.
In one implementation manner, when a first terminal calls a first thread and a second thread respectively to generate a first video stream to be transmitted and a second video stream to be transmitted, further, different port numbers can be set for the first thread and the second thread, and in this step, the video networking server can also receive the port number of the first thread corresponding to the first video stream to be transmitted and the port number of the second thread corresponding to the second video stream to be transmitted.
S104: and sending each first video stream to be transmitted to other first terminals except the first terminal generating the first video stream to be transmitted, and sending the second video stream to be transmitted to the second terminal.
In this step, the video networking server may send the first to-be-transmitted video stream generated by each first terminal to other first terminals except the first terminal, and send the second to-be-transmitted video stream generated by the first terminal to a second terminal in the video networking.
In other words, the video stream with higher resolution generated by the video networking terminal with higher output resolution may be transmitted to other video networking terminals with the same output resolution, and the video stream with lower resolution generated by the video networking terminal with higher output resolution may be transmitted to the video networking terminal with lower output resolution, for example, if the output resolution of the first terminal is 4K and the output resolution of the second terminal is 1080p, the first video stream to be transmitted with 4K resolution generated by the first terminal through encoding may be transmitted to other first terminals, and the second video stream to be transmitted with 1080p resolution generated by the first terminal through encoding may be transmitted to the second terminal in the video networking.
Therefore, the video stream generated by the first terminal can be decoded and processed by each video network terminal in the video network, and the condition that the video network terminal with lower output resolution cannot process the high-resolution video stream is reduced.
In one implementation, the video networking server may send the first video stream to be transmitted and the second video stream to be transmitted to corresponding video networking terminals based on port numbers corresponding to the first video stream to be transmitted and the second video stream to be transmitted. That is to say, the first video stream to be transmitted and the second video stream to be transmitted from the same first terminal may communicate with different terminals of the video network simultaneously based on the corresponding different port numbers.
In the embodiment of the present invention, the video networking server may further send a second encoding instruction to each second terminal, where the second encoding instruction is used to instruct the second terminal to encode the acquired second original video stream according to the second resolution to obtain a third video stream to be transmitted.
That is to say, for a video networking terminal with a lower output resolution, the collected second original video stream may be encoded according to a lower resolution to obtain a third to-be-transmitted video stream with a lower resolution, for example, if the output resolution of the first terminal is 4K and the output resolution of the second terminal is 1080p, the second terminal only needs to generate a video stream with a 1080p resolution for encoding.
Furthermore, the video network server may receive a third to-be-transmitted video stream sent by the second terminal, and send the third to-be-transmitted video stream to each first terminal in the video network and other second terminals except the second terminal that generates the third to-be-transmitted video stream.
As can be seen from the above, in the video transmission method provided in the embodiment of the present invention, on one hand, the first terminal performs two kinds of coding with different resolutions to generate two kinds of video streams with different resolutions, which can meet the requirements of different video networking terminals, and the video networking server is not required to perform transcoding in the video transmission process, so that the server pressure can be reduced, and on the other hand, each first terminal can receive video streams with the first resolution sent by other first terminals in the video networking, so that the performance of the first terminal can be fully utilized.
As shown in fig. 2, another video transmission method is further provided in an embodiment of the present invention, and is applied to a video network terminal in a video network, where the video network includes a video network server and a plurality of video network terminals communicatively connected to the video network server, and the method includes the following steps:
s201: and receiving an encoding instruction sent by the video networking server, wherein the encoding instruction comprises a target resolution.
In the embodiment of the invention, the video network terminal encodes the acquired original video stream according to an encoding instruction sent by the video network server, wherein the encoding instruction comprises a target resolution, and the target resolution is the resolution of the encoded video stream.
Each video network terminal has different output resolution, and due to the limitation of hardware performance, the video network terminal cannot process a video stream higher than the output resolution, for example, the video network terminal with the output resolution of 1080p cannot process a video stream with the resolution of 4K, and the video network terminal with the output resolution of 4K can process a video stream with the resolution of 4K, and can also process a video stream with the resolution of 1080 p.
S202: and if the target resolution comprises a first resolution and a second resolution, encoding the acquired original video stream according to the first resolution and the second resolution respectively to obtain a first video stream to be transmitted and a second video stream to be transmitted.
In this step, if the target resolution in the encoding instruction sent by the video networking server includes the first resolution and the second resolution, the video networking terminal may encode the acquired original video stream according to the first resolution and the second resolution, respectively, to obtain a first video stream to be transmitted at the first resolution and a second video stream to be transmitted at the second resolution.
In one implementation, a video networking terminal first obtains an original video stream collected by a video collecting device, and then may call a first thread, encode the original video stream according to a first resolution to obtain a first video stream to be transmitted, and call a second thread, encode the original video stream according to a second resolution to obtain a second video stream to be transmitted. The first thread and the second thread can adopt a parallel mechanism, that is, the video networking terminal can call the first thread and the second thread simultaneously to encode the original video stream respectively, so that the real-time performance of video transmission is improved.
S203: and sending the first video stream to be transmitted and the second video stream to be transmitted to a video networking server so that the video networking server sends the first video stream to be transmitted to other video networking terminals with the output resolution being the first resolution, and sends the second video stream to be transmitted to the video networking terminals with the output resolution being the second resolution, wherein the first resolution is higher than the second resolution.
In one implementation manner, when a video networking terminal calls a first thread and a second thread respectively to generate a first video stream to be transmitted and a second video stream to be transmitted, further, different port numbers can be set for the first thread and the second thread.
Furthermore, the video network server can send each first video stream to be transmitted and the port number of the corresponding first thread to other video network terminals with the first resolution output, and send each second video stream to be transmitted and the port number of the corresponding second thread to the video network terminals with the second resolution output.
Therefore, the video stream generated by the video network terminal with higher output resolution can be decoded and processed by each video network terminal in the video network, and the condition that the video network terminal with lower output resolution cannot process the video stream with high resolution is reduced.
In one implementation, if the target resolution only includes the second resolution, the video networking terminal may encode the acquired original video stream according to the second resolution to obtain a third video stream to be transmitted, and transmit the third video stream to be transmitted to the video networking server, so that the video networking server transmits the third video stream to be transmitted to other video networking terminals.
As can be seen from the above, in the video transmission method provided in the embodiment of the present invention, the video networking terminal can perform coding with two different resolutions according to the received coding instruction, so as to generate video streams with two different resolutions, which can meet the requirements of different video networking terminals, and the video networking server is not required to perform transcoding during video transmission, so that the server pressure can be reduced, and the video networking terminal with higher output resolution can receive the video stream with high resolution, thereby reducing performance waste.
Fig. 3 is a schematic diagram of a scheme of a video transmission method according to an embodiment of the present invention. The video network comprises scheduling equipment, a video network server and a plurality of video network terminals in communication connection with the video network server.
For convenience of description, the video network terminal with the output resolution of 4K resolution is called a 4K terminal, and the video network terminal with the output resolution of 1080p resolution is called a 1080p terminal.
A signaling channel is arranged between the scheduling equipment and the video networking server, and can transmit signaling such as meeting place information and video conference opening instructions, and a signaling channel and a video channel are arranged between the video networking server and a 1080p terminal or a 4K terminal, and can transmit coding instructions and also can transmit video streams.
The 4K terminal can generate a video stream with a 4K resolution and a video stream with a 1080p resolution, the 4K video stream can be transmitted to other 4K terminals, the 1080p video stream can be transmitted to the 1080p terminal, and the 1080p terminal can generate a 1080p video stream and transmit the 1080p video stream to the 4K terminal and other 1080p terminals.
It can be understood that the 4K resolution is higher than the 1080p resolution, so the 4K resolution is the first resolution, the 4K terminal is the first terminal, the 1080p resolution is the second resolution, the 1080p terminal is the second terminal, the 4K video stream sent by the 4K terminal is the first video stream to be transmitted, the 1080p video stream sent by the 4K terminal is the second video stream to be transmitted, and the 1080p video stream sent by the 1080p terminal is the third video stream to be transmitted.
It should be noted that, for simplicity of description, the method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the illustrated order of acts, as some steps may occur in other orders or concurrently in accordance with the embodiments of the present invention. Further, those skilled in the art will appreciate that the embodiments described in the specification are presently preferred and that no particular act is required to implement the invention.
As shown in fig. 4, an embodiment of the present invention further provides a video transmission apparatus, where the method is applied to a video network server in a video network, where the video network includes the video network server and a plurality of video network terminals communicatively connected to the video network server, and the apparatus includes:
a classification module 401, configured to classify, according to an output resolution of each video networking terminal obtained in advance, the video networking terminal into a first terminal and a second terminal, where the output resolution of the first terminal is a first resolution, the output resolution of the second terminal is a second resolution, and the first resolution is higher than the second resolution;
an instruction sending module 402, configured to send a first encoding instruction to the first terminal, where the first encoding instruction is used to instruct the first terminal to encode the collected first original video stream according to the first resolution and the second resolution, respectively, to obtain a first video stream to be transmitted and a second video stream to be transmitted;
a video stream receiving module 403, configured to receive the first video stream to be transmitted and the second video stream to be transmitted that are sent by the first terminal;
a first video stream sending module 404, configured to send each first to-be-transmitted video stream to other first terminals except the first terminal that generates the first to-be-transmitted video stream, and send the second to-be-transmitted video stream to the second terminal.
In one implementation, the instruction sending module 402 is further configured to:
sending a second coding instruction to the second terminal, wherein the second coding instruction is used for instructing the second terminal to code the collected second original video stream according to the second resolution to obtain a third video stream to be transmitted;
a video stream receiving module 403, further configured to receive the third to-be-transmitted video stream sent by the second terminal;
the first video stream sending module 404 is further configured to send each of the third to-be-transmitted video streams to the first terminal and other second terminals except the second terminal that generates the third to-be-transmitted video stream.
In one implementation, the video network further includes a scheduling device communicatively connected to the video network server, and the apparatus further includes:
a conference place information receiving module, configured to receive conference place information sent by the scheduling device, where the conference place information includes identity information of each video networking terminal participating in the video conference;
the classification module 401 is specifically configured to, after receiving the start instruction of the video conference sent by the scheduling device, search, according to the identity information, an output resolution of a video networking terminal participating in the video conference from an information database, where the information database includes a correspondence between the identity information of each video networking terminal and the output resolution; and dividing the video networking terminals participating in the video conference into a first terminal and a second terminal according to the output resolution of the video networking terminals participating in the video conference.
As can be seen from the above, in the video transmission device provided in the embodiment of the present invention, on one hand, the first terminal performs two kinds of coding with different resolutions to generate two kinds of video streams with different resolutions, which can meet the requirements of different video networking terminals, and the video networking server is not required to perform transcoding in the video transmission process, so that the server pressure can be reduced, and on the other hand, each first terminal can receive video streams with the first resolution sent by other first terminals in the video networking, so that the performance of the first terminal can be fully utilized.
As shown in fig. 5, another video transmission apparatus is further provided, where the apparatus is applied to a video network terminal in a video network, where the video network includes a video network server and a plurality of video network terminals communicatively connected to the video network server, and the apparatus includes:
an instruction receiving module 501, configured to receive an encoding instruction sent by the video networking server, where the encoding instruction includes a target resolution;
the encoding module 502 is configured to, if the target resolution includes a first resolution and a second resolution, encode the acquired original video stream according to the first resolution and the second resolution, respectively, to obtain a first video stream to be transmitted and a second video stream to be transmitted;
the second video stream sending module 503 is configured to send the first video stream to be transmitted and the second video stream to be transmitted to the video networking server, so that the video networking server sends the first video stream to be transmitted to other video networking terminals whose output resolutions are first resolutions, and sends the second video stream to be transmitted to the video networking terminals whose output resolutions are second resolutions, where the first resolution is higher than the second resolution.
In an implementation manner, the encoding module 502 is further configured to encode the acquired original video stream according to the second resolution if the target resolution only includes the second resolution, so as to obtain a third video stream to be transmitted;
the second video stream sending module 503 is further configured to send the third to-be-transmitted video stream to the video networking server, so that the video networking server sends the third to-be-transmitted video stream to other video networking terminals.
In one implementation, the encoding module 502 is specifically configured to:
acquiring an original video stream acquired by video acquisition equipment;
calling a first thread, and encoding the original video stream according to the first resolution to obtain a first video stream to be transmitted, so that the video network server sends the first video stream to be transmitted to other video network terminals with the output resolution being the first resolution based on the port number of the first thread;
and calling a second thread, and encoding the original video stream according to the second resolution to obtain a second video stream to be transmitted, so that the video networking server sends the second video stream to be transmitted to a video networking terminal with the output resolution as the second resolution based on the port number of the second thread.
As can be seen from the above, according to the video transmission device provided in the embodiment of the present invention, the video networking terminal can perform coding with two different resolutions according to the received coding instruction, so as to generate video streams with two different resolutions, which can meet the requirements of different video networking terminals, and the video networking server is not required to perform transcoding during video transmission, so that the server pressure can be reduced, and the video networking terminal with higher output resolution can receive the video stream with high resolution, thereby reducing performance waste.
For the device embodiment, since it is basically similar to the method embodiment, the description is simple, and for the relevant points, refer to the partial description of the method embodiment.
The video networking is an important milestone for network development, is a real-time network, can realize high-definition video real-time transmission, and pushes a plurality of internet applications to high-definition video, and high-definition faces each other.
The video networking adopts a real-time high-definition video exchange technology, can integrate required services such as dozens of services of video, voice, pictures, characters, communication, data and the like on a system platform on a network platform, such as high-definition video conference, video monitoring, intelligent monitoring analysis, emergency command, digital broadcast television, delayed television, network teaching, live broadcast, VOD on demand, television mail, Personal Video Recorder (PVR), intranet (self-office) channels, intelligent video broadcast control, information distribution and the like, and realizes high-definition quality video broadcast through a television or a computer.
To better understand the embodiments of the present invention, the following description refers to the internet of view:
some of the technologies applied in the video networking are as follows:
network Technology (Network Technology)
Network technology innovation in video networking has improved over traditional Ethernet (Ethernet) to face the potentially enormous video traffic on the network. Unlike pure network Packet Switching (Packet Switching) or network Circuit Switching (Circuit Switching), the Packet Switching is adopted by the technology of the video networking to meet the Streaming requirement. The video networking technology has the advantages of flexibility, simplicity and low price of packet switching, and simultaneously has the quality and safety guarantee of circuit switching, thereby realizing the seamless connection of the whole network switching type virtual circuit and the data format.
Switching Technology (Switching Technology)
The video network adopts two advantages of asynchronism and packet switching of the Ethernet, eliminates the defects of the Ethernet on the premise of full compatibility, has end-to-end seamless connection of the whole network, is directly communicated with a user terminal, and directly bears an IP data packet. The user data does not require any format conversion across the entire network. The video networking is a higher-level form of the Ethernet, is a real-time exchange platform, can realize the real-time transmission of the whole-network large-scale high-definition video which cannot be realized by the existing Internet, and pushes a plurality of network video applications to high-definition and unification.
Server Technology (Server Technology)
The server technology on the video networking and unified video platform is different from the traditional server, the streaming media transmission of the video networking and unified video platform is established on the basis of connection orientation, the data processing capacity of the video networking and unified video platform is independent of flow and communication time, and a single network layer can contain signaling and data transmission. For voice and video services, the complexity of video networking and unified video platform streaming media processing is much simpler than that of data processing, and the efficiency is greatly improved by more than one hundred times compared with that of a traditional server.
Storage Technology (Storage Technology)
The super-high speed storage technology of the unified video platform adopts the most advanced real-time operating system in order to adapt to the media content with super-large capacity and super-large flow, the program information in the server instruction is mapped to the specific hard disk space, the media content is not passed through the server any more, and is directly sent to the user terminal instantly, and the general waiting time of the user is less than 0.2 second. The optimized sector distribution greatly reduces the mechanical motion of the magnetic head track seeking of the hard disk, the resource consumption only accounts for 20% of that of the IP internet of the same grade, but concurrent flow which is 3 times larger than that of the traditional hard disk array is generated, and the comprehensive efficiency is improved by more than 10 times.
Network Security Technology (Network Security Technology)
The structural design of the video network completely eliminates the network security problem troubling the internet structurally by the modes of independent service permission control each time, complete isolation of equipment and user data and the like, generally does not need antivirus programs and firewalls, avoids the attack of hackers and viruses, and provides a structural carefree security network for users.
Service Innovation Technology (Service Innovation Technology)
The unified video platform integrates services and transmission, and is not only automatically connected once whether a single user, a private network user or a network aggregate. The user terminal, the set-top box or the PC are directly connected to the unified video platform to obtain various multimedia video services in various forms. The unified video platform adopts a menu type configuration table mode to replace the traditional complex application programming, can realize complex application by using very few codes, and realizes infinite new service innovation.
Networking of the video network is as follows:
the video network is a centralized control network structure, and the network can be a tree network, a star network, a ring network and the like, but on the basis of the centralized control node, the whole network is controlled by the centralized control node in the network.
As shown in fig. 6, the video network is divided into an access network and a metropolitan network.
The devices of the access network part can be mainly classified into 3 types: node server, access switch, terminal (including various set-top boxes, coding boards, memories, etc.). The node server is connected to an access switch, which may be connected to a plurality of terminals and may be connected to an ethernet network.
The node server is a node which plays a centralized control function in the access network and can control the access switch and the terminal. The node server can be directly connected with the access switch or directly connected with the terminal.
Similarly, devices of the metropolitan network portion may also be classified into 3 types: a metropolitan area server, a node switch and a node server. The metro server is connected to a node switch, which may be connected to a plurality of node servers.
The node server is a node server of the access network part, namely the node server belongs to both the access network part and the metropolitan area network part.
The metropolitan area server is a node which plays a centralized control function in the metropolitan area network and can control a node switch and a node server. The metropolitan area server can be directly connected with the node switch or directly connected with the node server.
Therefore, the whole video network is a network structure with layered centralized control, and the network controlled by the node server and the metropolitan area server can be in various structures such as tree, star and ring.
The access network part can form a unified video platform (the part in the dotted circle), and a plurality of unified video platforms can form a video network; each unified video platform may be interconnected via metropolitan area and wide area video networking.
Video networking device classification
1.1 devices in the video network of the embodiment of the present invention can be mainly classified into 3 types: servers, switches (including ethernet gateways), terminals (including various set-top boxes, code boards, memories, etc.). The video network as a whole can be divided into a metropolitan area network (or national network, global network, etc.) and an access network.
1.2 wherein the devices of the access network part can be mainly classified into 3 types: node servers, access switches (including ethernet gateways), terminals (including various set-top boxes, code boards, memories, etc.).
The specific hardware structure of each access network device is as follows:
a node server:
as shown in fig. 7, the system mainly includes a network interface module 701, a switching engine module 702, a CPU module 703, and a disk array module 704;
the network interface module 701, the CPU module 703 and the disk array module 704 enter the switching engine module 702; the switching engine module 702 performs an operation of looking up the address table 705 on the incoming packet, thereby obtaining the direction information of the packet; and stores the packet in a corresponding queue of the packet buffer 706 based on the packet's steering information; if the queue of the packet buffer 706 is nearly full, discard; the switching engine module 702 polls all packet buffer queues for forwarding if the following conditions are met: 1) the port send buffer is not full; 2) the queue packet counter is greater than zero. The disk array module 704 mainly implements control over the hard disk, including initialization, read-write, and other operations; the CPU module 703 is mainly responsible for protocol processing with an access switch and a terminal (not shown in the figure), configuring an address table 705 (including a downlink protocol packet address table, an uplink protocol packet address table, and a data packet address table), and configuring the disk array module 704.
The access switch:
as shown in fig. 8, the network interface module mainly includes a network interface module (a downlink network interface module 801, an uplink network interface module 802), a switching engine module 803, and a CPU module 804;
wherein, the packet (uplink data) coming from the downlink network interface module 801 enters the packet detection module 805; the packet detection module 805 detects whether the Destination Address (DA), the Source Address (SA), the packet type, and the packet length of the packet meet the requirements, and if so, allocates a corresponding stream identifier (stream-id) and enters the switching engine module 803, otherwise, discards the stream identifier; the packet (downstream data) coming from the upstream network interface module 802 enters the switching engine module 803; the incoming data packet from the CPU module 804 enters the switching engine module 803; the switching engine module 803 performs an operation of looking up the address table 806 on the incoming packet, thereby obtaining the direction information of the packet; if the packet entering the switching engine module 803 is from the downstream network interface to the upstream network interface, the packet is stored in a queue of the corresponding packet buffer 807 in association with a stream-id; if the queue of the packet buffer 807 is nearly full, it is discarded; if the packet entering the switching engine module 803 is not from the downlink network interface to the uplink network interface, the data packet is stored in the queue of the corresponding packet buffer 807 according to the packet guiding information; if the queue of the packet buffer 807 is nearly full, it is discarded.
The switching engine module 803 polls all packet buffer queues, which in this embodiment of the invention is divided into two cases:
if the queue is from the downlink network interface to the uplink network interface, the following conditions are met for forwarding: 1) the port send buffer is not full; 2) the queued packet counter is greater than zero; 3) obtaining a token generated by a code rate control module;
if the queue is not from the downlink network interface to the uplink network interface, the following conditions are met for forwarding: 1) the port send buffer is not full; 2) the queue packet counter is greater than zero.
The rate control module 708 is configured by the CPU module 704 to generate tokens for packet buffer queues going to the upstream network interface for all downstream network interfaces at programmable intervals to control the rate of upstream forwarding.
The CPU module 804 is mainly responsible for protocol processing with the node server, configuration of the address table 806, and configuration of the code rate control module 808.
Ethernet protocol conversion gateway
As shown in fig. 9, the system mainly includes a network interface module (a downlink network interface module 901 and an uplink network interface module 902), a switching engine module 903, a CPU module 904, a packet detection module 905, a rate control module 908, an address table 906, a packet buffer 907, a MAC adding module 909, and a MAC deleting module 910.
Wherein, the data packet coming from the downlink network interface module 901 enters the packet detection module 905; the packet detection module 905 detects whether the ethernet MAC DA, the ethernet MAC SA, the ethernet length or frame type, the video network destination address DA, the video network source address SA, the video network packet type, and the packet length of the packet meet the requirements, and if so, allocates a corresponding stream identifier (stream-id); then, the MAC deleting module 910 subtracts MAC DA, MAC SA, length or frame type (2byte), and enters the corresponding receiving buffer, otherwise, discards it;
the downlink network interface module 901 detects the sending buffer of the port, and if there is a packet, obtains the ethernet MAC DA of the corresponding terminal according to the destination address DA of the packet, adds the ethernet MAC DA of the terminal, the MAC SA of the ethernet protocol gateway, and the ethernet length or frame type, and sends the packet.
The other modules in the ethernet protocol gateway function similarly to the access switch.
A terminal:
the system mainly comprises a network interface module, a service processing module and a CPU module; for example, the set-top box mainly comprises a network interface module, a video and audio coding and decoding engine module and a CPU module; the coding board mainly comprises a network interface module, a video and audio coding engine module and a CPU module; the memory mainly comprises a network interface module, a CPU module and a disk array module.
1.3 devices of the metropolitan area network part can be mainly classified into 2 types: node server, node exchanger, metropolitan area server. The node switch mainly comprises a network interface module, a switching engine module and a CPU module; the metropolitan area server mainly comprises a network interface module, a switching engine module and a CPU module.
2. Video networking packet definition
2.1 Access network packet definition
The data packet of the access network mainly comprises the following parts: destination Address (DA), Source Address (SA), reserved bytes, payload (pdu), CRC.
As shown in the following table, the data packet of the access network mainly includes the following parts:
DA SA Reserved Payload CRC
wherein:
the Destination Address (DA) is composed of 8 bytes (byte), the first byte represents the type of the data packet (such as various protocol packets, multicast data packets, unicast data packets, etc.), there are 256 possibilities at most, the second byte to the sixth byte are metropolitan area network addresses, and the seventh byte and the eighth byte are access network addresses;
the Source Address (SA) is also composed of 8 bytes (byte), defined as the same as the Destination Address (DA);
the reserved byte consists of 2 bytes;
the payload part has different lengths according to different types of datagrams, and is 64 bytes if the datagram is various types of protocol packets, and is 32+1024 or 1056 bytes if the datagram is a unicast packet, of course, the length is not limited to the above 2 types;
the CRC consists of 4 bytes and is calculated in accordance with the standard ethernet CRC algorithm.
2.2 metropolitan area network packet definition
The topology of a metropolitan area network is a graph and there may be 2, or even more than 2, connections between two devices, i.e., there may be more than 2 connections between a node switch and a node server, a node switch and a node switch, and a node switch and a node server. However, the metro network address of the metro network device is unique, and in order to accurately describe the connection relationship between the metro network devices, parameters are introduced in the embodiment of the present invention: a label to uniquely describe a metropolitan area network device.
In this specification, the definition of the Label is similar to that of the Label of MPLS (Multi-Protocol Label Switch), and assuming that there are two connections between the device a and the device B, there are 2 labels for the packet from the device a to the device B, and 2 labels for the packet from the device B to the device a. The label is classified into an incoming label and an outgoing label, and assuming that the label (incoming label) of the packet entering the device a is 0x0000, the label (outgoing label) of the packet leaving the device a may become 0x 0001. The network access process of the metro network is a network access process under centralized control, that is, address allocation and label allocation of the metro network are both dominated by the metro server, and the node switch and the node server are both passively executed, which is different from label allocation of MPLS, and label allocation of MPLS is a result of mutual negotiation between the switch and the server.
As shown in the following table, the data packet of the metro network mainly includes the following parts:
DA SA Reserved label (R) Payload CRC
Namely Destination Address (DA), Source Address (SA), Reserved byte (Reserved), tag, payload (pdu), CRC. The format of the tag may be defined by reference to the following: the tag is 32 bits with the upper 16 bits reserved and only the lower 16 bits used, and its position is between the reserved bytes and payload of the packet.
Based on the above characteristics of the video network, one of the core concepts of the embodiments of the present invention is provided, where when the output resolutions of the video network terminals are different, the video network server sends a first encoding instruction to the first terminal with a higher output resolution, so that the first terminal encodes the collected first original video stream according to the first resolution and the second resolution, respectively, to obtain a first video stream to be transmitted and a second video stream to be transmitted, and then sends the first video stream to be transmitted to the other first terminals, and sends the second video stream to be transmitted to the second terminal with a lower output resolution. Therefore, on the one hand, the first terminal encodes two different resolutions to generate two different video streams, the requirements of different video network terminals can be met, and the video network server is not needed to transcode in the video transmission process, so that the pressure of the server can be reduced, on the other hand, the video streams of the first resolution sent by other first terminals in the video network can be received for each first terminal, and the performance of the first terminal can be fully utilized.
The embodiments in the present specification are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, apparatus, or computer program product. Accordingly, embodiments of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
Embodiments of the present invention are described with reference to flowchart illustrations and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing terminal to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing terminal to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing terminal to cause a series of operational steps to be performed on the computer or other programmable terminal to produce a computer implemented process such that the instructions which execute on the computer or other programmable terminal provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications of these embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the embodiments of the invention.
Finally, it should also be noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or terminal that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or terminal. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or terminal that comprises the element.
The video transmission method, the video transmission device and the readable storage medium provided by the present invention are described in detail above, and the principle and the implementation of the present invention are explained in this document by applying specific examples, and the description of the above examples is only used to help understanding the method and the core idea of the present invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present invention.

Claims (10)

1. A video transmission method is applied to a video network server in a video network, wherein the video network comprises the video network server and a plurality of video network terminals in communication connection with the video network server, and the method comprises the following steps:
dividing the video networking terminals into a first terminal and a second terminal according to the output resolution of each video networking terminal which is obtained in advance, wherein the output resolution of the first terminal is a first resolution, the output resolution of the second terminal is a second resolution, and the first resolution is higher than the second resolution;
sending a first coding instruction to the first terminal, wherein the first coding instruction is used for instructing the first terminal to code the collected first original video stream according to the first resolution and the second resolution respectively to obtain a first video stream to be transmitted and a second video stream to be transmitted;
receiving the first video stream to be transmitted and the second video stream to be transmitted, which are sent by the first terminal;
and sending each first video stream to be transmitted to other first terminals except the first terminal generating the first video stream to be transmitted, and sending the second video stream to be transmitted to the second terminal.
2. The method according to claim 1, wherein after said separating said video network terminals into a first terminal and a second terminal according to a pre-obtained output resolution of each of said video network terminals, said method further comprises:
sending a second coding instruction to the second terminal, wherein the second coding instruction is used for instructing the second terminal to code the collected second original video stream according to the second resolution to obtain a third video stream to be transmitted;
receiving the third video stream to be transmitted sent by the second terminal;
and sending each third video stream to be transmitted to the first terminal and other second terminals except the second terminal generating the third video stream to be transmitted.
3. The method according to claim 1, wherein the video network further comprises a scheduling device in communication connection with the video network server, and before the video network terminal is divided into a first terminal and a second terminal according to the pre-obtained output resolution of each video network terminal, the method further comprises:
receiving meeting place information sent by the scheduling equipment, wherein the meeting place information comprises identity information of each video networking terminal participating in the video conference;
the dividing the video network terminal into a first terminal and a second terminal according to the output resolution of each video network terminal obtained in advance comprises:
after receiving a video conference starting instruction sent by the scheduling equipment, searching the output resolution of the video networking terminals participating in the video conference from an information database according to the identity information, wherein the information database comprises the corresponding relation between the identity information and the output resolution of each video networking terminal;
and dividing the video networking terminals participating in the video conference into a first terminal and a second terminal according to the output resolution of the video networking terminals participating in the video conference.
4. A video transmission method is applied to a video network terminal in a video network, wherein the video network comprises a video network server and a plurality of video network terminals in communication connection with the video network server, and the method comprises the following steps:
receiving an encoding instruction sent by the video networking server, wherein the encoding instruction comprises a target resolution;
if the target resolution comprises a first resolution and a second resolution, encoding the acquired original video stream according to the first resolution and the second resolution respectively to obtain a first video stream to be transmitted and a second video stream to be transmitted;
and sending the first video stream to be transmitted and the second video stream to be transmitted to the video networking server so that the video networking server sends the first video stream to be transmitted to other video networking terminals with the output resolution being the first resolution, and sends the second video stream to be transmitted to the video networking terminals with the output resolution being the second resolution, wherein the first resolution is higher than the second resolution.
5. The method of claim 4, wherein if the target resolution comprises only a second resolution, the method comprises:
encoding the collected original video stream according to the second resolution to obtain a third video stream to be transmitted;
and sending the third video stream to be transmitted to the video networking server so that the video networking server sends the third video stream to be transmitted to other video networking terminals.
6. The method of claim 4, wherein the encoding the acquired original video stream according to the first resolution and the second resolution to obtain a first video stream to be transmitted and a second video stream to be transmitted respectively comprises:
acquiring an original video stream acquired by video acquisition equipment;
calling a first thread, and encoding the original video stream according to the first resolution to obtain a first video stream to be transmitted, so that the video network server sends the first video stream to be transmitted to other video network terminals with the output resolution being the first resolution based on the port number of the first thread;
and calling a second thread, and encoding the original video stream according to the second resolution to obtain a second video stream to be transmitted, so that the video networking server sends the second video stream to be transmitted to a video networking terminal with the output resolution as the second resolution based on the port number of the second thread.
7. A video transmission device is applied to a video network server in a video network, wherein the video network comprises the video network server and a plurality of video network terminals in communication connection with the video network server, and the device comprises:
the classification module is used for classifying the video network terminals into a first terminal and a second terminal according to the output resolution of each video network terminal which is acquired in advance, wherein the output resolution of the first terminal is a first resolution, the output resolution of the second terminal is a second resolution, and the first resolution is higher than the second resolution;
the instruction sending module is used for sending a first coding instruction to the first terminal, wherein the first coding instruction is used for instructing the first terminal to code the collected first original video stream according to the first resolution and the second resolution respectively to obtain a first video stream to be transmitted and a second video stream to be transmitted;
a video stream receiving module, configured to receive the first to-be-transmitted video stream and the second to-be-transmitted video stream sent by the first terminal;
and the first video stream sending module is used for sending each first video stream to be transmitted to other first terminals except the first terminal which generates the first video stream to be transmitted, and sending the second video stream to be transmitted to the second terminal.
8. A video transmission device is applied to a video network terminal in a video network, wherein the video network comprises a video network server and a plurality of video network terminals in communication connection with the video network server, and the device comprises:
the instruction receiving module is used for receiving a coding instruction sent by the video network server, wherein the coding instruction comprises a target resolution;
the encoding module is used for encoding the acquired original video stream according to a first resolution and a second resolution respectively to obtain a first video stream to be transmitted and a second video stream to be transmitted if the target resolution comprises the first resolution and the second resolution;
the second video stream sending module is used for sending the first video stream to be transmitted and the second video stream to be transmitted to the video networking server so that the video networking server sends the first video stream to be transmitted to other video networking terminals with the output resolution being the first resolution, and sends the second video stream to be transmitted to the video networking terminals with the output resolution being the second resolution, and the first resolution is higher than the second resolution.
9. A video transmission device, comprising:
one or more processors; and
one or more machine readable media having instructions stored thereon that, when executed by the one or more processors, cause the device to perform the video transmission method of any of claims 1-3 or 4-6.
10. A computer-readable storage medium storing a computer program for causing a processor to execute the video transmission method according to any one of claims 1 to 3 or 4 to 6.
CN202010820642.1A 2020-08-14 2020-08-14 Video transmission method, device, equipment and readable storage medium Pending CN112104835A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010820642.1A CN112104835A (en) 2020-08-14 2020-08-14 Video transmission method, device, equipment and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010820642.1A CN112104835A (en) 2020-08-14 2020-08-14 Video transmission method, device, equipment and readable storage medium

Publications (1)

Publication Number Publication Date
CN112104835A true CN112104835A (en) 2020-12-18

Family

ID=73753754

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010820642.1A Pending CN112104835A (en) 2020-08-14 2020-08-14 Video transmission method, device, equipment and readable storage medium

Country Status (1)

Country Link
CN (1) CN112104835A (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257607A (en) * 2008-03-12 2008-09-03 中兴通讯股份有限公司 Multiple-picture processing system and method for video conference
CN102246521A (en) * 2008-12-15 2011-11-16 微软公司 Video conference rate matching
JP2016192610A (en) * 2015-03-31 2016-11-10 ブラザー工業株式会社 Remote conference program, controller and remote conference method
CN107241564A (en) * 2016-03-29 2017-10-10 华为技术有限公司 Multi-stream video conference method based on IMS network architecture, apparatus and system
CN108076301A (en) * 2016-11-11 2018-05-25 联芯科技有限公司 The method for processing video frequency and system of VoLTE video multi-party telephones
CN108400956A (en) * 2017-02-07 2018-08-14 阿里巴巴集团控股有限公司 Distribution method, the device and system of video data stream
CN110636326A (en) * 2019-11-14 2019-12-31 广州酷狗计算机科技有限公司 Live video processing method and device and storage medium
CN111107393A (en) * 2019-11-29 2020-05-05 视联动力信息技术股份有限公司 Video transcoding method, transcoder, electronic device and storage medium
CN111385515A (en) * 2018-12-27 2020-07-07 北京紫荆视通科技有限公司 Video conference data transmission method and video conference data transmission system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257607A (en) * 2008-03-12 2008-09-03 中兴通讯股份有限公司 Multiple-picture processing system and method for video conference
CN102246521A (en) * 2008-12-15 2011-11-16 微软公司 Video conference rate matching
JP2016192610A (en) * 2015-03-31 2016-11-10 ブラザー工業株式会社 Remote conference program, controller and remote conference method
CN107241564A (en) * 2016-03-29 2017-10-10 华为技术有限公司 Multi-stream video conference method based on IMS network architecture, apparatus and system
CN108076301A (en) * 2016-11-11 2018-05-25 联芯科技有限公司 The method for processing video frequency and system of VoLTE video multi-party telephones
CN108400956A (en) * 2017-02-07 2018-08-14 阿里巴巴集团控股有限公司 Distribution method, the device and system of video data stream
CN111385515A (en) * 2018-12-27 2020-07-07 北京紫荆视通科技有限公司 Video conference data transmission method and video conference data transmission system
CN110636326A (en) * 2019-11-14 2019-12-31 广州酷狗计算机科技有限公司 Live video processing method and device and storage medium
CN111107393A (en) * 2019-11-29 2020-05-05 视联动力信息技术股份有限公司 Video transcoding method, transcoder, electronic device and storage medium

Similar Documents

Publication Publication Date Title
CN108737768B (en) Monitoring method and monitoring device based on monitoring system
CN109996086B (en) Method and device for inquiring service state of video networking
CN110022295B (en) Data transmission method and video networking system
CN109150905B (en) Video network resource release method and video network sharing platform server
CN109474715B (en) Resource configuration method and device based on video network
CN110602266B (en) Domain name resolution method and system
CN110460804B (en) Conference data transmitting method, system, device and computer readable storage medium
CN108809921B (en) Audio processing method, video networking server and video networking terminal
CN110049341B (en) Video processing method and device
CN109788235B (en) Video networking-based conference recording information processing method and system
CN109040656B (en) Video conference processing method and system
CN111147859A (en) Video processing method and device
CN110113564B (en) Data acquisition method and video networking system
CN109302384B (en) Data processing method and system
CN109005378B (en) Video conference processing method and system
CN111131743A (en) Video call method and device based on browser, electronic equipment and storage medium
CN110830826A (en) Video transcoding equipment scheduling method and system
CN110611639A (en) Audio data processing method and device for streaming media conference
CN110087147B (en) Audio and video stream transmission method and device
CN109842630B (en) Video processing method and device
CN110086773B (en) Audio and video data processing method and system
CN110830762B (en) Audio and video data processing method and system
CN110661749A (en) Video signal processing method and video networking terminal
CN110460811B (en) Multimedia data processing method and system based on video network
CN110536148B (en) Live broadcasting method and equipment based on video networking

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