CN110740349A - Video transcoding method and device - Google Patents

Video transcoding method and device Download PDF

Info

Publication number
CN110740349A
CN110740349A CN201810797372.XA CN201810797372A CN110740349A CN 110740349 A CN110740349 A CN 110740349A CN 201810797372 A CN201810797372 A CN 201810797372A CN 110740349 A CN110740349 A CN 110740349A
Authority
CN
China
Prior art keywords
transcoding
target
video data
video
transcoded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810797372.XA
Other languages
Chinese (zh)
Other versions
CN110740349B (en
Inventor
王军
沈军
郭甫
乔金龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 CN201810797372.XA priority Critical patent/CN110740349B/en
Publication of CN110740349A publication Critical patent/CN110740349A/en
Application granted granted Critical
Publication of CN110740349B publication Critical patent/CN110740349B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/234309Processing 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 transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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/440218Processing 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 transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention provides video transcoding methods and devices, which are applied to video networking, wherein the methods comprise that target transcoding equipment receives a transcoding request sent by a transcoding server, the target transcoding equipment is determined by the transcoding server according to the transcoding request, the target transcoding equipment receives a video data packet to be transcoded sent by a video networking streaming media server according to the information of the target transcoding equipment, the information of the target transcoding equipment is reported to the video networking streaming media server by the transcoding server, the target transcoding equipment sorts the video data packet to be transcoded, the target transcoding equipment transcodes the sorted video data packet according to the transcoding request and sends the transcoded video data packet to the video networking streaming media server.

Description

Video transcoding method and device
Technical Field
The invention relates to the technical field of video networking, in particular to video transcoding methods and video transcoding devices.
Background
With the rapid development of network technologies, bidirectional communications such as video conferences and video teaching are widely popularized in the aspects of life, work, learning and the like of users .
In the communication process, various types of terminal equipment appear in large quantity according to requirements, and the types and the performances of the terminal equipment are different. In the real-time video and audio service, the transmitted video stream is basically a high-bitrate video stream such as 720p, 1080p, and the like. Therefore, for a terminal device with lower performance (such as a mobile phone), it cannot process these high-bit-rate video streams quickly, which causes delay, packet loss, screen splash, screen jam, or even screen blackout, and reduces user experience.
Disclosure of Invention
In view of the above problems, embodiments of the present invention are proposed to provide video transcoding methods and corresponding video transcoding devices that overcome or at least partially solve the above problems.
In order to solve the above problem, an embodiment of the present invention discloses video transcoding methods, where the method is applied to a video network, where the video network includes a video network streaming media server, a transcoding server, and multiple transcoding devices, and the method includes:
the target transcoding equipment receives a transcoding request sent by the transcoding server; the target transcoding equipment is determined by the transcoding server according to the transcoding request;
the target transcoding equipment receives a video data packet to be transcoded, which is sent by the video networking streaming media server according to the information of the target transcoding equipment; the information of the target transcoding equipment is reported to the video networking streaming media server by the transcoding server;
the target transcoding equipment sorts the video data packets to be transcoded;
and the target transcoding equipment transcodes the sequenced video data packets according to the transcoding request and sends the transcoded video data packets to the video networking streaming media server.
Preferably, the step of the target transcoding device sorting the video data packets to be transcoded includes: the target transcoding equipment extracts the serial number of the video data packet to be transcoded from the video data packet to be transcoded; and the target transcoding equipment stores the video data packet to be transcoded to a corresponding position in a preset buffer sequence according to the serial number.
Preferably, the step of the target transcoding device storing the video data packet to be transcoded to a corresponding position in a preset buffer sequence according to the sequence number includes: the target transcoding equipment calculates a target block number corresponding to the serial number; and the target transcoding equipment stores the video data packet to be transcoded into a buffer block corresponding to the target block number.
Preferably, the step of calculating, by the target transcoding device, a target block number corresponding to the sequence number includes: the target transcoding device compares the sequence number with the total number of the buffer blocks; if the serial number is less than or equal to the total number, determining that the target block number is the same as the serial number; and if the serial number is greater than the total number, determining that the target block number is a remainder obtained by dividing the serial number by the total number.
Preferably, the step of storing the video data packet to be transcoded into the buffer block corresponding to the target block number by the target transcoding device includes: if the target transcoding equipment judges that the buffer block corresponding to the target block number is in an idle state currently, the video data packet to be transcoded is stored into the buffer block corresponding to the target block number; and if the target transcoding equipment judges that the buffer block corresponding to the target block number is in a non-idle state currently, the video data packet to be transcoded is stored to a preset temporary storage area, and after the buffer block corresponding to the target block number is in an idle state, the video data packet to be transcoded is stored to the buffer block corresponding to the target block number.
Preferably, the buffer sequence comprises a plurality of buffer blocks which are arranged in sequence, the target transcoding device transcodes the sorted video data packets according to the transcoding request and comprises a step of pointing an extraction pointer to the th buffer block after the target transcoding device judges that each buffer block in the buffer sequence stores the video data packet, a step of extracting the stored video data packet from the buffer block pointed by the extraction pointer and transcoding the extracted video data packet by the target transcoding device, and a step of pointing the extraction pointer to the next buffer blocks by the target transcoding device, returning the extracted stored video data packet from the buffer block pointed by the extraction pointer and transcoding the extracted video data packet.
Preferably, the transcoding request includes a target code rate, and the target transcoding device is determined by the transcoding device in which the transcoding server selects transcoding capability information to satisfy the target code rate and load information satisfies a preset condition.
Preferably, the video data packet to be transcoded is a data packet based on an RTP protocol, which is obtained by performing protocol conversion on a video data packet based on a video networking protocol by a video networking streaming server.
In another aspect, the embodiment of the invention also discloses video transcoding devices, which are applied in a video network, wherein the video network comprises a video network streaming media server, a transcoding server and a plurality of transcoding devices,
the target transcoding device is included in the plurality of transcoding devices, and comprises:
the request receiving module is used for receiving the transcoding request sent by the transcoding server; the target transcoding equipment is determined by the transcoding server according to the transcoding request;
the data receiving module is used for receiving a video data packet to be transcoded sent by the video network streaming media server according to the information of the target transcoding equipment; the information of the target transcoding equipment is reported to the video networking streaming media server by the transcoding server;
the sequencing module is used for sequencing the video data packets to be transcoded;
and the transcoding module is used for transcoding the sequenced video data packets according to the transcoding request and sending the transcoded video data packets to the video networking streaming media server.
Preferably, the sorting module comprises: the extraction unit is used for extracting the serial number of the video data packet to be transcoded from the video data packet to be transcoded; and the storage unit is used for storing the video data packet to be transcoded to a corresponding position in a preset buffer sequence according to the sequence number.
In the embodiment of the invention, after receiving a transcoding request sent by a terminal device, a transcoding server determines a target transcoding device according to the transcoding request, sends the transcoding request to the target transcoding device and reports the information of the target transcoding device to a video network streaming media server; the target transcoding equipment receives the video data packets to be transcoded sent by the video networking streaming media server, sorts the video data packets to be transcoded, transcodes the sorted video data packets according to the transcoding request, and sends the transcoded video data packets to the video networking streaming media server. Therefore, the transcoding server can transcode the video data according to the self requirements of the terminal equipment, so that the terminal equipment with various performances can conveniently acquire the video data with corresponding code rates from the video networking streaming media server according to the self performances, the terminal equipment can be ensured to quickly process the video data, and the phenomena of time delay, packet loss, screen splash, blockage, black screen and the like caused by poor terminal performances are avoided; moreover, the transcoding equipment sorts the video data packets after receiving the video data packets and then transcodes the video data packets, so that the problem of disorder of the video data packets is solved, the phenomena of unsmooth blocking, screen splash and the like caused by disorder of the video data packets are avoided, and the user experience is improved.
Drawings
FIG. 1 is a networking schematic of types of video networks of the present invention;
FIG. 2 is a schematic diagram of the hardware architecture of node servers of the present invention;
fig. 3 is a schematic diagram of the hardware architecture of the access switches of the present invention;
fig. 4 is a schematic diagram of the hardware structure of ethernet protocol gateways of the present invention;
fig. 5 is a flowchart illustrating steps of a video transcoding method of according to an embodiment of the present invention;
fig. 6 is a flowchart illustrating steps of video transcoding methods according to a second embodiment of the present invention;
fig. 7 is a schematic diagram of interaction among video transcoding devices according to a second embodiment of the present invention;
fig. 8 is a block diagram of the structure of video transcoding devices according to a third embodiment of the present invention.
Detailed Description
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, a more detailed description is provided below in conjunction with the accompanying drawings and the detailed description.
The video networking is an important milestone for network development, is real-time networks, can realize high-definition video real-time transmission, and pushes a plurality of internet applications to high-definition video and high-definition face-to-face.
The video networking adopts a real-time high-definition video exchange technology, can integrate required services such as dozens of video, voice, pictures, characters, communication, data and the like on the network platforms, such as high-definition video conferences, video monitoring, intelligent monitoring analysis, emergency command, digital television broadcasting, delayed television, network teaching, live broadcasting, VOD on demand, television mails, Personal Video Recorder (PVR), intranet (self-made) channels, intelligent video broadcasting control, information distribution and the like, into the system platforms, and realizes high-definition quality video broadcasting 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 Ethernet defect 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 IP data packets, and does not need any format conversion in the whole network range.
Server Technology (Server Technology)
The video networking and system video platform server technology is different from the traditional server, its stream media transmission is based on the connection oriented base, its data processing ability is independent of flow and communication time, the single network layer can contain signaling and data transmission, for voice and video service, the complexity of video networking and system video platform stream media processing is much simpler than data processing, the efficiency is greatly improved over hundred times than the traditional server.
Storage Technology (Storage Technology)
The ultra-high speed memory technology of the system 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 instantly and directly sent to the user terminal, the time for the user to wait is less than 0.2 second, the optimized sector distribution greatly reduces the mechanical movement of the hard disk magnetic head seek, the resource consumption only accounts for 20% of the same grade IP internet, but the concurrent flow which is 3 times larger than 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 which troubles the internet structurally by the modes of independent service permission control each time, complete isolation of equipment and user data and the like, and does not need antivirus programs and firewalls, thereby avoiding the attack of hackers and viruses and providing a structural careless security network for users.
Service Innovation Technology (Service Innovation Technology)
The system video platform integrates services and transmission at , no matter a single user, a private network user or a total of networks, the automatic connection is only times, a user terminal, a set-top box or a PC is directly connected to the system video platform to obtain various multimedia video services in various forms, and the system video platform adopts a menu type matching table mode to replace the traditional complex application programming, can realize complex application by using very few codes, and realizes new service innovation in an infinite quantity.
Networking of the video network is as follows:
the internet of view is kinds of network structures with centralized control, and the network can be a tree type network, a star type network, a ring network and the like, but on the basis of the network, a centralized control node is needed to control the whole 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.
It can be seen that the whole network of view is network structures controlled by hierarchical centralization, and the network controlled by node server and metropolitan area server can be various structures such as tree, star, ring, etc.
The access network part can form a system video platform (the part in the dotted circle), a plurality of systems video platforms can form a video network, and each system video platform can be interconnected through a metropolitan area and a video network.
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 data packet coming from the CPU module 204 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 208 is configured by the CPU module 204, 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, acquires the ethernet MAC DA of the corresponding terminal according to the video networking destination address DA of the packet, adds the ethernet MAC DA of the terminal, the MACSA of the ethernet coordination 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 th byte represents the type of the data packet (such as various protocol packets, multicast data packets, unicast data packets, etc.), there are at most 256 possibilities, 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 data packets, and is 64 bytes if the data packet is a variety of protocol packets, and is 32+1024 or 1056 bytes if the data packet is a unicast data 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 the metro network is a graph, and there may be 2, even more than 2 connections between two devices, that is, there may be more than 2 connections between a node switch and a node server, between a node switch and a node switch, and between a node switch and a node server, however, the addresses of the metro networks of the metro network devices are only , and in order to accurately describe the connection relationship between the metro network devices, the parameter label is introduced in the embodiment of the present invention, so that only describes metro network devices.
The Label definition in this specification is similar to the Label definition of MPLS (Multi-Protocol Label Switch), and assuming that there are two connections between device a and device B, there are 2 labels for a packet from device a to device B, and there are 2 labels for a packet from device B to device a. the Label is divided into an incoming Label and an outgoing Label, and assuming that the Label (incoming Label) of a packet entering device a is 0x0000, the Label (outgoing Label) of the packet leaving device a may become 0x 0001.
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.
Example
Referring to fig. 5, a flowchart illustrating steps of a video transcoding method of an embodiment of the present invention is shown, where the method may be applied to a video network, where the video network may include a video network streaming server, a transcoding server, and a plurality of transcoding devices.
The video transcoding method of the embodiment of the invention can comprise the following steps:
step 501, a target transcoding device receives a transcoding request sent by a transcoding server.
In the embodiment of the present invention, if transcoding devices are provided and the transcoding devices are set to be capable of transcoding with a plurality of different code rates, after each time a video stream to be transcoded is received, transcoding instances for processing the video stream to be transcoded need to be allocated to the transcoding devices, and the transcoding instances are initialized, so that the transcoding devices can transcode the video stream to be transcoded into a desired code stream, and the transcoding instances can be used to transcode the video stream to be transcoded after the transcoding instances are initialized.
In view of the above problems, an distributed mode is provided in the embodiments of the present invention, where a transcoding server is connected to multiple distributed transcoding devices, and each transcoding device may be set to implement conversion with bitrate.
When the terminal has a video transcoding requirement, a corresponding transcoding request may be obtained according to a performance status of the terminal, where the transcoding request may include transcoding requirement information of the terminal, such as a target transcoding bitrate, and the like, and of course, the transcoding request may also include related information of the terminal, such as an identifier of the terminal, and the like, which is not limited in this embodiment of the present invention. For example, the terminal is a mobile phone, and since the performance of the mobile phone is relatively low, it may not be possible to quickly process a high-bitrate video, so that the high-bitrate video can be converted into a low-bitrate video to meet the requirements of the mobile phone.
The terminal sends the transcoding request to the transcoding server through the video network streaming media server, and the transcoding server can determine a target transcoding device according to the transcoding request and sends the transcoding request to the target transcoding device. The target transcoding device is a transcoding device for performing transcoding subsequently aiming at the transcoding request, and the transcoding rate of the target transcoding device can meet the requirement of the terminal.
Step 502, a target transcoding device receives a video data packet to be transcoded, which is sent by the video network streaming media server according to the information of the target transcoding device.
After the transcoding server determines the target transcoding equipment, the transcoding server can report the information of the target transcoding equipment to the video network streaming media server. The information of the target transcoding device may include identification, address, etc. information of the target transcoding device. The streaming media server can find the target transcoding equipment according to the information of the target transcoding equipment and send the video data packet to be transcoded to the target transcoding equipment. The video data packet to be transcoded is an initial high-bitrate video data packet, such as a high-bitrate video data packet sent by a video networking server.
Step 503, the target transcoding device sorts the video data packets to be transcoded.
Because the video data packets sent by the video network streaming media server to the transcoding device may have a disorder problem, the target transcoding device receives the video data packets to be transcoded sent by the video network streaming media server and then sorts the video data packets so that the arrangement is changed into a correct order.
And step 504, the target transcoding equipment transcodes the sequenced video data packets according to the transcoding request and sends the transcoded video data packets to the video networking streaming media server.
And the target transcoding equipment transcodes the sequenced video data packets according to the transcoding code stream to obtain the transcoded video data packets. The transcoded video data packet is the low-bit-rate video data packet suitable for the terminal sending the transcoding request.
And the target transcoding equipment sends the transcoded video data packet to a video networking streaming media server. The video network streaming media server can send the transcoded video data packet to the terminal sending the transcoding request, and the terminal can perform corresponding processing, such as playing and the like, on the transcoded video data packet.
In the embodiment of the invention, the transcoding server can transcode the video data according to the self requirement of the terminal equipment, so that the terminal equipment with various performances can conveniently obtain the video data with corresponding code rate from the video network streaming media server according to the self performance, the terminal equipment can be ensured to quickly process the video data, and the phenomena of time delay, packet loss, screen splash, blockage, black screen and the like caused by poor terminal performance are avoided; moreover, the transcoding equipment sorts the video data packets after receiving the video data packets and then transcodes the video data packets, so that the problem of disorder of the video data packets is solved, the phenomena of unsmooth blocking, screen splash and the like caused by disorder of the video data packets are avoided, and the user experience is improved.
Example two
Referring to fig. 6, a flowchart illustrating steps of video transcoding methods according to a second embodiment of the present invention is shown.
The video transcoding method can be applied to video networking, and fig. 7 is a schematic diagram of interaction among video transcoding devices in the second embodiment of the invention.
The video transcoding method of the embodiment of the invention can comprise the following steps:
step 601, the target transcoding device receives a transcoding request sent by a transcoding server.
In the embodiment of the invention, the transcoding equipment needs to interact with the transcoding server and needs to be registered in the transcoding server. The registration process may include: the unregistered transcoding device sends a registration message to the transcoding server; the transcoding server verifies the registration message after receiving the registration message, and returns a registration success message to the unregistered transcoding equipment after the verification is passed; and the unregistered transcoding equipment receives the registration success message and successfully registers.
The unregistered transcoding device sends a registration message to the transcoding server, wherein the registration message may include information related to the transcoding device, such as transcoding capability information of the transcoding device, identification of the transcoding device, IP address and the like. The transcoding capability information may include the number of ways that the transcoding device can transcode (e.g., the number of transcoding instances), the transcoding rate that can transcode, the transcoding resolution that can transcode, and the like. After receiving the registration message sent by the transcoding device, the transcoding server can perform operations such as verification on the registration message, and after the verification is passed, a successful registration message can be returned to the transcoding device, and the transcoding server can also store the related information of the transcoding device. And the transcoding device receives the registration success message, indicates that the transcoding device is successfully registered and can interact with the transcoding server.
For a transcoding device registered in the transcoding server, it may periodically send a heartbeat message to the transcoding server to inform the transcoding server of the current status of the transcoding device. The heartbeat message may include load information of the transcoding device, an identifier of the transcoding device, whether an operating state of the transcoding device is normal, and the like. The periodic sending may be sending heartbeat messages to the transcoding server every 15s, 20s, and the like, and the specific time interval is not limited in the embodiment of the present invention.
The terminal can send a transcoding request according to the performance condition of the terminal, and send the transcoding request to the transcoding server through the video networking streaming media server. Namely, the terminal sends the transcoding request to the video network streaming media server, and then the video network streaming media server sends the transcoding request to the transcoding server. For example, a transcoding request module (which may be displayed as a "transcoding" button, for example) may be presented in an APP interface of the terminal, and when a user clicks the transcoding request module, a transcoding request may be triggered. The transcoding request may include information such as a target bitrate and an identifier of the terminal, where the target bitrate may be obtained by automatic analysis according to performance of the terminal or may be manually input by a user, and the embodiment of the present invention is not limited thereto.
And after receiving the transcoding request, the transcoding server determines target transcoding equipment according to the transcoding request. The transcoding request can comprise a target code rate, and the transcoding server can determine the target transcoding equipment by selecting the transcoding equipment of which the transcoding capacity information meets the target code rate and the load information meets the preset condition. For example, the transcoding server may detect load information and transcoding capability information of each registered transcoding device; and selecting the transcoding equipment of which the transcoding capacity information meets the target code rate and the load information meets the preset conditions as target transcoding equipment.
Preferably, whether the transcoding capability information meets the target code rate can be judged according to whether the code rate which can be transcoded by the transcoding device can reach the target code rate, and if so, the transcoding capability information can be determined to meet the target code rate; otherwise, it may be determined that the transcoding capability information does not satisfy the target bitrate. Whether the load information meets the preset condition can be judged according to whether the load of the transcoding equipment is smaller than a set threshold value, and if the load information meets the preset condition, the load information can be determined; otherwise, it may be determined that the load information does not satisfy the preset condition. The specific value of the threshold may be set by a person skilled in the art according to practical experience, and the embodiment of the present invention is not limited thereto.
The transcoding device can comprise a plurality of transcoding instances, and each transcoding instance can perform transcoding operation of code rate corresponding to the transcoding device on paths of video data.
After receiving the transcoding request, the target transcoding device may associate target transcoding instances in response to the transcoding request, where the associated target transcoding instances are transcoding instances for performing transcoding subsequently for the transcoding request.
Step 602, a target transcoding device receives a video data packet to be transcoded, which is sent by the video network streaming media server according to the information of the target transcoding device.
The video network streaming server may receive data (e.g., video data, audio data, etc.) from the video network. For example, in a video conference, a video network server (such as the node server described above) may send video data (the video data may be sent to the video network server by a video network terminal of a conference speaker) to a video network streaming server, and the video network streaming server may forward the video data to other internet terminals participating in the conference (such as the terminals sending transcoding requests described above).
After the transcoding server determines the target transcoding equipment, the information of the target transcoding equipment can be reported to the video network streaming media server. The video network streaming media server can search the target transcoding equipment according to the information of the target transcoding equipment and send the video data packet to be transcoded to the target transcoding equipment.
The video data packets sent to the video networking streaming media server by the video networking server are video data packets based on the video networking protocol, and the video data packets which can be processed by other internet terminals participating in the conference are video data packets based on the internet protocol, so that the video networking streaming media server can convert the video data packets based on the video networking protocol into video data packets based on the internet protocol after receiving the video data packets based on the video networking protocol sent by the video networking server, and send the video data packets based on the internet protocol to the target transcoding device as the video data packets to be transcoded. Specifically, the video-networking streaming media server and the transcoding device may communicate based on an RTP (Real-time Transport Protocol), so that the video-networking streaming media server performs Protocol conversion on a data packet based on the video-networking Protocol to obtain a data packet based on the RTP Protocol, and the data packet is used as a video data packet to be transcoded.
And step 603, sequencing the video data packets to be transcoded by the target transcoding equipment.
After receiving the video data packets to be transcoded sent by the video network streaming media server, the target transcoding device can sort the video data packets to be transcoded. Specifically, the target transcoding device may input the video data packet to be transcoded into the target transcoding instance, and the target transcoding instance may start to process, such as sort, the video data packet to be transcoded.
In preferred embodiments, the step 603 may include:
a1, the target transcoding device extracts the serial number of the video data packet to be transcoded from the video data packet to be transcoded.
The video data packet may include a header, which may include information such as a frame marker, a sequence number, etc. The target transcoding device (specifically, the target transcoding instance) may extract a sequence number of the video data packet to be transcoded from a packet header of the video data packet to be transcoded. The serial number may be a natural number, such as 1, 2, 3, and so on.
And A2, the target transcoding equipment stores the video data packet to be transcoded to the corresponding position in a preset buffer sequence according to the sequence number.
In this embodiment of the present invention, a buffer sequence may be preset in the target transcoding device, where the buffer sequence includes a plurality of (for example, n) buffer blocks arranged in sequence, and each buffer block has a corresponding block number, where the block number may be a natural number, such as 1, 2, 3, … …, n-1, n, and the buffer sequence may be a portion in an internal memory of the target transcoding device or an independent storage, which is not limited in this embodiment of the present invention.
In preferred embodiments, step A2 may comprise:
and A21, the target transcoding device calculates the target block number corresponding to the serial number.
A21 may specifically include: the target transcoding equipment compares the sequence number with the total number of the buffer blocks; if the serial number is less than or equal to the total number, determining that the target block number is the same as the serial number; and if the serial number is greater than the total number, determining that the target block number is a remainder obtained by dividing the serial number by the total number.
For example, the total number n of buffer blocks is 10. If the sequence number of the video data packet to be transcoded is 2, the corresponding target block number is 2; if the sequence number of the current video data packet to be transcoded is 11, the remainder obtained by dividing the corresponding target block number by 10 is 1.
And A22, the target transcoding equipment stores the video data packet to be transcoded into the buffer block corresponding to the target block number.
A22 may specifically include: if the target transcoding equipment judges that the buffer block corresponding to the target block number is in an idle state currently, the video data packet to be transcoded is stored into the buffer block corresponding to the target block number; and if the target transcoding equipment judges that the buffer block corresponding to the target block number is in a non-idle state currently, the video data packet to be transcoded is stored to a preset temporary storage area, and after the buffer block corresponding to the target block number is in an idle state, the video data packet to be transcoded is stored to the buffer block corresponding to the target block number.
The idle state refers to that a video data packet is currently stored, and the non-idle state refers to that a video data packet is not currently stored, where the temporary storage region may be the portion in the memory of the target transcoding device, or may be an independent storage, which is not limited in this embodiment of the present invention.
For example, initially, the buffer blocks 1 to 10 are all in an idle state, i.e. no video data packet is stored. If the target transcoding device receives the original sequence numbers of the video data packets to be transcoded, which are 1, 3, 2, 4, 6, 5, 7, 8, 9, 12, the video data packets to be transcoded, which have sequence numbers of 1, 3, 2, 4, 6, 5, 7, 8, 9, can be correspondingly stored in the buffer blocks with block numbers of 1, 3, 2, 4, 6, 5, 7, 8, 9 by calculation. For the video data packet with the sequence number of 12 to be transcoded, since the corresponding target block number is 2, but the video data packet with the sequence number of 2 to be transcoded is already stored in the buffer block, the video data packet with the sequence number of 12 to be transcoded can be stored in the preset temporary storage area, and after the buffer block with the block number of 2 is in an idle state, the video data packet with the sequence number of 12 to be transcoded is stored in the buffer block with the block number of 2.
And step 604, transcoding the sequenced video data packets by the target transcoding equipment according to the transcoding request, and sending the transcoded video data packets to the video networking streaming media server.
Therefore, the step of transcoding the ordered video data packets by the target transcoding device according to the transcoding request may comprise:
b1, the target transcoding device points the extraction pointer to the th buffer chunk after determining that each buffer chunk in the buffer sequence has stored a video data packet.
In the embodiment of the invention, after the buffer sequence is filled with the video data packets, the video data packets to be transcoded are extracted from the buffer sequence and are transcoded. If the buffer block is not full, the buffer blocks in the buffer sequence are continuously judged to have stored the video data packets. The fetch pointer may be preset and the video data packets it stores may be fetched each time from the buffer block pointed to by the fetch pointer.
And B2, the target transcoding device extracts the stored video data packets from the buffer blocks pointed by the extraction pointers and transcodes the extracted video data packets.
The target transcoding device (specifically, the target transcoding instance) may transcode the video data packet to be transcoded according to a transcoding rate that the target transcoding device can transcode.
In the embodiment of the present invention, the target transcoding device may transcode by any suitable transcoding technology, such as FFmpeg technology, etc., where FFmpeg (fast Forward mpeg) is sets of open source computer programs that can record, convert digital audio and video, and convert them into streams, and provides a complete solution for recording, converting, and streaming audio and video.
B3, the target transcoding device points the extraction pointer to the next buffer blocks, and returns the step of extracting the stored video data packets from the buffer blocks pointed by the extraction pointer and transcoding the extracted video data packets.
For example, has n buffer blocks in total, and the next buffer blocks of the buffer block with the block number n are buffer blocks with the block number 1.
And the target transcoding equipment sends the transcoded video data packet obtained after transcoding to a video networking streaming media server. And the subsequent video network streaming media server can return the transcoded video data packet to the terminal sending the transcoding request. The transcoded video data packet is more suitable for the performance of the terminal, and after the terminal receives the transcoded video data packet, the transcoded video data packet can be more smoothly played and the like.
Step 605, the target transcoding device receives a transcoding termination request sent by the transcoding server, and terminates transcoding according to the transcoding termination request.
When the terminal no longer needs transcoding, a terminate transcoding request can be sent and sent to the transcoding server via the video networking streaming server. Namely, the terminal sends the transcoding termination request to the video network streaming media server, and then the video network streaming media server sends the transcoding termination request to the transcoding server. For example, a terminate transcoding request module (which may be displayed as a "terminate transcoding" button, for example) may be displayed in the APP interface of the terminal, and when the user clicks the terminate transcoding request module, the terminate transcoding request may be triggered. The terminal transcoding request may include information such as an identifier of the terminal.
And the transcoding server sends the transcoding termination request to the target transcoding equipment, and the target transcoding equipment terminates transcoding according to the transcoding termination request after receiving the transcoding termination request. Specifically, the target transcoding device may cancel the associated target transcoding instance and release the transcoding resources of the target transcoding instance. For example, a transcoding request sent by a terminal may include an identifier of the terminal, and a target transcoding device associates a target transcoding instance after receiving the transcoding request, and knows that the target transcoding instance processes the transcoding request of the terminal according to the terminal identifier; the transcoding termination request sent by the terminal can also include the identifier of the terminal, and after receiving the transcoding termination request, the target transcoding device can find the target transcoding instance for processing the transcoding request of the terminal according to the identifier of the terminal, and cancel association with the target transcoding instance after finding the target transcoding instance.
In the embodiment of the invention, the transcoding device transmits the video data packets by using the RTP, so that the possibility of disorder is brought, and therefore, the transcoding device has the capability of processing the disordered video data packets, and the problems of jamming, screen splash and the like caused by disorder are solved.
It should be noted that, for simplicity of description, the method embodiments are described as series combinations of actions, but those skilled in the art should understand that the present invention is not limited by the order of the actions described, because some steps may occur in other orders or concurrently according to the embodiments of the present invention.
EXAMPLE III
Referring to fig. 8, a block diagram of a third embodiment of the present invention is shown, where the video transcoding apparatus is an apparatus that may be applied in an internet of view, where the internet of view includes an streaming media server, a transcoding server, and a plurality of transcoding devices, and the plurality of transcoding devices includes a target transcoding device.
The video transcoding device of the embodiment of the invention can comprise the following modules in the target transcoding equipment:
a request receiving module 801, configured to receive a transcoding request sent by the transcoding server; the target transcoding equipment is determined by the transcoding server according to the transcoding request;
a data receiving module 802, configured to receive a video data packet to be transcoded, where the video data packet is sent by the video streaming server according to the information of the target transcoding device; the information of the target transcoding equipment is reported to the video networking streaming media server by the transcoding server;
a sorting module 803, configured to sort the video data packets to be transcoded;
and the transcoding module 804 is configured to transcode the sorted video data packets according to the transcoding request, and send the transcoded video data packets to the video networking streaming media server.
Preferably, the sorting module may include: the extraction unit is used for extracting the serial number of the video data packet to be transcoded from the video data packet to be transcoded; and the storage unit is used for storing the video data packet to be transcoded to a corresponding position in a preset buffer sequence according to the sequence number.
Preferably, the buffer sequence includes a plurality of sequentially arranged buffer blocks, each buffer block having a corresponding block number, and the storage unit may include: the calculating subunit is used for calculating the target block number corresponding to the serial number; and the storage subunit is used for storing the video data packet to be transcoded into the buffer block corresponding to the target block number.
Preferably, the calculating subunit is specifically configured to compare the sequence number with the total number of the buffer blocks; if the serial number is less than or equal to the total number, determining that the target block number is the same as the serial number; and if the serial number is greater than the total number, determining that the target block number is a remainder obtained by dividing the serial number by the total number.
Preferably, the storage subunit is specifically configured to store the video data packet to be transcoded into the buffer block corresponding to the target block number if it is determined that the buffer block corresponding to the target block number is currently in an idle state; and if the buffer block corresponding to the target block number is judged to be in a non-idle state currently, storing the video data packet to be transcoded to a preset temporary storage area, and storing the video data packet to be transcoded to the buffer block corresponding to the target block number after the buffer block corresponding to the target block number is in an idle state.
Preferably, the transcoding module may include a determining unit configured to point an extraction pointer to the th buffer block after determining that each buffer block in the buffer sequence has stored a video data packet, an extraction transcoding unit configured to extract the stored video data packet from the buffer block pointed by the extraction pointer and transcode the extracted video data packet, and an adjusting unit configured to point the extraction pointer to the next buffer blocks and invoke the extraction transcoding unit to perform corresponding operations.
Preferably, the transcoding request includes a target code rate, and the target transcoding device is determined by the transcoding device in which the transcoding server selects transcoding capability information to satisfy the target code rate and load information satisfies a preset condition.
Preferably, the video data packet to be transcoded is a data packet based on an RTP protocol, which is obtained by performing protocol conversion on a video data packet based on a video networking protocol by a video networking streaming server.
In the embodiment of the invention, the transcoding server can transcode the video data according to the self requirement of the terminal equipment, so that the terminal equipment with various performances can conveniently obtain the video data with corresponding code rate from the video network streaming media server according to the self performance, the terminal equipment can be ensured to quickly process the video data, and the phenomena of time delay, packet loss, screen splash, blockage, black screen and the like caused by poor terminal performance are avoided; moreover, the transcoding equipment sorts the video data packets after receiving the video data packets and then transcodes the video data packets, so that the problem of disorder of the video data packets is solved, the phenomena of unsmooth blocking, screen splash and the like caused by disorder of the video data packets are avoided, and the user experience is improved.
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 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.
Furthermore, the present invention may take the form of a computer program product embodied on or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
It is to be understood that each flow and/or block in 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 which can 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 flow diagram 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.
Having thus described the preferred embodiments of the present invention, additional variations and modifications of these embodiments may occur to those skilled in the art from the basic inventive concepts .
Finally, it should also be noted that, in this document, relational terms such as , second, and the like are only used to distinguish entities or operations from another entities or operations, without necessarily requiring or implying any actual relationship or order between such entities or operations, furthermore, the terms "comprise", "include", or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or terminal that comprises the family of elements does not include only those elements but also other elements not expressly listed or inherent to such process, method, article, or terminal.
The video transcoding methods and video transcoding devices provided by the present invention are described in detail above, and specific examples are applied herein to illustrate the principles and embodiments of the present invention, and the above description of the embodiments is only used to help understand the method and the core idea of the present invention, meanwhile, for persons in the art, according to the idea of the present invention, there are changes in the specific embodiments and application scope, and in conclusion, the content of the present description should not be construed as a limitation to the present invention.

Claims (10)

  1. The video transcoding method is applied to a video network, wherein the video network comprises a video network streaming media server, a transcoding server and a plurality of transcoding devices, and the method comprises the following steps:
    the target transcoding equipment receives a transcoding request sent by the transcoding server; the target transcoding equipment is determined by the transcoding server according to the transcoding request;
    the target transcoding equipment receives a video data packet to be transcoded, which is sent by the video networking streaming media server according to the information of the target transcoding equipment; the information of the target transcoding equipment is reported to the video networking streaming media server by the transcoding server;
    the target transcoding equipment sorts the video data packets to be transcoded;
    and the target transcoding equipment transcodes the sequenced video data packets according to the transcoding request and sends the transcoded video data packets to the video networking streaming media server.
  2. 2. The method of claim 1, wherein the step of ordering the video data packets to be transcoded by the target transcoding device comprises:
    the target transcoding equipment extracts the serial number of the video data packet to be transcoded from the video data packet to be transcoded;
    and the target transcoding equipment stores the video data packet to be transcoded to a corresponding position in a preset buffer sequence according to the serial number.
  3. 3. The method of claim 2, wherein the buffer sequence comprises a plurality of sequentially arranged buffer blocks, each buffer block having a corresponding block number,
    the step that the target transcoding equipment stores the video data packet to be transcoded to the corresponding position in a preset buffer sequence according to the serial number comprises the following steps:
    the target transcoding equipment calculates a target block number corresponding to the serial number;
    and the target transcoding equipment stores the video data packet to be transcoded into a buffer block corresponding to the target block number.
  4. 4. The method of claim 3, wherein the step of calculating, by the target transcoding device, the target block number corresponding to the sequence number comprises:
    the target transcoding device compares the sequence number with the total number of the buffer blocks;
    if the serial number is less than or equal to the total number, determining that the target block number is the same as the serial number;
    and if the serial number is greater than the total number, determining that the target block number is a remainder obtained by dividing the serial number by the total number.
  5. 5. The method according to claim 3, wherein the step of the target transcoding device storing the video data packet to be transcoded into the buffer block corresponding to the target block number comprises:
    if the target transcoding equipment judges that the buffer block corresponding to the target block number is in an idle state currently, the video data packet to be transcoded is stored into the buffer block corresponding to the target block number;
    and if the target transcoding equipment judges that the buffer block corresponding to the target block number is in a non-idle state currently, the video data packet to be transcoded is stored to a preset temporary storage area, and after the buffer block corresponding to the target block number is in an idle state, the video data packet to be transcoded is stored to the buffer block corresponding to the target block number.
  6. 6. The method of claim 2, wherein the buffer sequence comprises a plurality of sequentially arranged buffer blocks,
    the step of transcoding the sequenced video data packets by the target transcoding device according to the transcoding request comprises the following steps:
    after determining that each buffer block in the buffer sequence stores a video data packet, the target transcoding device points an extraction pointer to an th buffer block;
    the target transcoding equipment extracts the stored video data packets from the buffer blocks pointed by the extraction pointers and transcodes the extracted video data packets;
    and the target transcoding device points an extraction pointer to buffer blocks downwards, returns the step of extracting the stored video data packets from the buffer blocks pointed by the extraction pointer, and transcodes the extracted video data packets.
  7. 7. The method of claim 1, wherein the transcoding request comprises a target bitrate, and the target transcoding device is determined by the transcoding server by selecting a transcoding device for which transcoding capability information meets the target bitrate and load information meets a preset condition.
  8. 8. The method of claim 1, wherein the video data packets to be transcoded are RTP protocol-based data packets obtained by performing protocol conversion on video networking protocol-based video data packets by a video networking streaming server.
  9. The video transcoding device of , which is characterized in that the device is applied in video network, the video network comprises video network stream media server, transcoding server and multiple transcoding devices,
    the target transcoding device is included in the plurality of transcoding devices, and comprises:
    the request receiving module is used for receiving the transcoding request sent by the transcoding server; the target transcoding equipment is determined by the transcoding server according to the transcoding request;
    the data receiving module is used for receiving a video data packet to be transcoded sent by the video network streaming media server according to the information of the target transcoding equipment; the information of the target transcoding equipment is reported to the video networking streaming media server by the transcoding server;
    the sequencing module is used for sequencing the video data packets to be transcoded;
    and the transcoding module is used for transcoding the sequenced video data packets according to the transcoding request and sending the transcoded video data packets to the video networking streaming media server.
  10. 10. The apparatus of claim 9, wherein the ordering module comprises:
    the extraction unit is used for extracting the serial number of the video data packet to be transcoded from the video data packet to be transcoded;
    and the storage unit is used for storing the video data packet to be transcoded to a corresponding position in a preset buffer sequence according to the sequence number.
CN201810797372.XA 2018-07-19 2018-07-19 Video transcoding method and device Active CN110740349B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810797372.XA CN110740349B (en) 2018-07-19 2018-07-19 Video transcoding method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810797372.XA CN110740349B (en) 2018-07-19 2018-07-19 Video transcoding method and device

Publications (2)

Publication Number Publication Date
CN110740349A true CN110740349A (en) 2020-01-31
CN110740349B CN110740349B (en) 2022-06-17

Family

ID=69235259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810797372.XA Active CN110740349B (en) 2018-07-19 2018-07-19 Video transcoding method and device

Country Status (1)

Country Link
CN (1) CN110740349B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070147371A1 (en) * 2005-09-26 2007-06-28 The Board Of Trustees Of Michigan State University Multicast packet video system and hardware
CN101873482A (en) * 2010-07-02 2010-10-27 上海交通大学 Real-time streaming media cluster transcoding system
CN102404567A (en) * 2011-11-03 2012-04-04 深圳市融创天下科技股份有限公司 System and method for transcoding network monitoring video in real time according to need
CN104935952A (en) * 2014-03-17 2015-09-23 无锡天脉聚源传媒科技有限公司 Video transcoding method and system
CN105828105A (en) * 2015-12-10 2016-08-03 广东亿迅科技有限公司 Distributed environment-based video transcoding system and video transcoding method
CN105871808A (en) * 2015-12-14 2016-08-17 乐视云计算有限公司 Method and device for transcoding live video
CN108063953A (en) * 2017-12-28 2018-05-22 武汉烽火众智数字技术有限责任公司 The code-transferring method of video code conversion gateway, monitoring system and video code conversion gateway

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070147371A1 (en) * 2005-09-26 2007-06-28 The Board Of Trustees Of Michigan State University Multicast packet video system and hardware
CN101873482A (en) * 2010-07-02 2010-10-27 上海交通大学 Real-time streaming media cluster transcoding system
CN102404567A (en) * 2011-11-03 2012-04-04 深圳市融创天下科技股份有限公司 System and method for transcoding network monitoring video in real time according to need
CN104935952A (en) * 2014-03-17 2015-09-23 无锡天脉聚源传媒科技有限公司 Video transcoding method and system
CN105828105A (en) * 2015-12-10 2016-08-03 广东亿迅科技有限公司 Distributed environment-based video transcoding system and video transcoding method
CN105871808A (en) * 2015-12-14 2016-08-17 乐视云计算有限公司 Method and device for transcoding live video
CN108063953A (en) * 2017-12-28 2018-05-22 武汉烽火众智数字技术有限责任公司 The code-transferring method of video code conversion gateway, monitoring system and video code conversion gateway

Also Published As

Publication number Publication date
CN110740349B (en) 2022-06-17

Similar Documents

Publication Publication Date Title
CN109788314B (en) Method and device for transmitting video stream data
CN109996086B (en) Method and device for inquiring service state of video networking
CN110049271B (en) Video networking conference information display method and device
CN110324580B (en) Monitoring video playing method and device based on video network
CN109150905B (en) Video network resource release method and video network sharing platform server
CN110417877B (en) Audio and video service processing method and device
CN110022295B (en) Data transmission method and video networking system
CN110769310B (en) Video processing method and device based on video network
CN109246486B (en) Method and device for framing
CN110049273B (en) Video networking-based conference recording method and transfer server
CN111147859A (en) Video processing method and device
CN109005378B (en) Video conference processing method and system
CN111447407B (en) Method and device for transmitting monitoring resources
CN110446058B (en) Video acquisition method, system, device and computer readable storage medium
CN110519331B (en) Method and device for processing resources of video network
CN110798706A (en) Video transcoding method and device
CN110049069B (en) Data acquisition method and device
CN108574655B (en) Conference monitoring and broadcasting method and device
CN110557411A (en) video stream processing method and device based on video network
CN110677392B (en) Video data transmission method and device
CN110740349B (en) Video transcoding method and device
CN109714641B (en) Data processing method and device based on video network
CN110213533B (en) Method and device for acquiring video stream monitored by video network
CN110149306B (en) Media data processing method and device
CN110267110B (en) Concurrent on-demand processing method and system based on video network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant