CN112235642B - Video data processing method, device, equipment and storage medium - Google Patents
Video data processing method, device, equipment and storage medium Download PDFInfo
- Publication number
- CN112235642B CN112235642B CN202011103931.6A CN202011103931A CN112235642B CN 112235642 B CN112235642 B CN 112235642B CN 202011103931 A CN202011103931 A CN 202011103931A CN 112235642 B CN112235642 B CN 112235642B
- Authority
- CN
- China
- Prior art keywords
- video data
- image frame
- video
- client
- target image
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000004891 communication Methods 0.000 claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 18
- 230000008569 process Effects 0.000 claims abstract description 10
- 230000015654 memory Effects 0.000 claims description 21
- 238000010295 mobile communication Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 208000003028 Stuttering Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4622—Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
-
- 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/43—Processing 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/44—Processing 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/44004—Processing 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 video buffer management, e.g. video decoder buffer or video display buffer
-
- 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/43—Processing 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/44—Processing 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/44008—Processing 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 operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/14—Reselecting a network or an air interface
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
The application discloses a video data processing method, a video data processing device, video data processing equipment and a storage medium, and relates to the field of video data processing. The specific implementation scheme is as follows: receiving a network switching message initiated by a client in the process of acquiring video data of a video source requested by the client, wherein the network switching message indicates that the client is switched from a first communication network to a second communication network; determining a target image frame from cached first video data of a video source requested by a client, wherein the first video data is acquired from a first network device matched with a first communication network; deleting data after the target image frame from the cached first video data, and acquiring second video data corresponding to the video source from a second network device matched with a second communication network, wherein the second video data comprises at least part of data after the target image frame in the video data corresponding to the video source. Therefore, a foundation is laid for improving the video browsing experience of the user.
Description
Technical Field
The present application relates to the field of data processing, and more particularly to the field of video data processing.
Background
With the continuous upgrading of traffic in mobile communication networks and the overall popularization of wireless communication networks, such as Wi-Fi, watching video on mobile devices becomes a necessary requirement for users; moreover, in an actual scene, due to the instability of Wi-Fi, the situation that the mobile device is constantly switched between the wireless communication network and the mobile communication network or between the mobile communication networks often occurs, and at this time, if the user is browsing videos, the problem of video blocking and the like occurs, and the user experience is inevitably reduced.
Disclosure of Invention
The application provides a video data processing method, a video data processing device, video data processing equipment and a storage medium.
According to an aspect of the present application, there is provided a video data processing method including:
receiving a network switching message initiated by a client in the process of acquiring video data of a video source requested by the client, wherein the network switching message indicates that the client is switched from a first communication network to a second communication network;
determining a target image frame from cached first video data of a video source requested by the client, wherein the first video data is acquired from a first network device matched with the first communication network;
deleting data after the target image frame from the cached first video data, and acquiring second video data corresponding to the video source from a second network device matched with the second communication network, wherein the second video data comprises at least part of data after the target image frame in the video data corresponding to the video source.
According to another aspect of the present application, there is provided a video data processing apparatus including:
the device comprises a message receiving unit, a message sending unit and a message receiving unit, wherein the message receiving unit is used for receiving a network switching message initiated by a client in the process of acquiring video data of a video source requested by the client, and the network switching message indicates that the client is switched from a first communication network to a second communication network;
the image frame determining unit is used for determining a target image frame from cached first video data of a video source requested by the client, wherein the first video data is acquired from a first network device matched with the first communication network;
an image frame deleting unit configured to delete data subsequent to the target image frame from the buffered first video data;
and the first video data acquisition unit is used for acquiring second video data corresponding to the video source from second network equipment matched with the second communication network, wherein the second video data comprises at least part of data after the target image frame in the video data corresponding to the video source.
According to still another aspect of the present application, there is provided an electronic apparatus including:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method described above.
According to yet another aspect of the present application, there is provided a non-transitory computer readable storage medium having stored thereon computer instructions for causing the computer to perform the method described above.
According to yet another aspect of the application, a computer program product is provided, comprising a computer program which, when executed by a processor, implements the method as described above.
According to the technology of the application, the problem of discontinuous video frames caused by switching of the communication network of the client is solved, and a foundation is laid for improving the video browsing experience.
It should be understood that the statements in this section are not intended to identify key or critical features of the embodiments of the present application, nor are they intended to limit the scope of the present application. Other features of the present application will become apparent from the following description.
Drawings
The drawings are included to provide a better understanding of the present solution and are not intended to limit the present application. Wherein:
fig. 1 is a schematic flow chart of an implementation of a video data processing method according to an embodiment of the present application;
FIG. 2 is a schematic view of a video data processing method according to an embodiment of the present application in a specific example;
fig. 3 is a first schematic diagram in a specific example of a video data processing method according to an embodiment of the present application;
FIG. 4 is a diagram illustrating a second exemplary video data processing method according to an embodiment of the present application;
FIG. 5 is a schematic diagram of a video data processing apparatus according to an embodiment of the present application;
fig. 6 is a block diagram of an electronic device for implementing a video data processing method according to an embodiment of the present application.
Detailed Description
The following description of the exemplary embodiments of the present application, taken in conjunction with the accompanying drawings, includes various details of the embodiments of the application for the understanding of the same, which are to be considered exemplary only. Accordingly, those 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 application. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
The present application provides a video data processing method, which is applied to a video data processing apparatus, and in practical applications, the video data processing apparatus may be specifically a server corresponding to a video player or a video playing application program, or integrated in a server corresponding to the video player or the video playing application program. Specifically, fig. 1 is a schematic flow chart of an implementation of a video data processing method according to an embodiment of the present application, and as shown in fig. 1, the method includes:
step S101: receiving a network switching message initiated by a client in the process of acquiring video data of a video source requested by the client, wherein the network switching message indicates that the client is switched from a first communication network to a second communication network.
Step S102: and determining a target image frame from cached first video data of the video source requested by the client, wherein the first video data is acquired from a first network device matched with the first communication network.
Step S103: deleting data after the target image frame from the cached first video data, and acquiring second video data corresponding to the video source from a second network device matched with the second communication network, wherein the second video data comprises at least part of data after the target image frame in the video data corresponding to the video source.
Therefore, according to the scheme of the application, under the condition that the network switching message is received, the target image frame is determined from the cached video content of the video source requested by the client, namely the first video data, the target image frame is deleted, the data behind the target image frame is deleted, and then the video content corresponding to the video source, namely the second video data is obtained from the second network equipment matched with the switched second communication network again.
In practical applications, the network handover message may specifically instruct the client to handover from the wireless communication network to the mobile communication network, such as to handover from Wi-Fi to a fourth generation mobile communication technology (4G) network, or to handover from the fourth generation mobile communication technology (4G) to a fifth generation mobile communication technology (5G) network, and so on. At this time, the first communication network may be embodied as any one of a wireless communication network and a mobile communication network, and accordingly, the second communication network may be embodied as any one of a wireless communication network and a mobile communication network as long as the first communication network is different from the second communication network.
In this example, the first Network device may specifically be a Network device capable of providing video Content, for example, a Content Delivery Network (CDN) node; correspondingly, the second network device may also be specifically a network device capable of providing video content, for example, a content delivery network node, as long as the two network devices correspond to different CDN nodes.
In a specific example, the target image frame may be specifically an I frame in an H264 encoding format, corresponding to one image; the video playing depends on the I frame, that is, after the I frame is acquired, data processing can be performed on the basis of the I frame (that is, the image) based on the acquired video data, and a plurality of subsequent continuous video frames can be obtained.
In a specific example of the scheme of the application, in the process of acquiring video data of a video source requested by a client, acquiring first video data corresponding to the video source requested by the client, caching the first video data in a preset cache queue, and sending the cached video data corresponding to the video source to the client through the preset cache queue, so that the client can browse the video data of the requested video source. That is to say, this example can adopt the mode of buffer queue to carry out the buffer memory to the video data who obtains, so, avoid because network problems such as network shake can't obtain video content, can't send video data to the client, lead to the problem that the video is not smooth to watch by the client, and then establish the basis for promoting video browsing experience.
In a specific example of the scheme of the application, after the network is switched, the video data are acquired, the acquired video data can be inserted into the second video data to preset the tail of the cache queue, the cache of the cache queue is further preset, the video data corresponding to the video source are continuous, and therefore the client can receive the video data corresponding to the video source continuously, the video data are ensured to be browsed smoothly by a user, and a foundation is laid for improving the video browsing experience.
In a specific example of the present disclosure, data subsequent to a target image frame in first video data may be determined based on time information of the target image frame; specifically, the deleting data after the target image frame from the buffered first video data specifically includes: the time information of the target image frame is determined, and data after the time information is deleted from the cached first video data, so that the problem that the same frame appears in the video data sent to the client side and is repeatedly played due to the fact that the same image frame exists in the second video data obtained after network switching, the foundation is laid for ensuring continuity and flow of the video data browsed by a user, and the foundation is laid for improving the video browsing experience.
In a specific example of the scheme of the application, the target image frame is an image frame which is not sent to the client in the cached first video data, that is, the image frame to be deleted is an image frame which is not sent to the client, so that a foundation is laid for the continuity and the flow of video data browsed by a user, and further, a foundation is laid for improving the video browsing experience. Meanwhile, the problem that the same frame appears in the video data sent to the client side and is repeatedly played due to the fact that the same image frame as the first video data exists in the second video data obtained after network switching is avoided.
In a specific example of the present disclosure, the target image frame is a last frame of the buffered image frames that are not sent to the client. That is to say, the image frame to be subjected to the deletion processing is the last frame in the image frames which are not sent to the client, in other words, from the time perspective, the target image frame is the last frame in the first video data which is cached and is not sent to the client, so that on one hand, repeated downloading of the video data is avoided to the maximum extent, and on the other hand, the problem that the same frame occurs in the video data which is sent to the client and is played repeatedly due to the fact that the image frame which is the same as the first video data exists in the second video data which is obtained after network switching is also avoided.
Therefore, according to the scheme of the application, under the condition that the network switching message is received, the target image frame is determined from the cached video content of the video source requested by the client, namely the first video data, the target image frame is deleted, the data behind the target image frame is deleted, and then the video content corresponding to the video source, namely the second video data is obtained from the second network equipment matched with the switched second communication network again.
Specifically, in an actual scene, after network switching is performed, a CDN node before switching may no longer be matched with a communication network after switching, and if the CDN node before switching is still used to download video content, a problem of stuttering may occur, which may cause unsmooth video playing. Therefore, in practical applications, after the network switching is performed at the client, the server corresponding to the client goes to the network side to re-determine the CDN node matched with the current communication network, and then obtains the corresponding video content from the re-determined CDN node matched with the current communication network based on the current playing progress, so as to avoid a problem of a reduction in downloading speed due to downloading of the video content from an unmatched original CDN node, thereby avoiding a problem of unsmooth browsing, such as a user browsing a card.
Here, in this example, the problem that the video playing is not smooth due to the fact that the client side plays repeatedly by acquiring the video content from the CDN node matched with the current communication network, that is, the client side plays again from the first 1 to 2 seconds of the playing position before the network is switched can also be further avoided; however, since the current video resources are all in the H264 coding format, and the playing of the video depends on the position of the I frame, the current video resources cannot be accurately positioned to the specific position of the current playing, and the data can only be acquired from the nearest I frame before the current position and played, so that the problem of repeated playing occurs.
Based on this, the present example provides a new video data processing scheme, specifically, as shown in fig. 2, a local server (i.e., the above-mentioned server) acquires video data through a CDN node and sends the acquired video data to a Player (Player), and after a network condition changes, the local server deals with network transformation, relocates the CDN node, and acquires video data from the relocated CDN node, and can ensure that the video data played by the Player is smooth without generating abnormal situations such as interruption.
Here, the key points of the present example are: the key problems include:
first, optimal CDN node problem:
when the network switching is detected, the local server acquires an optimal CDN node matched with the current network environment through an HTTPDNS (Hypertext Transfer Protocol Domain Name System) based on the new network environment, and then acquires video data from the new CDN node. Here, HTTP DNS requests a port 80 of the DNS server using HTTP protocol, and thus obtains an optimal CDN node matching the current network environment.
Secondly, after switching to a new CDN node, how to process video data avoids the problem of playing from the first 1,2 seconds of the current location.
Since the video is cached after being downloaded, for example, caching is performed through a cache queue; when the buffer queue is full of data, suspending data acquisition; and when the buffer queue is insufficient, the data loading is carried out fully. Based on this, when network switching is performed, a certain amount of video data is also cached in the cache queue of the local server, and at this time, as shown in fig. 3, data decoding is performed from back to front in the cache queue, and the position of the last I frame is found, then, the time node corresponding to the found I frame is read, and the I frame and the cache data behind the I frame are deleted from the cache queue, such as the I frame and the P frame are deleted.
Further, as shown in fig. 4, with the time node of the deleted last I frame as a reference, the corresponding video data is pulled from the new CDN node and filled in the tail of the cache queue, and meanwhile, the local server will continuously send the data in the cache queue to the player, and the player will not generate any interruption, pause, or replay from the previous 1,2 seconds, so that in the scenario of network switching, the present application scheme can still enable the user to have a smooth viewing experience.
The present application further provides a video data processing apparatus, as shown in fig. 5, including:
a message receiving unit 501, configured to receive a network switching message initiated by a client in a process of acquiring video data of a video source requested by the client, where the network switching message indicates that the client is switched from a first communication network to a second communication network;
an image frame determining unit 502, configured to determine a target image frame from cached first video data of a video source requested by the client, where the first video data is acquired from a first network device matching the first communication network;
an image frame deleting unit 503 configured to delete data subsequent to the target image frame from the buffered first video data;
a first video data obtaining unit 504, configured to obtain, from a second network device matching the second communication network, second video data corresponding to the video source, where the second video data includes at least part of data, starting from the target image frame, of video data corresponding to the video source.
In a specific example of the scheme of the present application, the method further includes:
the second video data acquisition unit is used for acquiring first video data corresponding to the video source requested by the client;
the buffer unit is used for buffering the first video data in a preset buffer queue so as to send the buffered video data corresponding to the video source to the client through the preset buffer queue.
In a specific example of the scheme of the application, the buffer unit is further configured to insert the obtained second video data into a tail portion of the preset buffer queue, so that the video data received by the client and directed to the video source are continuous.
In a specific example of the present disclosure, the image frame deleting unit includes:
a time determining subunit, configured to determine time information of the target image frame;
and the deleting subunit is used for deleting data after the time information from the cached first video data.
In a specific example of the present disclosure, the target image frame is an image frame that is not sent to the client in the cached first video data.
In a specific example of the present disclosure, the target image frame is a last frame of the buffered image frames that are not sent to the client.
Therefore, according to the scheme of the application, under the condition that the network switching message is received, the target image frame is determined from the cached video content of the video source requested by the client, namely the first video data, the target image frame is deleted, the data behind the target image frame is deleted, and then the video content corresponding to the video source, namely the second video data is obtained from the second network equipment matched with the switched second communication network again.
According to the embodiment of the application, the application also provides an electronic device, a readable storage medium and a computer program product.
As shown in fig. 6, it is a block diagram of an electronic device according to the video data processing method of the embodiment of the present application. 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 phones, smart phones, 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 applications described and/or claimed herein.
As shown in fig. 6, the electronic apparatus includes: one or more processors 601, memory 602, and interfaces for connecting the various components, including a high-speed interface and a low-speed interface. The various components are interconnected using different buses and may be mounted on a common motherboard or in other manners as desired. The processor may process instructions for execution within the electronic device, including instructions stored in or on the memory to display graphical information of a GUI on an external input/output apparatus (such as a display device coupled to the interface). In other embodiments, multiple processors and/or multiple buses may be used, along with multiple memories and multiple memories, as desired. Also, multiple electronic devices may be connected, with each device providing portions of the necessary operations (e.g., as a server array, a group of blade servers, or a multi-processor system). In fig. 6, one processor 601 is taken as an example.
The memory 602 is a non-transitory computer readable storage medium as provided herein. The memory stores instructions executable by at least one processor to cause the at least one processor to perform the video data processing method provided by the present application. The non-transitory computer-readable storage medium of the present application stores computer instructions for causing a computer to execute the video data processing method provided by the present application.
The memory 602, which is a non-transitory computer-readable storage medium, may be used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as program instructions/modules corresponding to the video data processing method in the embodiment of the present application (for example, the message receiving unit 501, the image frame determining unit 502, the image frame deleting unit 503, and the first video data acquiring unit 504 shown in fig. 5, and the second video data acquiring unit and the buffering unit not shown in fig. 5). The processor 601 executes various functional applications of the server and data processing, i.e., implements the video data processing method in the above-described method embodiments, by running non-transitory software programs, instructions, and modules stored in the memory 602.
The memory 602 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created according to use of the electronic device of the video data processing method, and the like. Further, the memory 602 may include high speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, the memory 602 optionally includes memory located remotely from the processor 601, and these remote memories may be connected to the electronic device of the video data processing method through a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The electronic device of the video data processing method may further include: an input device 603 and an output device 604. The processor 601, the memory 602, the input device 603 and the output device 604 may be connected by a bus or other means, and fig. 6 illustrates the connection by a bus as an example.
The input device 603 may receive input numeric or character information and generate key signal inputs related to user settings and function control of the electronic apparatus of the video data processing method, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, a pointing stick, one or more mouse buttons, a track ball, a joystick, or other input devices. The output devices 604 may include a display device, auxiliary lighting devices (e.g., LEDs), and tactile feedback devices (e.g., vibrating motors), among others. The display device may include, but is not limited to, a Liquid Crystal Display (LCD), a Light Emitting Diode (LED) display, and a plasma display. In some implementations, the display device can be a touch screen.
Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, application specific ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: 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 special or general purpose, receiving data and instructions from, and transmitting data and instructions to, a storage system, at least one input device, and at least one output device.
These computer programs (also known as programs, software applications, or code) include machine instructions for a programmable processor, and may be implemented using high-level procedural and/or object-oriented programming languages, and/or assembly/machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus, and/or device (e.g., magnetic discs, optical disks, memory, programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and/or data to a programmable processor.
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 a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a 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 can 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, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a back-end 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 back-end, 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: local Area Networks (LANs), wide Area Networks (WANs), and the Internet.
The computer system may include clients and servers. A client and server are generally 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 high management difficulty and weak service expansibility in the traditional physical host and Virtual Private Server (VPS) service. The server may also be a server of a distributed system, or a server incorporating a blockchain.
According to the technical scheme of the embodiment of the application, the target image frame can be determined from the cached video content of the video source requested by the client, namely the first video data, the target image frame is deleted, the data behind the target image frame is deleted, and then the video content corresponding to the video source, namely the second video data is obtained from the second network equipment matched with the switched second communication network again.
It should be understood that various forms of the flows shown above may be used, with steps reordered, added, or deleted. For example, the steps described in the present application may be executed in parallel, sequentially, or in different orders, as long as the desired results of the technical solutions disclosed in the present application can be achieved, and the present invention is not limited herein.
The above-described embodiments should not be construed as limiting the scope of the present application. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may be made in accordance with design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims (8)
1. A video data processing method, comprising:
the method comprises the steps that first video data corresponding to a video source requested by a client side are obtained from a first network device matched with a first communication network, the first video data are cached in a preset cache queue, and the cached video data corresponding to the video source are sent to the client side through the preset cache queue;
receiving a network switching message initiated by the client in the process of acquiring the video data of the video source requested by the client, wherein the network switching message indicates that the client is switched from the first communication network to a second communication network;
determining a target image frame from the cached first video data, wherein the target image frame is an image frame which is not sent to the client side in the cached first video data;
deleting data from the cached first video data after the target image frame, when network switching is detected, determining second network equipment through an HTTP DNS (hypertext transport protocol domain name system) based on the environment of the second communication network, and acquiring second video data corresponding to the video source from the second network equipment, wherein the second network equipment is an optimal node matched with the second communication network, and the second video data comprise at least part of data from the video data corresponding to the video source after the target image frame;
and inserting the acquired second video data into the tail part of the preset buffer queue so as to enable the video data which are received by the client and aim at the video source to be continuous.
2. The method of claim 1, wherein said deleting data from the buffered first video data that follows the target image frame comprises:
determining time information of the target image frame;
deleting data after the time information from the buffered first video data.
3. The method according to claim 1 or 2, wherein the target image frame is a last frame of the buffered first video data among image frames not sent to the client.
4. A video data processing apparatus comprising:
the second video data acquisition unit is used for acquiring first video data corresponding to the video source requested by the client from the first network equipment matched with the first communication network;
the caching unit is used for caching the first video data in a preset caching queue so as to send the cached video data corresponding to the video source to the client through the preset caching queue;
a message receiving unit, configured to receive a network switching message initiated by the client in a process of acquiring video data of a video source requested by the client, where the network switching message indicates that the client is switched from the first communication network to a second communication network;
the image frame determining unit is used for determining a target image frame from the cached first video data, wherein the target image frame is an image frame which is not sent to the client side in the cached first video data;
an image frame deleting unit configured to delete data after the target image frame from the buffered first video data;
the first video data acquisition unit is used for determining second network equipment through an HTTP DNS (hypertext transport protocol domain name system) based on the environment of the second communication network when the network is detected to be switched, and acquiring second video data corresponding to the video source from the second network equipment, wherein the second network equipment is an optimal node matched with the second communication network, and the second video data comprises at least part of data, starting from the target image frame, of the video data corresponding to the video source;
the cache unit is further configured to insert the obtained second video data into a tail portion of the preset cache queue, so that the video data for the video source received by the client is continuous.
5. The apparatus of claim 4, wherein the image frame deleting unit comprises:
a time determining subunit, configured to determine time information of the target image frame;
and the deleting subunit is used for deleting data after the time information from the cached first video data.
6. The apparatus according to claim 4 or 5, wherein the target image frame is a last frame of the buffered image frames of the first video data that are not sent to the client.
7. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-3.
8. A non-transitory computer readable storage medium having stored thereon computer instructions for causing the computer to perform the method of any one of claims 1-3.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011103931.6A CN112235642B (en) | 2020-10-15 | 2020-10-15 | Video data processing method, device, equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011103931.6A CN112235642B (en) | 2020-10-15 | 2020-10-15 | Video data processing method, device, equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112235642A CN112235642A (en) | 2021-01-15 |
CN112235642B true CN112235642B (en) | 2023-03-24 |
Family
ID=74117335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011103931.6A Active CN112235642B (en) | 2020-10-15 | 2020-10-15 | Video data processing method, device, equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112235642B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259769B (en) * | 2021-04-07 | 2022-05-24 | 苏州华兴源创科技股份有限公司 | Video source switching method and device, electronic equipment and computer readable storage medium |
CN115065859B (en) * | 2022-06-07 | 2024-05-07 | 北京达佳互联信息技术有限公司 | Video data acquisition method, device, equipment and medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004054268A1 (en) * | 2002-12-10 | 2004-06-24 | Kyung-Soo Rim | Method and apparatus for compressing and decompressing moving picture data |
CN110430461A (en) * | 2019-08-28 | 2019-11-08 | 腾讯科技(深圳)有限公司 | A kind of method, apparatus and video playback apparatus controlling video playing |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2040436A1 (en) * | 2007-09-18 | 2009-03-25 | THOMSON Licensing | Access network handover for a mobile television system |
CN102905188B (en) * | 2012-11-01 | 2015-09-30 | 北京奇艺世纪科技有限公司 | A kind of video code flow changing method and device |
CN105451097B (en) * | 2014-09-24 | 2018-09-11 | 中国电信股份有限公司 | Video playing control method and device, mobile terminal |
CN104602311A (en) * | 2014-12-29 | 2015-05-06 | 北京奇虎科技有限公司 | Terminal connected with a plurality of wireless networks simultaneously and switching method for terminal |
US10911794B2 (en) * | 2016-11-09 | 2021-02-02 | Charter Communications Operating, Llc | Apparatus and methods for selective secondary content insertion in a digital network |
CN108881931B (en) * | 2017-05-16 | 2021-09-07 | 腾讯科技(深圳)有限公司 | Data buffering method and network equipment |
-
2020
- 2020-10-15 CN CN202011103931.6A patent/CN112235642B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004054268A1 (en) * | 2002-12-10 | 2004-06-24 | Kyung-Soo Rim | Method and apparatus for compressing and decompressing moving picture data |
CN110430461A (en) * | 2019-08-28 | 2019-11-08 | 腾讯科技(深圳)有限公司 | A kind of method, apparatus and video playback apparatus controlling video playing |
Non-Patent Citations (1)
Title |
---|
机会网络视频数据的分块渐进传输新方法;李鹏等;《电子学报》(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112235642A (en) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110417842B (en) | Fault processing method and device for gateway server | |
US9922007B1 (en) | Split browser architecture capable of determining whether to combine or split content layers based on the encoding of content within each layer | |
CN112235642B (en) | Video data processing method, device, equipment and storage medium | |
US9876846B2 (en) | Data transmission | |
WO2022111027A1 (en) | Video acquisition method, electronic device, and storage medium | |
US10394411B1 (en) | Dynamic resource management for cloud-based services | |
US10178431B2 (en) | Hybrid stream delivery | |
CN111724785A (en) | Voice control method, device and storage medium for small program | |
EP3816802A2 (en) | Method and device for processing mini program data | |
US20240031451A1 (en) | Pushing content in time windows based on different positions | |
CN110659330A (en) | Data processing method, device and storage medium | |
CN114363643B (en) | Intelligent high-speed large-screen real-time video stream playing method and device | |
CN110636338A (en) | Video definition switching method and device, electronic equipment and storage medium | |
CN113825020B (en) | Video definition switching method, device, equipment, storage medium and program product | |
CN111782229B (en) | Method and device for starting small program and electronic equipment | |
US20090234912A1 (en) | File transfer via local server | |
US20240039663A1 (en) | Optimized kernel for concurrent streaming sessions | |
US20220086253A1 (en) | Configurable access-based cache policy control | |
CN111935507A (en) | Video switching method and device | |
CN114422572B (en) | Cloud mobile phone control method and device, electronic equipment and storage medium | |
CN113905248A (en) | Live video data transmission method, device, equipment and storage medium | |
CN113542802A (en) | Video transition method and device | |
CN114222167B (en) | Cloud screen projection control method, device, server, system and readable storage medium | |
CN111726687B (en) | Method and apparatus for generating display data | |
CN113453062B (en) | Video metadata acquisition and processing method, device, system and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |