Disclosure of Invention
In view of the above problems, embodiments of the present invention are proposed to provide a new video stream playing method and a corresponding new video stream playing system that overcome or at least partially solve the above problems.
According to an aspect of the present invention, a novel video stream playing method is provided, where a novel device and a streaming media server are deployed in an IP network, and a video networking server and a video networking terminal are deployed in a video networking, the method includes:
the novel equipment collects a novel video stream;
the streaming media server acquires a target video stream which is obtained based on the novel video stream transcoding and is suitable for being played by the video networking terminal;
the streaming media server sends the target video stream to a video network server;
and the video networking server sends the target video stream to the video networking terminal for playing according to the downlink communication link configured for the video networking terminal.
Optionally, the IP network is further deployed with a transcoding server, and the method further includes:
the streaming media server sends the novel video stream to a transcoding server;
the transcoding server transcodes the novel video stream into a target video stream suitable for being played by a video network terminal;
the stream media server obtains a target video stream which is obtained based on the novel video stream transcoding and is suitable for being played by a video network terminal, and the method comprises the following steps:
and the streaming media server receives the target video stream sent by the transcoding server.
Optionally, the streaming server sends the new type of video stream to a transcoding server, including:
the streaming media server detects the connection state between the streaming media server and the transcoding server;
when the connection state is successful, the streaming media server sends the novel video stream to a transcoding server;
and when the connection state is connection failure, the streaming media server ignores the novel video stream.
Optionally, the transcoding server transcodes the new video stream into a target video stream suitable for being played by a video network terminal, including:
the transcoding server decodes the novel video stream into a characteristic video stream;
and the transcoding server encodes the characteristic video stream into a target video stream suitable for being played by the video network terminal.
Optionally, the format of the new video stream is h.265, the format of the feature video stream is YUV, and the format of the target video stream is h.264.
Optionally, the novel device captures a novel video stream, comprising:
the novel equipment collects original video stream;
the novel equipment queries the novel encoder corresponding to the H.265;
and the novel device calls the novel encoder to encode the original video stream into a novel video stream.
Optionally, the transcoding server decodes the new video stream into a feature video stream, including:
the transcoding server queries the novel decoder corresponding to the H.265;
and the transcoding server calls the novel decoder to decode the novel video stream into a characteristic video stream.
Optionally, the transcoding server encodes the feature video stream into a target video stream suitable for being played by a video networking terminal, including:
the transcoding server detects the load state;
the transcoding server determines coding parameters according to the load state;
and the transcoding server encodes the characteristic video stream into a target video stream suitable for being played by the video network terminal according to the encoding parameters.
According to another aspect of the present invention, a novel video stream playing system is provided, in which a novel device and a streaming media server are deployed in an IP network, and a video networking server and a video networking terminal are deployed in a video networking;
the novel equipment comprises a novel video stream acquisition module, the streaming media server comprises a target video stream acquisition module and a first target video stream sending module, and the video networking server comprises a second target video stream sending module;
the novel video stream acquisition module is used for acquiring novel video streams;
the target video stream acquisition module is used for acquiring a target video stream which is obtained based on the novel video stream transcoding and is suitable for being played by a video network terminal;
the first target video stream sending module is used for sending the target video stream to a video network server;
and the second target video stream sending module is used for sending the target video stream to the video networking terminal for playing according to the downlink communication link configured for the video networking terminal.
Optionally, the IP network is further deployed with a transcoding server, the streaming media server further includes a novel video stream sending module, and the transcoding server includes a video stream transcoding module:
the novel video stream sending module is used for sending the novel video stream to the transcoding server;
the video stream transcoding module is used for transcoding the novel video stream into a target video stream suitable for being played by a video network terminal;
the video stream transcoding module comprises:
and the target video stream receiving submodule is used for receiving the target video stream sent by the transcoding server.
Optionally, the novel video stream sending module includes:
the connection state detection submodule is used for detecting the connection state between the transcoding server and the server;
the successful sending submodule is used for sending the novel video stream to the transcoding server when the connection state is successful;
and the failure ignoring submodule is used for ignoring the novel video stream when the connection state is the connection failure.
Optionally, the video stream transcoding module includes:
a decoding submodule for decoding the new video stream into a feature video stream;
and the coding submodule is used for coding the characteristic video stream into a target video stream suitable for being played by a video network terminal.
Optionally, the format of the new video stream is h.265, the format of the feature video stream is YUV, and the format of the target video stream is h.264.
Optionally, the novel video stream capture module includes:
the original video stream acquisition submodule is used for acquiring an original video stream;
the novel encoder query submodule is used for querying the novel encoder corresponding to the H.265;
and the novel encoder calling submodule is used for calling the novel encoder to encode the original video stream into a novel video stream.
Optionally, the decoding sub-module includes:
the novel decoder inquiry unit is used for inquiring the novel decoder corresponding to the H.265;
and the novel decoder calling unit is used for calling the novel decoder to decode the novel video stream into the characteristic video stream.
Optionally, the encoding submodule includes:
a load state detection unit for detecting a load state;
the coding parameter determining unit is used for determining coding parameters according to the load state;
and the coding parameter coding unit is used for coding the characteristic video stream into a target video stream suitable for being played by the video network terminal according to the coding parameters.
The embodiment of the invention has the following advantages:
in the embodiment of the invention, novel equipment and a streaming media server are deployed in an IP network, a video network server and a video network terminal are deployed in a video network, the novel equipment acquires a novel video stream, the streaming media server acquires a target video stream which is obtained based on novel video stream transcoding and is suitable for being played by the video network terminal, the streaming media server sends the target video stream to the video network server, the video network server sends the target video stream to the video network terminal for playing according to a downlink communication link configured for the video network terminal, and the novel video stream is uniformly transcoded in the IP network, so that the video network terminal can be directly played, the compatibility of the video network is improved, the video network terminal does not need to be upgraded or replaced on a large scale, and the cost is greatly reduced.
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.
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 (Servertechnology)
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. 1, 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. 2, the system mainly includes a network interface module 201, a switching engine module 202, a CPU module 203, and a disk array module 204;
the network interface module 201, the CPU module 203, and the disk array module 204 all enter the switching engine module 202; the switching engine module 202 performs an operation of looking up the address table 205 on the incoming packet, thereby obtaining the direction information of the packet; and stores the packet in a queue of the corresponding packet buffer 206 based on the packet's steering information; if the queue of the packet buffer 206 is nearly full, it is discarded; the switching engine module 202 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 204 mainly implements control over the hard disk, including initialization, read-write, and other operations on the hard disk; the CPU module 203 is mainly responsible for protocol processing with an access switch and a terminal (not shown in the figure), configuring an address table 205 (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 204.
The access switch:
as shown in fig. 3, the network interface module mainly includes a network interface module (a downlink network interface module 301 and an uplink network interface module 302), a switching engine module 303 and a CPU module 304;
wherein, the packet (uplink data) coming from the downlink network interface module 301 enters the packet detection module 305; the packet detection module 305 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 303, otherwise, discards the stream identifier; the packet (downstream data) coming from the upstream network interface module 302 enters the switching engine module 303; the incoming data packet of the CPU module 304 enters the switching engine module 303; the switching engine module 303 performs an operation of looking up the address table 306 on the incoming packet, thereby obtaining the direction information of the packet; if the packet entering the switching engine module 303 is from the downstream network interface to the upstream network interface, the packet is stored in the queue of the corresponding packet buffer 307 in association with the stream-id; if the queue of the packet buffer 307 is nearly full, it is discarded; if the packet entering the switching engine module 303 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 307 according to the guiding information of the packet; if the queue of the packet buffer 307 is nearly full, it is discarded.
The switching engine module 303 polls all packet buffer queues, which in this embodiment of the present 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 308 is configured by the CPU module 304, and generates tokens for packet buffer queues from all downstream network interfaces to upstream network interfaces at programmable intervals to control the rate of upstream forwarding.
The CPU module 304 is mainly responsible for protocol processing with the node server, configuration of the address table 306, and configuration of the code rate control module 308.
Ethernet protocol conversion gateway:
As shown in fig. 4, the apparatus mainly includes a network interface module (a downlink network interface module 401 and an uplink network interface module 402), a switching engine module 403, a CPU module 404, a packet detection module 405, a rate control module 408, an address table 406, a packet buffer 407, a MAC adding module 409, and a MAC deleting module 410.
Wherein, the data packet coming from the downlink network interface module 401 enters the packet detection module 405; the packet detection module 405 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 deletion module 410 subtracts MAC DA, MAC SA, length or frame type (2byte) and enters the corresponding receiving buffer, otherwise, discards it;
the downlink network interface module 401 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.
Referring to fig. 5, a flowchart illustrating steps of a method for playing a novel video stream according to an embodiment of the present invention is shown, which may specifically include the following steps:
step 501, the novel device collects a novel video stream.
In specific implementation, a novel device and a streaming media server are deployed in an IP network, and a video network server and a video network terminal are deployed in a video network.
The novel device can be a device used in the monitoring field, such as a camera used in the monitoring field, and can acquire a novel video stream.
In the monitoring field, with the development of technology, a novel audio/video coding and decoding standard is generally adopted for coding and decoding.
Step 502, the streaming media server obtains a target video stream suitable for being played by the video network terminal and obtained based on the novel video stream transcoding.
In the embodiment of the invention, the novel video stream can be transcoded in the IP network, and the novel video stream is converted into the target video stream suitable for being played at the terminal of the video network.
The streaming media server can obtain the target video stream and forward the target video stream to the video network.
It should be noted that the transcoding process may be executed in other devices independent from the streaming media server, or may be executed in the streaming media server, which is not limited in this embodiment of the present invention.
Step 503, the streaming media server sends the target video stream to the video network server.
In the embodiment of the invention, the protocol conversion server is deployed at the edge of the video network, and the protocol conversion server is configured with a gateway of an IP network and a gateway of the video network.
The streaming media server can send the target video stream to the protocol conversion server, and the protocol conversion server performs protocol conversion from the IP network to the video network on the target video stream and sends the target video stream to the video network server.
In one example, packets of a target video stream may be encapsulated for transmission over an internet of view by the 2000 specification of the following internet of view protocol:
and step 504, the video network server sends the target video stream to the video network terminal for playing according to the downlink communication link configured for the video network terminal.
In a specific implementation, the video networking terminal may be a set-top box (STB), commonly referred to as a set-top box or set-top box, which is a device that connects a television set to an external signal source and converts compressed digital signals into television content for display on the television set.
In practical applications, the video network is a network with a centralized control function, and includes a master control server and a lower level network device, where the lower level network device includes a terminal, and one of the core concepts of the video network is to configure a table for a downlink communication link of a current service by notifying a switching device by the master control server, and then transmit a data packet based on the configured table.
Namely, the communication method in the video network includes:
and the master control server configures the downlink communication link of the current service.
And transmitting the data packet of the current service sent by the source terminal to a target terminal (such as a video network terminal) according to the downlink communication link.
In the embodiment of the present invention, configuring the downlink communication link of the current service includes: and informing the switching equipment related to the downlink communication link of the current service to allocate the table.
Further, transmitting according to the downlink communication link includes: the configured table is consulted, and the switching equipment transmits the received data packet through the corresponding port.
In particular implementations, the services include unicast communication services and multicast communication services. Namely, whether multicast communication or unicast communication, the core concept of the table matching-table can be adopted to realize communication in the video network.
As mentioned above, the video network includes an access network portion, in which the master server is a node server and the lower-level network devices include an access switch and a terminal.
For the unicast communication service in the access network, the step of configuring the downlink communication link of the current service by the master server may include the following steps:
and a substep S11, the main control server obtains the downlink communication link information of the current service according to the service request protocol packet initiated by the source terminal, wherein the downlink communication link information includes the downlink communication port information of the main control server and the access switch participating in the current service.
In the substep S12, the main control server sets a downlink port to which a packet of the current service is directed in a packet address table inside the main control server according to the downlink communication port information of the control server; and sending a port configuration command to the corresponding access switch according to the downlink communication port information of the access switch.
In sub-step S13, the access switch sets the downstream port to which the packet of the current service is directed in its internal packet address table according to the port configuration command.
For a multicast communication service (e.g., video conference) in the access network, the step of the master server obtaining downlink information of the current service may include the following sub-steps:
in sub-step S21, the main control server obtains a service request protocol packet initiated by the target terminal and applying for the multicast communication service, where the service request protocol packet includes service type information, service content information, and an access network address of the target terminal.
Wherein, the service content information includes a service number.
And a substep S22, the main control server extracts the access network address of the source terminal in a preset content-address mapping table according to the service number.
In the substep of S23, the main control server obtains the multicast address corresponding to the source terminal and distributes the multicast address to the target terminal; and acquiring the communication link information of the current multicast service according to the service type information and the access network addresses of the source terminal and the target terminal.
In the embodiment of the invention, novel equipment and a streaming media server are deployed in an IP network, a video network server and a video network terminal are deployed in a video network, the novel equipment acquires a novel video stream, the streaming media server acquires a target video stream which is obtained based on novel video stream transcoding and is suitable for being played by the video network terminal, the streaming media server sends the target video stream to the video network server, the video network server sends the target video stream to the video network terminal for playing according to a downlink communication link configured for the video network terminal, and the novel video stream is uniformly transcoded in the IP network, so that the video network terminal can be directly played, the compatibility of the video network is improved, the video network terminal does not need to be upgraded or replaced on a large scale, and the cost is greatly reduced.
Referring to fig. 6, a flowchart illustrating steps of a method for playing a new video stream according to an embodiment of the present invention is shown, which may specifically include the following steps:
step 601, the novel device collects novel video streams.
In the specific implementation, a novel device, a streaming media server and a transcoding server are deployed in an IP network, the novel device is connected with the streaming media server, and the transcoding server is connected with the streaming media server.
A video network server and a video network terminal are deployed in the video network.
The novel equipment collects the novel video stream and sends the novel video stream to the streaming media server.
In one example of the new video stream, the format of the new video stream is h.265.
In this example, the new model device captures the original video stream, such as PCM data, the transcoding server queries the new model encoder corresponding to h.265, and the new model device invokes the new model encoder to encode the original video stream into the new model video stream.
In the novel encoder, a video image is divided into basic block units, intra-frame prediction or inter-frame prediction is selected according to the image type to predict the block units, the difference between an original block and a prediction signal, namely a prediction residual error, is obtained, transformation and quantization processing are carried out on the prediction residual error, and the obtained quantized transformation coefficient is obtained.
On the one hand, encoded data, i.e. compressed video data, is obtained via entropy encoding.
On the other hand, an approximate value of a residual error is obtained through inverse quantization and inverse transformation processing, the approximate value is added with a prediction signal to obtain a reconstructed image, and the reconstructed image is subjected to loop filtering processing and then is finally sent to a reference image buffer area to be used as a reference image of subsequent image coding.
Step 602, the streaming media server sends the new video stream to the transcoding server.
Since the encoding and decoding consume resources such as memory and a Central Processing Unit (CPU), the streaming media server can send a new video stream to a separate transcoding server for encoding and decoding.
In one embodiment of the present invention, step 602 may include the following sub-steps:
and a sub-step S31, detecting the connection state between the streaming media server and the transcoding server.
And a substep S32, when the connection state is successful, the streaming media server sends the new video stream to the transcoding server.
In sub-step S33, when the connection status is connection failure, the streaming media server ignores the new video stream.
In the embodiment of the invention, the transcoding server can initiate connection to the streaming media server, and if the connection is successful, the streaming media server maintains the connection state with the transcoding server.
In practical application, the streaming media server may send a heartbeat instruction to the transcoding server at regular time, and the transcoding server feeds back a heartbeat response to the streaming media server accordingly.
And if the streaming media server receives the heartbeat response within the specified time period, confirming that the connection state between the streaming media server and the transcoding server is successful.
And if the streaming media server does not receive the heartbeat response within the specified time period, confirming that the connection state between the streaming media server and the transcoding server is connection failure.
The streaming media server can detect the connection state between the streaming media server and the transcoding server when receiving the novel video stream of the novel equipment, if the connection is successful, the novel video stream is sent to the transcoding server through the connection, and if the connection is failed, the novel video stream is ignored, and wrong information is returned to the novel equipment.
Step 603, the transcoding server decodes the new video stream into a feature video stream.
In a specific implementation, the transcoding server may decode the new type of video stream into a feature video stream of a specified format, and then perform encoding processing.
In one example of the new video stream, the format of the new video stream is h.265.
In this case, the transcoding server may query the new type decoder corresponding to h.265, and the transcoding server invokes the new type decoder to decode the new type video stream into the feature video stream.
In the novel decoder, the spatial redundancy of an image is eliminated by adopting intra-frame prediction, the temporal redundancy of a video is eliminated by utilizing inter-frame prediction, the distortion of a coded image is reduced by transformation quantization processing, the statistical redundancy is further reduced by arithmetic coding, and finally the distortion of the coded image is reduced by filtering processing.
The image using intra-frame prediction is generally an I-frame located at the first frame or a random access point of a video, and is encoded only by using pixel information of the image itself.
For pictures at other positions in the video, inter-coding is achieved by using the reference picture information.
In an example of a feature video stream, the format of the feature video stream is YUV (YUV is a color coding method, Y denotes brightness, and U and V denote chroma).
The YUV format is for image compression and is for utilizing the physiological characteristics of human perception of an image. Because people are sensitive to brightness and relatively insensitive to color information, the YUV format is a format in which images are separately expressed by brightness and chroma, the chroma is easy to remove, and after that, coding of other compression algorithms is started.
And step 604, the transcoding server encodes the characteristic video stream into a target video stream suitable for being played by the video network terminal.
If the transcoding server decodes the novel video stream into the characteristic video stream, the characteristic video stream can be encoded into a target video stream suitable for being played by the video networking terminal according to the set encoding parameters (such as resolution), so that the target video stream can be played in the video networking terminal.
In one example, the format of the target video stream is h.264.
In this example, an encoder corresponding to h.264 may be invoked, and the feature video stream is encoded into a target video stream suitable for being played by the video network terminal according to the set encoding parameters.
In one case, the encoding parameters may be preset to a uniform value, and after reading the value, the encoding process may be performed.
In another case, the transcoding server detects a load condition, such as memory occupancy, CPU occupancy, etc.
And the transcoding server determines the encoding parameters according to the load state, so that the resources consumed by encoding are in accordance with the load condition.
Taking the resolution as an example, the larger the load, the smaller the resolution, and conversely, the smaller the load, the larger the resolution.
And the transcoding server encodes the characteristic video stream into a target video stream suitable for being played by the video network terminal according to the encoding parameters.
Step 605, the streaming media server receives the target video stream sent by the transcoding server.
And after the transcoding is completed, the transcoding server sends the target video stream to the streaming media server.
And 606, the streaming media server sends the target video stream to a video network server.
Step 607, the video network server sends the target video stream to the video network terminal for playing according to the downlink communication link configured for the video network terminal.
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.
Referring to fig. 7, a block diagram of a novel video stream playing system according to an embodiment of the present invention is shown, where a novel device 710 and a streaming media server 720 are deployed in an IP network, and a video network server 730 and a video network terminal 740 are deployed in a video network;
the novel device 710 comprises a novel video stream acquisition module 711, the streaming media server 720 comprises a target video stream acquisition module 721 and a first target video stream transmission module 722, and the video networking server 730 comprises a second target video stream transmission module 731;
the novel video stream acquisition module 711 is used for acquiring a novel video stream;
a target video stream obtaining module 721, configured to obtain a target video stream suitable for being played by a video network terminal, where the target video stream is obtained based on the transcoding of the new video stream;
a first target video stream sending module 722, configured to send the target video stream to a video networking server;
and a second target video stream sending module 731, configured to send the target video stream to the video networking terminal for playing according to the downlink communication link configured for the video networking terminal.
In an embodiment of the present invention, the IP network is further deployed with a transcoding server, the streaming server further includes a novel video stream sending module, and the transcoding server includes a video stream transcoding module:
the novel video stream sending module is used for sending the novel video stream to the transcoding server;
the video stream transcoding module is used for transcoding the novel video stream into a target video stream suitable for being played by a video network terminal;
the video stream transcoding module comprises:
and the target video stream receiving submodule is used for receiving the target video stream sent by the transcoding server.
In one embodiment of the present invention, the novel video stream transmission module includes:
the connection state detection submodule is used for detecting the connection state between the transcoding server and the server;
the successful sending submodule is used for sending the novel video stream to the transcoding server when the connection state is successful;
and the failure ignoring submodule is used for ignoring the novel video stream when the connection state is the connection failure.
In one embodiment of the present invention, the video stream transcoding module includes:
a decoding submodule for decoding the new video stream into a feature video stream;
and the coding submodule is used for coding the characteristic video stream into a target video stream suitable for being played by a video network terminal.
In an example of the embodiment of the present invention, the format of the new video stream is h.265, the format of the feature video stream is YUV, and the format of the target video stream is h.264.
In an embodiment of the present invention, the novel video stream capture module 711 includes:
the original video stream acquisition submodule is used for acquiring an original video stream;
the novel encoder query submodule is used for querying the novel encoder corresponding to the H.265;
and the novel encoder calling submodule is used for calling the novel encoder to encode the original video stream into a novel video stream.
In one embodiment of the invention, the decoding sub-module comprises:
the novel decoder inquiry unit is used for inquiring the novel decoder corresponding to the H.265;
and the novel decoder calling unit is used for calling the novel decoder to decode the novel video stream into the characteristic video stream.
In one embodiment of the invention, the encoding submodule comprises:
a load state detection unit for detecting a load state;
the coding parameter determining unit is used for determining coding parameters according to the load state;
and the coding parameter coding unit is used for coding the characteristic video stream into a target video stream suitable for being played by the video network terminal according to the coding parameters.
For the system 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.
In the embodiment of the invention, novel equipment and a streaming media server are deployed in an IP network, a video network server and a video network terminal are deployed in a video network, the novel equipment acquires a novel video stream, the streaming media server acquires a target video stream which is obtained based on novel video stream transcoding and is suitable for being played by the video network terminal, the streaming media server sends the target video stream to the video network server, the video network server sends the target video stream to the video network terminal for playing according to a downlink communication link configured for the video network terminal, and the novel video stream is uniformly transcoded in the IP network, so that the video network terminal can be directly played, the compatibility of the video network is improved, the video network terminal does not need to be upgraded or replaced on a large scale, and the cost is greatly reduced.
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 present invention provides a method and a device for playing a new video stream, which are introduced in detail above, and a specific example is applied in this document to explain the principle and the implementation of the present invention, and the description of the above embodiment is only used to help understand 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.