CN114071185B - Method for video stream delivery, related device and computer program product - Google Patents
Method for video stream delivery, related device and computer program productInfo
- Publication number
- CN114071185B CN114071185B CN202111355256.0A CN202111355256A CN114071185B CN 114071185 B CN114071185 B CN 114071185B CN 202111355256 A CN202111355256 A CN 202111355256A CN 114071185 B CN114071185 B CN 114071185B
- Authority
- CN
- China
- Prior art keywords
- video stream
- target
- target video
- image frame
- stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4781—Games
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
The disclosure provides a video stream issuing method, a video stream issuing device, electronic equipment, a computer readable storage medium and a computer program product, relates to the technical field of cloud computing such as data processing, cloud platforms and intelligent cloud, and can be applied to scenes such as cloud games. The method comprises the steps of determining a target video stream to be issued, extracting image frames in the target video stream one by one according to a preset interval period, generating a first corrected video stream, encoding the first corrected video stream, generating an encoded data stream, and finally transmitting the encoded data stream to target terminal equipment. The embodiment provides a video stream issuing method, which can correct a target video stream to be issued in the issuing process so as to avoid frame skipping of image frames in the target video stream caused by problems of encoding, transmission delay and the like, and can improve the quality of the issued target video stream.
Description
Technical Field
The disclosure relates to the technical field of computers, in particular to the technical field of cloud computing such as data processing, cloud platforms, intelligent clouds and the like, and particularly relates to a method, a device, electronic equipment, a computer readable storage medium and a computer program product for video streaming.
Background
The cloud game is a game mode based on cloud computing, and in the running mode of the cloud game, all games run on a cloud server, and the rendered game pictures are compressed and then transmitted to a user through a network. At this time, the terminal device of the user can realize the game effect equivalent to the high-end processor and the display card only by the basic video decompression capability, and the high-end processor and the display card do not need to be configured.
The key point of cloud game user experience is the fluency of pictures, and the fluency of the pictures can influence the operation experience of users. The fluency of the picture depends on the client network environment and the stability of the cloud equipment coding output video data.
Disclosure of Invention
Embodiments of the present disclosure provide a method, apparatus, electronic device, computer readable storage medium, and computer program product for video streaming.
In a first aspect, an embodiment of the present disclosure provides a method for transmitting a video stream, including determining a target video stream to be transmitted, extracting image frames in the target video stream one by one according to a preset interval period, generating a first modified video stream, encoding the first modified video stream, generating an encoded data stream, and transmitting the encoded data stream to a target terminal device.
In a second aspect, an embodiment of the present disclosure provides an apparatus for transmitting a video stream, including a video stream acquiring unit configured to determine a target video stream to be transmitted, a first video stream modifying unit configured to extract image frames in the target video stream one by one according to a preset interval period, to generate a first modified video stream, an encoded data stream generating unit configured to encode the first modified video stream, to generate an encoded data stream, and an encoded data stream transmitting unit configured to transmit the encoded data stream to a target terminal device.
In a third aspect, an embodiment of the present disclosure provides an electronic device, including at least one processor, and a memory communicatively coupled to the at least one processor, where the memory stores instructions executable by the at least one processor to enable the at least one processor to implement a method of video streaming as described in any one of the implementations of the first aspect when executed.
In a fourth aspect, embodiments of the present disclosure provide a non-transitory computer-readable storage medium storing computer instructions for enabling a computer to implement a method of video streaming as described in any of the implementations of the first aspect when executed.
In a fifth aspect, embodiments of the present disclosure provide a computer program product comprising a computer program which, when executed by a processor, is capable of implementing a method of video streaming as described in any of the implementations of the first aspect.
The method, the device, the electronic equipment, the computer readable storage medium and the computer program product for transmitting the video stream provided by the embodiment of the disclosure determine a target video stream to be transmitted, extract image frames in the target video stream one by one according to a preset interval period, generate a first modified video stream, encode the first modified video stream, generate an encoded data stream, and finally transmit the encoded data stream to target terminal equipment.
The method and the device can correct the video stream to be issued by extracting the image frames from the target video stream to be issued according to the preset interval period and constructing the corrected video stream in the video stream issuing process, so that the frame skipping of the image frames in the target video stream caused by the problems of encoding, transmission delay and the like is avoided, and the quality of the issued target video stream can be improved.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the disclosure, nor is it intended to be used to limit the scope of the disclosure. Other features of the present disclosure will become apparent from the following specification.
Drawings
Other features, objects and advantages of the present disclosure will become more apparent upon reading of the detailed description of non-limiting embodiments, made with reference to the following drawings:
FIG. 1 is an exemplary system architecture in which the present disclosure may be applied;
fig. 2 is a flowchart of a method for video streaming according to an embodiment of the present disclosure;
FIG. 3 is a flow chart of another method for video streaming delivery provided by an embodiment of the present disclosure;
fig. 4 is a flowchart of a method for video streaming in an application scenario according to an embodiment of the present disclosure;
Fig. 5 is a block diagram of an apparatus for video streaming according to an embodiment of the present disclosure;
fig. 6 is a schematic structural diagram of an electronic device adapted to perform a method for video streaming according to an embodiment of the present disclosure.
Detailed Description
Exemplary embodiments of the present disclosure are described below in conjunction with the accompanying drawings, which include various details of the embodiments of the present disclosure to facilitate understanding, and should be considered as merely exemplary. Accordingly, one of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness. It should be noted that, without conflict, the embodiments of the present disclosure and features of the embodiments may be combined with each other.
In addition, in the technical scheme related to the disclosure, the related processes of acquiring, storing, using, processing, transporting, providing, disclosing and the like of the personal information of the user all conform to the regulations of related laws and regulations and do not violate the popular regulations of the public order.
FIG. 1 illustrates an exemplary system architecture 100 in which embodiments of methods, apparatus, electronic devices, and computer-readable storage media of video streaming of the present disclosure may be applied.
As shown in fig. 1, a system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. The network 104 is used as a medium to provide communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
The user may interact with the server 105 via the network 104 using the terminal devices 101, 102, 103 to receive or send messages or the like. Various applications for implementing information communication between the terminal devices 101, 102, 103 and the server 105, such as a cloud game application, a cloud video application, an instant messaging application, and the like, may be installed on the terminal devices.
The terminal devices 101, 102, 103 and the server 105 may be hardware or software. When the terminal devices 101, 102, 103 are hardware, they may be various electronic devices with display screens, including but not limited to smartphones, tablet computers, laptop computers, desktop computers, etc., and when the terminal devices 101, 102, 103 are software, they may be installed in the above-listed electronic devices, which may be implemented as a plurality of software or software modules, or as a single software or software module, which is not particularly limited herein. When the server 105 is hardware, it may be implemented as a distributed server cluster formed by a plurality of servers, or may be implemented as a single server, and when the server is software, it may be implemented as a plurality of software or software modules, or may be implemented as a single software or software module, which is not limited herein specifically.
The server 105 can provide various services through various built-in applications, for example, a cloud game application capable of providing a cloud game service, and when the cloud game application is operated, the server 105 can achieve the following effects that firstly, the server 105 determines a target video stream to be issued, then, the server 105 extracts image frames in the target video stream one by one according to a preset interval period to generate a first modified video stream, then, the server 105 encodes the first modified video stream to generate an encoded data stream, and finally, the server 105 sends the encoded data stream to the target terminal equipment 101, 102 and 103 through the network 104.
It should be noted that the target video stream may be stored in a server other than the local server 105 in advance in various ways, or may be stored in a non-local terminal device (e.g., terminal devices 101, 102, 103), and the server 105 may acquire the corresponding target video stream by sending a target video stream acquisition instruction to the non-local terminal device, server, in which the target video stream is stored.
Since the tasks of storing the target video stream, encoding the target video stream and the like need to occupy more computing resources and stronger computing power, the method for sending the video stream provided by the embodiments of the present disclosure is generally executed by the server 105 having stronger computing power and more computing resources, and accordingly, the device for sending the video stream is also generally disposed in the server 105. However, it should be noted that, when the terminal devices 101, 102, 103 also have the required computing capability and computing resources, the terminal devices 101, 102, 103 may also complete each operation performed by the server 105 through the cloud game application installed thereon, and further output the same result as the server 105. Particularly, in the case that a plurality of terminal devices with different computing capabilities exist at the same time, when the cloud game application judges that the terminal device has a stronger computing capability and more computing resources remain, the terminal device can execute the above computation, so that the computing pressure of the server 105 is properly reduced, and correspondingly, the devices for issuing the video streams can also be arranged in the terminal devices 101, 102 and 103.
It should be understood that the number of terminal devices, networks and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
Referring to fig. 2, fig. 2 is a flowchart of a method for video streaming provided in an embodiment of the disclosure, where the flowchart 200 includes the following steps:
In step 201, a target video stream to be delivered is determined.
In this embodiment, the execution body (e.g., the server 105 shown in fig. 1) of the method for sending a video stream determines a target video stream to be sent to the target terminal device, where the target video stream may be determined according to an acquisition request of the target terminal device, or may be determined according to a sending configuration stored in the execution body and according to an instruction of the provider of the execution body.
In practice, the target video stream may be a video stream of video on demand by a user, or may be a video stream composed of game picture contents calculated based on cloud game application and sent to a terminal device used by the user for presentation.
In some embodiments, after determining the target video stream to be delivered, the target video stream may be optimized according to the obtained environmental parameter and configuration information, so as to obtain an optimized target video stream adapted to the environmental parameter and configuration information, so as to improve the presentation effect of the target video stream.
It should be noted that the target video stream may be obtained directly from a local storage device by the execution body, or may be obtained from a non-local storage device (for example, the terminal devices 101, 102, 103 shown in fig. 1). The local storage device may be a data storage module, such as a server hard disk, arranged in the executing body, in which case the target video stream may be read quickly locally, or any other electronic device, such as some user terminal, arranged to store data, in which case the executing body may acquire the desired target video stream by sending an acquisition command to the electronic device.
Step 202, extracting image frames in a target video stream one by one according to a preset interval period, and generating a first corrected video stream.
In this embodiment, after determining the target video stream in step 201, image frames are continuously extracted from the target video stream according to a preset interval period, that is, after extracting the initial image frames in the target video stream, the next image frame is extracted from the target video stream after each interval period, and then each image frame is arranged into a new video stream, that is, the first modified video stream according to the extracted order of each extracted image frame.
The interval period can be determined from the to-be-issued side of the target video stream in an interactive manner or preset according to an instruction according to an expected frame interval in the first modified video, and the interval period can also be correspondingly determined according to the display frame rate of the target terminal device, so that the frame rate of the first modified video stream obtained according to the interval period is adapted to the frame rate of the target terminal device, and the issuing effect of the target video stream is improved.
In practice, in the process of extracting image frames, the extracted image frames can be sequentially stored into the same video stream sequence according to the extraction sequence until the extraction of the last image frame in the target video stream is completed, and the video stream sequence is determined to be the first modified video stream.
In step 203, the first modified video stream is encoded, generating an encoded data stream.
In this embodiment, after the first modified video stream is generated based on the step 202, the first modified video stream is encoded by using an encoding method such as a moving picture expert group (Moving Picture Expert Group, abbreviated as MPEG) series, an h.26x series, and the like, so as to generate a corresponding encoded data stream.
In some special application scenarios with high requirements on transmission security, encryption can be performed in the process of encoding the first modified video stream to obtain an encrypted encoded data stream, so that the security of the video stream transmission is improved.
And step 204, transmitting the coded data stream to the target terminal equipment.
In this embodiment, the encoded data stream obtained in 203 is sent to the target terminal device, so that the target video stream is obtained after the subsequent target terminal device decodes the encoded data stream, and the task of delivering the video stream is completed.
According to the video stream issuing method, in the video stream issuing process, the video stream to be issued is corrected in a mode of extracting image frames from the target video stream to be issued according to the preset interval period and constructing the corrected video stream, so that frame skipping of the image frames in the target video stream caused by problems of encoding, transmission delay and the like is avoided, and the quality of the issued target video stream can be improved.
In some optional implementations of this embodiment, extracting the image frames in the target video stream one by one according to a preset interval period to generate a first modified video stream includes extracting the image frames in the target video stream one by one according to the interval period, responding to the extracting operation that the image frames cannot be extracted from the target video stream, taking the image frames extracted last time as the image frames extracted this time, responding to each image frame in the target video that is extracted at least once, and generating the first modified video stream based on each extracted image frame.
Specifically, the situation that the image frames are missing and jumped in the first corrected video stream due to the fact that the image frames are missing in the issued target video stream due to coding errors and network transmission errors is further avoided, when the time from the last time of extracting the image frames in the process of extracting the image frames from the target video stream and generating the first video stream meets the interval period, the current extraction of the image frames is carried out, if the image frames cannot be extracted from the target video stream this time, the image frames extracted last time are taken as the image frames extracted this time, the extraction time (interval period) is recalculated, finally, the response is carried out when each image frame in the target video is extracted at least once, the first corrected video stream is generated based on each extracted image frame, and under the condition that the missing image frames and jumped frames exist in the target video conveniently, the image content in the first corrected video stream can be displayed normally, and the stability of the display content in the first corrected video stream is improved.
In some optional implementations of this embodiment, the method for sending the video stream further includes obtaining image timestamp information included in the target video stream, determining a time interval between image frames according to the timestamp information in different image frames, and presetting a time interval with a highest occurrence frequency as the interval period.
Specifically, when the image frames in the target video stream correspondingly have graphic timestamp information, determining the time interval between the image frames in the target video stream according to the image timestamp information, determining the time interval with highest occurrence frequency as a reasonable time interval between the image frames in the target video stream, and correspondingly presetting the time interval as an interval period so as to facilitate the first correction video stream generated subsequently, and still playing video content according to the time interval of the image frames in the original target video stream, thereby improving video fidelity in the video stream transmitting process.
In some optional implementations of this embodiment, the method for streaming video further includes obtaining audio timestamp information included in the target video stream, determining an image frame maximum hold time based on the audio frame timestamp information, and presetting the interval period according to the image frame maximum hold time.
Specifically, when the audio time stamp information exists in the image frame in the target video stream correspondingly, the maximum holding time of the image frame can be determined based on the audio time stamp information, namely, the time required for playing the audio information belonging to the image frame is completed, and the interval period is preset according to the maximum holding time of the image frame, so that the synchronization of the image and the audio in the first corrected video stream is ensured.
Referring to fig. 3, fig. 3 is a flowchart of another method for video streaming provided in an embodiment of the disclosure, where the flowchart 300 includes the following steps:
in step 301, a target video stream to be delivered is determined.
Step 302, extracting image frames in a target video stream one by one according to a preset interval period, and generating a first corrected video stream.
In step 303, the first modified video stream is encoded, generating an encoded data stream.
And step 304, transmitting the coded data stream to the target terminal equipment.
In step 305, the target terminal device is controlled to decode the encoded data stream and acquire a first modified video stream.
In this embodiment, after the encoded data stream is sent to the target terminal device based on the step 304, the target terminal device is controlled to decode the encoded data stream to obtain the first modified video stream.
The execution body can control and/or instruct the target terminal device to decode the encoded data stream and obtain a corresponding first modified video stream by directly synchronizing an operation end of the target terminal device or sending an encoding rule to one side of the target terminal device.
And 306, controlling the target terminal equipment to extract the image frames in the first corrected video stream one by one according to the interval period to obtain a second corrected video stream.
In this embodiment, the executing body controls the target terminal device to extract image frames from the first corrected video stream one by one according to the interval period to obtain the second corrected video stream, and the process is similar to the process that the executing body locally extracts image frames in the target video stream to obtain the first corrected video stream, and the mode that the target terminal device extracts image frames in the first corrected video stream one by one according to the interval period to obtain the second corrected video stream can be used to realize secondary correction before the target terminal receives the target video stream and plays the target video stream, so as to avoid interval abnormality of the image frames in the decoding process of the target terminal device and influence the playing of the target video stream.
In some alternative implementations, for example, in a scenario where a terminal device other than a cloud server and a target terminal device is used to forward a target video stream from the cloud server to the target terminal device, the interval period used for generating the first modified video stream and the second modified video stream can be adjusted according to the data transmission capability between the terminal device for forwarding the target video stream and the cloud server and the target terminal device, so as to achieve the purposes of compressing the first video stream and improving the transmission capability of the first video stream by shortening the interval period used for generating the first video stream (that is, when the data transmission capability between the terminal device for forwarding the target video stream and the cloud server meets the requirement, the downloading of the first modified video stream is completed quickly), one side of the target terminal device can be ensured to still play the code rate of the target video stream according to the desired playing code rate of the target terminal device by controlling the interval period used for generating the second modified video stream, and the downloading problem of the first modified video stream is solved, and the downloading of the first modified video stream is not completed quickly in time.
The steps 301 to 304 are consistent with the steps 201 to 204 shown in fig. 2, and the same parts are referred to the corresponding parts of the previous embodiment, which are not described herein, and further in this embodiment, the second correction before the target terminal receives the target video stream and plays the target video stream can be implemented by controlling the target terminal to extract the image frames in the first correction video stream one by one according to the interval period, so as to avoid the interval abnormality of the image frames in the decoding process of the target terminal, and influence the playing of the target video stream.
For further understanding, the disclosure further provides a specific implementation scheme in combination with a specific application scenario, and for convenience of understanding, the application scenario includes a cloud server a for issuing a target video stream, a terminal device B for forwarding the target video stream, and a terminal device C for receiving the video stream, please refer to a flow 400 shown in fig. 4.
In step 401, a target video stream to be delivered is determined.
Specifically, the terminal device B determines a target video stream to be issued to the terminal device C in the cloud server a, and receives the target video stream issued by the cloud server a.
Step 402, a first modified video stream is generated.
Specifically, after the terminal device B acquires the target video stream, the terminal device B locally extracts image frames in the target video stream one by one according to a preset interval period, and generates a first corrected video stream.
In step 403, the first modified video stream is encoded, generating an encoded data stream.
Specifically, after the terminal device B locally completes the generation of the first modified video stream, the first modified video stream is encoded, so as to obtain a corresponding encoded data stream.
And step 404, transmitting the coded data stream to the target terminal equipment.
Specifically, the terminal device B sends the locally obtained encoded data stream to the target terminal device C, and sends control information to the terminal device C at the same time, so that the terminal device C is instructed to decode when receiving the encoded data stream by the control information, and after obtaining a first corrected data stream corresponding to the encoded data stream, image frames in the first corrected video stream are extracted one by one according to a preset interval period, so as to obtain a second corrected video stream.
Step 405, obtaining a second modified video stream.
Specifically, after receiving the encoded data stream and the control information, the terminal device C decodes the encoded data stream according to the indication of the control information, acquires a first modified data stream corresponding to the encoded data stream, and extracts image frames in the first modified video stream one by one according to a preset interval period, so as to obtain a second modified video stream for playing, thereby completing a video stream issuing flow from the cloud server a to the terminal device C.
With further reference to fig. 5, as an implementation of the method shown in the foregoing figures, the present disclosure provides an embodiment of an apparatus for video streaming, where the embodiment of the apparatus corresponds to the embodiment of the method shown in fig. 2, and the apparatus may be specifically applied to various electronic devices.
As shown in fig. 5, the apparatus 500 for video stream delivery of the present embodiment may include a video stream acquisition unit 501, a first video stream modification unit 502, a coded data stream generation unit 503, and a coded data stream transmission unit 504. The video stream obtaining unit 501 is configured to determine a target video stream to be issued, the first video stream modifying unit 502 is configured to extract image frames in the target video stream one by one according to a preset interval period to generate a first modified video stream, the encoded data stream generating unit 503 is configured to encode the first modified video stream to generate an encoded data stream, and the encoded data stream transmitting unit 504 is configured to transmit the encoded data stream to a target terminal device.
In the apparatus 500 for sending a video stream in this embodiment, the specific processing and the technical effects of the video stream obtaining unit 501, the first video stream modifying unit 502, the encoded data stream generating unit 503 and the encoded data stream sending unit 504 may refer to the relevant descriptions of steps 201 to 204 in the corresponding embodiment of fig. 2, and are not repeated here.
In some optional implementations of this embodiment, the apparatus 500 for streaming video further includes a decoding control unit configured to control the target terminal device to decode the encoded data stream and obtain the first modified video stream, and a second video stream modification control unit configured to control the target terminal device to extract image frames in the first modified video stream one by one according to the interval period, so as to obtain a second modified video stream.
In some optional implementations of this embodiment, the first video stream modification unit 502 includes an image frame extraction subunit configured to extract image frames in the target video stream one by one at the interval period, an image frame supplementing subunit configured to, in response to the current extraction operation, fail to extract the image frames from the target video stream, and use the image frames extracted last time as the image frames extracted this time, and a modified video stream generation subunit configured to, in response to each image frame in the target video being extracted at least once, generate a first modified video stream based on each image frame extracted.
In some optional implementations of this embodiment, the apparatus 500 for video streaming further includes an image timestamp obtaining unit configured to obtain image timestamp information included in the target video stream, an image frame interval determining unit configured to determine a time interval between image frames according to the timestamp information in different image frames, and a first interval period presetting unit configured to preset a time interval with a highest occurrence frequency as the interval period.
In some optional implementations of this embodiment, the apparatus 500 for video streaming further includes an audio frame interval determining unit configured to obtain audio timestamp information included in the target video stream, and a maximum hold time determining unit configured to determine an image frame maximum hold time second interval period preset unit based on the audio frame timestamp information, and configured to preset the interval period according to the image frame maximum hold time.
The embodiment exists as an embodiment of a device corresponding to the embodiment of the method, and in the process of sending the video stream, the device provided by the embodiment can perform correction of the video stream to be sent by extracting image frames from the target video stream to be sent according to a preset interval period and constructing a correction video stream, so as to avoid frame skipping of the image frames in the target video stream caused by problems of encoding, transmission delay and the like, and improve the quality of sending the target video stream.
According to embodiments of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.
Fig. 6 illustrates a schematic block diagram of an example electronic device 600 that may be used to implement embodiments of the present disclosure. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 6, the apparatus 600 includes a computing unit 601 that can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM) 602 or a computer program loaded from a storage unit 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the device 600 may also be stored. The computing unit 601, ROM 602, and RAM 603 are connected to each other by a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
Various components in the device 600 are connected to the I/O interface 605, including an input unit 606, e.g., keyboard, mouse, etc., an output unit 607, e.g., various types of displays, speakers, etc., a storage unit 608, e.g., magnetic disk, optical disk, etc., and a communication unit 609, e.g., network card, modem, wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
The computing unit 601 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of computing unit 601 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 601 performs the respective methods and processes described above, for example, a method of video streaming. For example, in some embodiments, the method of video streaming may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program may be loaded and/or installed onto the device 600 via the ROM 602 and/or the communication unit 609. When the computer program is loaded into RAM 603 and executed by the computing unit 601, one or more steps of the method of video streaming described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform the method of video streaming by any other suitable means (e.g. by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include being implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be a special or general purpose programmable processor, operable to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowchart and/or block diagram to be implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user, for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback), and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a Local Area Network (LAN), a Wide Area Network (WAN), and the Internet.
The computer system may include a client and a server. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also called a cloud computing server or a cloud host, and is a host product in a cloud computing service system, so as to solve the defects of large management difficulty and weak service expansibility in the traditional physical host and Virtual Private Server (VPS) PRIVATE SERVER service. Servers may also be divided into servers of a distributed system or servers that incorporate blockchains.
According to the technical scheme of the embodiment of the disclosure, in the video stream issuing process, the video stream to be issued is corrected in a mode of extracting image frames from the target video stream to be issued according to a preset interval period and constructing a corrected video stream, so that frame skipping of the image frames in the target video stream caused by problems of encoding, transmission delay and the like is avoided, and the quality of the issued target video stream can be improved.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps recited in the present disclosure may be performed in parallel, sequentially, or in a different order, provided that the desired results of the technical solutions provided by the present disclosure are achieved, and are not limited herein.
The above detailed description should not be taken as limiting the scope of the present disclosure. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present disclosure are intended to be included within the scope of the present disclosure.
Claims (9)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111355256.0A CN114071185B (en) | 2021-11-16 | 2021-11-16 | Method for video stream delivery, related device and computer program product |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111355256.0A CN114071185B (en) | 2021-11-16 | 2021-11-16 | Method for video stream delivery, related device and computer program product |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN114071185A CN114071185A (en) | 2022-02-18 |
| CN114071185B true CN114071185B (en) | 2025-09-16 |
Family
ID=80272590
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202111355256.0A Active CN114071185B (en) | 2021-11-16 | 2021-11-16 | Method for video stream delivery, related device and computer program product |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN114071185B (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101478683A (en) * | 2007-12-28 | 2009-07-08 | 英特尔公司 | Synchronizing audio frames with video frames |
| CN110519635A (en) * | 2019-08-07 | 2019-11-29 | 河北远东通信系统工程有限公司 | A kind of audio-video frequency media stream interflow method and system of wireless clustered system |
| CN113163260A (en) * | 2021-03-09 | 2021-07-23 | 北京百度网讯科技有限公司 | Video frame output control method and device and electronic equipment |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050259623A1 (en) * | 2004-05-13 | 2005-11-24 | Harinath Garudadri | Delivery of information over a communication channel |
| US9191686B2 (en) * | 2011-07-22 | 2015-11-17 | Honeywell International Inc. | System and method of implementing synchronized audio and video streaming |
| US11076198B2 (en) * | 2015-05-28 | 2021-07-27 | Idomoo Ltd. | System and method to generate an interactive video on the fly |
| CN105611428A (en) * | 2015-12-22 | 2016-05-25 | 北京安寻网络科技有限公司 | Video evidence preserving and verifying method and device |
| CN110290421A (en) * | 2019-08-01 | 2019-09-27 | 北京达佳互联信息技术有限公司 | Frame per second method of adjustment, device, computer equipment and storage medium |
| CN111897996B (en) * | 2020-08-10 | 2023-10-31 | 北京达佳互联信息技术有限公司 | Hashtag recommendation method, device, equipment and storage medium |
| CN112287771A (en) * | 2020-10-10 | 2021-01-29 | 北京沃东天骏信息技术有限公司 | Method, apparatus, server and medium for detecting video events |
| CN113573119B (en) * | 2021-06-15 | 2022-11-29 | 荣耀终端有限公司 | Method and device for generating time stamp of multimedia data |
-
2021
- 2021-11-16 CN CN202111355256.0A patent/CN114071185B/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101478683A (en) * | 2007-12-28 | 2009-07-08 | 英特尔公司 | Synchronizing audio frames with video frames |
| CN110519635A (en) * | 2019-08-07 | 2019-11-29 | 河北远东通信系统工程有限公司 | A kind of audio-video frequency media stream interflow method and system of wireless clustered system |
| CN113163260A (en) * | 2021-03-09 | 2021-07-23 | 北京百度网讯科技有限公司 | Video frame output control method and device and electronic equipment |
Also Published As
| Publication number | Publication date |
|---|---|
| CN114071185A (en) | 2022-02-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113181646B (en) | Game data method and device, electronic equipment and storage medium | |
| US20230215076A1 (en) | Image frame display method, apparatus, device, storage medium, and program product | |
| US11146662B2 (en) | Method and system of transmitting state based input over a network | |
| US10819951B2 (en) | Recording video from a bitstream | |
| EP3410302A1 (en) | Graphic instruction data processing method, apparatus and system | |
| CN113365146B (en) | Method, apparatus, device, medium and article of manufacture for processing video | |
| CN114222195A (en) | Live broadcast stream pushing method and device, electronic equipment and storage medium | |
| CN114422799A (en) | Video file decoding method and device, electronic equipment and program product | |
| CN114071190B (en) | Cloud application video stream processing method, related devices and computer program products | |
| CN113824689B (en) | Edge computing network, data transmission method, device, equipment and storage medium | |
| CN112954438B (en) | Image processing method and device | |
| CN115460419B (en) | Image processing method, device, electronic equipment and storage medium | |
| TWI823146B (en) | Edge side rendering operation method and system for real-time mr interactive application | |
| CN116233549A (en) | A video page switching method and device | |
| CN113411661B (en) | Method, apparatus, device, storage medium and program product for recording information | |
| CN114071185B (en) | Method for video stream delivery, related device and computer program product | |
| US11949887B2 (en) | Transmission apparatus, transmission method, and program | |
| EP4510595A1 (en) | Video synchronous display method and apparatus, device and medium | |
| KR20180102605A (en) | Image drawing methods, associated devices and systems | |
| CN117425048A (en) | Video playing method, device, equipment and storage medium | |
| CN116471375A (en) | How to upgrade video conferencing equipment | |
| WO2024010588A1 (en) | Cloud-based gaming system for supporting legacy gaming applications with high frame rate streams | |
| CN114095758A (en) | Cloud image intercepting method, related device and computer program product | |
| CN117938823B (en) | Cloud game screen sharing method, device, equipment and storage medium | |
| CN117956226B (en) | Video decoding method and device of cloud mobile phone |
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 |