Video processing method and device, equipment and storage medium
By generating full and incremental snapshots during network page recording and storing and uploading in client cache space, data loss caused by limited storage space and time during network page recording is solved, and the integrity of recorded data is achieved and Storage efficiency.
Patent Information
- Application Number
- CN202411179771.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2024-12-20
AI Technical Summary
When recording a web page, the limited storage space and time will result in the loss of snapshots, affecting the integrity of the recorded video.
Using a combination of full snapshots and incremental snapshots, generate and store snapshot data of the target network page, and when preset conditions are met, the data is stored in the client cache space and then uploaded to the video storage side to avoid preset storage. The limitation of location causes data loss.
Ensure the integrity and storage efficiency of recorded data, avoid data loss due to limited storage space and time, and avoid the problem of excessive data volume caused by using the client system recording function.
Smart Images

Figure CN119172574A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of information processing technology, and in particular to a video processing method, device, equipment and storage medium. Background Art
[0002] Web page recording is a common method for testing or online problem feedback. Currently, the main method for web page recording is to obtain a snapshot of the web page and temporarily store it in a storage location corresponding to the web page. Then, when the data upload conditions are met, the snapshots in the temporary storage location are uploaded to the video storage end for storage. However, since the storage space and storage time of the storage location corresponding to the web page are limited, it is very easy to cause the loss of snapshots, resulting in incompleteness of the recorded video of the web page, affecting the effectiveness of the recorded video of the web page, especially when the recorded snapshots of key actions in the web page are lost, the effectiveness of the recorded video will be greatly reduced. Summary of the invention
[0003] In order to solve the above technical problems, the embodiments of the present disclosure provide a video processing method, apparatus, device and storage medium.
[0004] In a first aspect, an embodiment of the present disclosure provides a video processing method, which is applied to a client, and the method includes:
[0005] If a recording operation on the target web page is detected, a full snapshot of the target web page is generated, and the full snapshot is stored in a preset storage location;
[0006] Monitoring a first event in the target network page, generating an incremental snapshot of the target network page based on the monitoring result of the first event, and storing the incremental snapshot to the preset storage location;
[0007] If the preset cache condition is met and it is determined that the target recording data is still stored in the preset storage location, the target recording data is stored in the client cache space corresponding to the target network page; wherein the target recording data includes the full snapshot and / or the incremental snapshot;
[0008] If a startup operation of the client corresponding to the target network page is detected, the first cache data in the client cache space is uploaded to the video storage end for storage; wherein the first cache data includes the target recording data.
[0009] In a second aspect, an embodiment of the present disclosure provides a video processing method, which is applied to a video storage end, and the method includes:
[0010] Receive a video storage request sent by a client; wherein the video storage request includes target recording data; the target recording data includes a full snapshot and / or an incremental snapshot generated by the client in response to a recording operation on a target network page, and a recording identifier corresponding to the target network page, the incremental snapshot being generated by the client monitoring a first event in the target network page; the target recording data belongs to first cache data stored in a client cache space, and the target recording data is stored in the client cache space when the client meets a preset cache condition;
[0011] Using the recording identifier as the file name, storing the full snapshot and the incremental snapshot in a data storage unit;
[0012] The recording identifier is used as a key field and the recording identifier is stored in a full-text search unit.
[0013] In a third aspect, an embodiment of the present disclosure provides a video processing method, which is applied to a video playback end, and the method includes:
[0014] In response to a video playback operation, a full snapshot and an incremental snapshot corresponding to a target network page are determined, and a custom snapshot is determined from the incremental snapshots based on a custom event type; wherein the full snapshot is generated by a client recording a video in response to a recording operation on the target network page, the incremental snapshot is generated by the client monitoring a first event in the target network page, and the custom snapshot is generated by the client monitoring a second event in the target network page; the full snapshot and / or the incremental snapshot belong to first cache data stored in a client cache space, and are stored in the client cache space when the client meets a preset cache condition;
[0015] Reconstructing the target web page based on the full snapshot and the incremental snapshot, generating a target video, and generating video anchor information based on the custom snapshot;
[0016] The target video is played, and the video anchor information is displayed in the target video.
[0017] In a fourth aspect, the embodiments of the present disclosure further provide a video processing device, which is configured on a client, and includes:
[0018] A snapshot data generation module, configured to generate a full snapshot of the target network page if a recording operation on the target network page is detected, and store the full snapshot in a preset storage location;
[0019] The snapshot data generation module is further used to monitor a first event in the target network page, and generate an incremental snapshot of the target network page based on the monitoring result of the first event, and store the incremental snapshot to the preset storage location;
[0020] A data storage module, configured to store the target recorded data in a client cache space corresponding to the target network page if a preset cache condition is met and it is determined that the target recorded data is still stored in the preset storage location; wherein the target recorded data includes the full snapshot and / or the incremental snapshot;
[0021] The data uploading module is used to upload the first cache data in the client cache space to the video storage end for storage if a startup operation of the client corresponding to the target network page is detected; wherein the first cache data includes the target recording data.
[0022] In a fifth aspect, the embodiments of the present disclosure further provide a video processing device, which is configured at a video storage end, and the device includes:
[0023] A data receiving module, used for receiving a video storage request sent by a client; wherein the video storage request includes target recording data; the target recording data includes a full snapshot and / or an incremental snapshot generated by the client in response to a recording operation on a target network page, and a recording identifier corresponding to the target network page, wherein the incremental snapshot is generated by the client monitoring a first event in the target network page; the target recording data belongs to the first cache data stored in the client cache space, and the target recording data is stored in the client cache space when the client meets a preset cache condition;
[0024] A data storage module, used to store the full snapshot and the incremental snapshot in a data storage unit using the recording identifier as the file name;
[0025] The data storage module is further used to store the recording identifier in the full-text retrieval unit using the recording identifier as a key field.
[0026] In a sixth aspect, the embodiments of the present disclosure further provide a video processing device, which is configured at a video playback end, and the device includes:
[0027] A determination module, configured to determine, in response to a video playback operation, a full snapshot and an incremental snapshot corresponding to a target network page, and determine a custom snapshot from the incremental snapshots based on a custom event type; wherein the full snapshot is generated by a client recording a video in response to a recording operation on the target network page, the incremental snapshot is generated by the client monitoring a first event in the target network page, and the custom snapshot is generated by the client monitoring a second event in the target network page; the full snapshot and / or the incremental snapshot belong to first cache data stored in a client cache space, and are stored in the client cache space when the client meets a preset cache condition;
[0028] A video generation module, used to reconstruct the target web page based on the full snapshot and the incremental snapshot, generate a target video, and generate video anchor information based on the custom snapshot;
[0029] The video playback module is used to play the target video and display the video anchor point information in the target video.
[0030] In a seventh aspect, an embodiment of the present disclosure further provides an electronic device, the electronic device comprising:
[0031] processor;
[0032] A memory for storing executable instructions;
[0033] The processor is used to read executable instructions from the memory and execute the executable instructions to implement the video processing method described in any embodiment of the present disclosure.
[0034] In an eighth aspect, an embodiment of the present disclosure further provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the processor implements the video processing method described in any embodiment of the present disclosure.
[0035] In a ninth aspect, an embodiment of the present disclosure further provides a computer program product, which is used to execute the video processing method described in any embodiment of the present disclosure.
[0036] The video processing method, device, equipment and storage medium of the embodiment of the present disclosure, by storing the full snapshot and incremental snapshot obtained by recording the target network page to a preset storage location, when the preset conditions are met, the target recorded data stored in the preset storage location is stored in the client cache space of the client embedded with the target network page, and then the cached data in the client cache space is uploaded to the video storage end for storage. On the one hand, since the client cache space has the characteristics of large space and long storage time, the problem of snapshot data loss caused by the limited storage space and storage time of the preset storage location can be avoided by using the client cache space. On the other hand, although the client cache space is used in the embodiment of the present disclosure, the system recording function of the client is not called to record the target network page, so the problem of a large amount of recorded data of the target network page can be avoided. In summary of the above two aspects, by recording the target network page through the video processing method provided by the embodiment of the present disclosure, a small amount of recorded data can be obtained, and the integrity of the recorded data can be guaranteed. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and the originals and elements are not necessarily drawn to scale.
[0038] Figure 1 A schematic diagram of a flow chart of a video processing method applied to a client provided by an embodiment of the present disclosure;
[0039] Figure 2 A schematic diagram of storing snapshot data provided by an embodiment of the present disclosure;
[0040] Figure 3 A schematic diagram of a flow chart of a video processing method applied to a video storage end provided by an embodiment of the present disclosure;
[0041] Figure 4 A schematic diagram of a flow chart of a video processing method applied to a video player provided by an embodiment of the present disclosure;
[0042] Figure 5 A schematic diagram of the structure of a video processing device provided by an embodiment of the present disclosure;
[0043] Figure 6 A schematic diagram of the structure of another video processing device provided by an embodiment of the present disclosure;
[0044] Figure 7 A schematic diagram of the structure of another video processing device provided by an embodiment of the present disclosure;
[0045] Figure 8 A schematic diagram of the structure of an electronic device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0046] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0047] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.
[0048] The term "including" and its variations used herein are open inclusions, i.e., "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description.
[0049] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0050] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".
[0051] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.
[0052] Web page recording is an intuitive and convenient recording method that can be applied to many scenarios. For example, in the process of testing a web page, the execution process of the relevant functions in the web page can be recorded by web page recording, so that relevant personnel can check whether the above functions are running normally by replaying the recorded video, and quickly reproduce the problem when the function is abnormal. For another example, if a user encounters a functional problem in the process of using a web page, then after the user's authorization and operation, the use process of the web page where the above problem occurs can be recorded, and the abnormal situation of the web page can be fed back in the form of video. For another example, for the process of users obtaining relevant resources online (such as purchasing items, purchasing insurance services, etc.), in order to protect the rights and interests of users, after the user's authorization and operation, the browsing process of the relevant web pages for obtaining resources can be recorded, and various information in the resource acquisition process can be recorded in the form of video for evidence retention.
[0053] There are two main ways to record web pages in the related art. One way is to use the browser's own function to monitor the DOM (Document Object Model) structure of the web page, obtain snapshot data of the changes in the DOM structure of the web page, and realize web page recording. The other way is to call the client system function to perform video recording. For the scenario where the web page is embedded in an application (Application, APP) installed in an electronic device, if the web page is recorded by calling the system recording function of the electronic device, a large amount of recorded data will be obtained, thereby occupying a large storage space of the electronic device; if the web page is recorded by obtaining the snapshot data of the web page, the related art will store the obtained recorded data in the page cache space corresponding to the web page, but the limited storage space and storage time of the page cache space can easily cause the loss of recorded data.
[0054] Based on the above situation, the embodiment of the present disclosure provides a video processing method. In order to prevent the loss of recorded data when recording the network page embedded in the electronic device APP, and to avoid the large amount of recorded data, the embodiment of the present disclosure does not record by calling the system recording function of the client, but triggers the recording of the network page inside the network page, generates snapshot data by monitoring the DOM structure changes of the network page, and first stores the generated snapshot data in a preset storage location to prevent the large amount of recorded data. Then use the client cache space of the client to provide a cache mechanism for the snapshot data, store the snapshot data of the preset storage location in the client cache space, and upload it to the video storage end for storage. In this way, even if the embedded network page exits, the corresponding recorded data has been stored in the client cache space, avoiding the loss of recorded data. In order to further prevent the loss of recorded data, the recorded data stored in the client cache space can be uploaded to the video storage end for storage. In this way, not only multiple guarantees for the integrity of the recorded data are achieved, but also the data chain of the recorded data is avoided to be too large.
[0055] The video processing method provided by the embodiment of the present disclosure can be applied to the scenario where the relevant functions of the web page are embedded in the client, and the browsing process of the web page is recorded after the user is fully authorized. For example, in the scenario where the user obtains resources through the web page embedded in the client, in order to protect the rights and interests of the user, after the user is fully authorized, the user can enable the recording function of the browsing process of the web page to retain video evidence. For another example, in the scenario where the user encounters some functional problems during the process of browsing the web page embedded in the client, after the user is fully authorized, the user can enable the recording function of the browsing process of the web page to submit the browsing screen recording video to the client or the provider of the web page to feedback the above functional problems. For another example, in the scenario where the developer or tester tests the relevant functions of the web page embedded in the client, after the developer or tester is fully authorized, the developer or tester can enable the recording function of the web page to fully record the test process and results of the web page.
[0056] The video processing method of the embodiment of the present disclosure can be executed by a video processing device, which can be implemented by software and / or hardware, and can be integrated in an electronic device installed with an application. The electronic device can include but is not limited to mobile terminals such as smart phones, laptops, tablet personal computers (Tablet Personal Computer, Tablet PC), etc., and desktop computers, servers, edge computing platforms or server clusters, etc., and the client can be any of the above electronic devices.
[0057] Figure 1FIG. 1 is a flow chart of a video processing method provided by an embodiment of the present disclosure. Figure 1 As shown, the video processing method is applied to the client and may include the following steps:
[0058] S110: If the client detects a recording operation on the target network page, a full snapshot of the target network page is generated, and the full snapshot is stored in a preset storage location.
[0059] Among them, the target network page is the network page to be recorded currently, for example, it can be a network page embedded in the video playback software XXX of the smart phone, a network page embedded in the instant messaging software YYY of the computer, etc. The recording operation is an operation triggered by the user based on the client to start recording the target network page, for example, it can be a selection or confirmation operation for the recording option on the target network page, and the operation of the relevant controls that trigger the recording function of the target network page, etc. A full snapshot is a data structure similar to a DOM (Document Object Model) tree generated by deeply traversing the entire document of the target network page. The DOM structure is composed of nodes, and the nodes include document nodes, attribute nodes, element nodes, comment nodes, etc. The preset storage location is a temporary storage location for storing data, which has a small storage space and limited storage time, such as a storage location in memory. Its data structure may not be limited, for example, it can be a list, queue, etc.
[0060] Specifically, during the operation of the client, when the target application (the target application is an application installed on the client and embedded with the target web page) is started, the client detects in real time whether the user's recording operation on the target web page is received. When the recording operation triggered by the user on the target web page is detected, the DOM structure of the first screen is obtained as a full snapshot of the target web page, and the full snapshot of the target web page is stored in a preset storage location in the form of a list or queue.
[0061] In some embodiments, when the target application is running on the client, when the user opens the target web page, the DOM structure of the first screen is automatically obtained as a full snapshot of the target web page, and the full snapshot of the target web page is stored in a preset storage location in the form of a list or queue, etc. That is, the user's opening operation on the target web page in this example can be regarded as a recording operation on the target web page.
[0062] S120: Monitor a first event in a target network page, generate an incremental snapshot of the target network page based on a monitoring result of the first event, and store the incremental snapshot in a preset storage location.
[0063] Among them, the first event is an event that changes in the target network page, which can be pre-set, such as pre-set mouse movement, mouse interaction, page scrolling, element scrolling, window size change, input, etc. can all be used as the first event. In this way, when the client detects a mouse movement event in the target network page, it is determined that the first event has occurred. When an input event is detected in the target network page, it is determined that the first event has occurred, and so on. Examples are not given one by one here. The incremental snapshot is a snapshot generated by the data generated when the first event occurs in the target network page. When the first event occurs, the first screen view state of the target network page is changed, and the data generated at this time generates an incremental snapshot of the target network page.
[0064] Specifically, with full authorization from the user, in order to record the user's operations on the target web page and changes in the content of the target web page, the client starts a corresponding listener for each first event to monitor whether the first event occurs in the target web page. For example, when a recording operation on the target web page is detected, the client starts a listener for each first event to monitor. When the occurrence of the first event is monitored, an incremental snapshot of the target web page is generated. For each first event that occurs, a corresponding incremental snapshot is generated, and all the generated incremental snapshots of the target web page are stored in a preset storage location. The event type of the first event corresponding to the incremental snapshot can also be stored.
[0065] For example, when the client monitors events such as mouse movement and dragging in the target web page, the mouse position is obtained in the event handler to generate an incremental snapshot of the target web page; for another example, when the client monitors events such as window size change in the target web page, the width and height of the window are obtained in the event handler to generate an incremental snapshot of the target web page.
[0066] In some embodiments, after the incremental snapshot is stored in a preset storage location, it may also include a process of uploading the target recorded data in the preset storage location to the video storage end: if the video upload conditions are met, the target recorded data stored in the preset storage location is uploaded to the video storage end for storage; if the upload is successful, the successfully uploaded target recorded data is deleted from the preset storage location.
[0067] The video upload condition is a trigger condition for uploading the target recording data in the preset storage location to the video storage end. For example, the video upload condition may be that the preset storage location does not receive a new incremental snapshot within a preset time, or that the amount of snapshot data stored in the preset storage location exceeds the preset data amount, or that the remaining storage in the preset storage location is less than a storage threshold, etc. The target recording data includes the full snapshot and incremental snapshot stored in the preset storage location, and may also include other data, such as a user identifier.
[0068] Specifically, in order to ensure that there is enough space in the preset storage location to store the newly generated snapshot data in time, the target recording data in the preset storage location can be directly uploaded to the video storage end, and the target recording data that has been successfully uploaded can be deleted from the preset storage location, so that a location for storing the newly generated snapshot data is reserved in the preset storage location. In some embodiments, a video upload condition can be set. During the process of recording the target network page, the client determines in real time whether the video upload condition is met. When the video upload condition is met, a video storage request is sent to the video storage end, and the target recording data is sent to the video storage end. If the target recording data is successfully sent to the video storage end, the corresponding target recording data in the preset storage location is deleted; if the target recording data is not successfully sent to the video storage end, it can be uploaded multiple times until the preset number is exceeded.
[0069] Exemplarily, a method for a client to determine in real time whether a video upload condition is met may include: determining whether a preset storage location receives a new incremental snapshot within a preset time length; if no new incremental snapshot is received within the preset time length, determining that the video upload condition is met; otherwise, the video upload condition is not met; or, determining whether the amount of snapshot data stored in the preset storage location exceeds a preset data amount; if it exceeds the preset data amount, determining that the video upload condition is met; otherwise, the video upload condition is not met.
[0070] In this way, a preset storage location can be reserved for storing newly generated snapshot data, avoiding the loss of newly produced incremental snapshots during the target web page recording process. By uploading the target recording data in the preset storage location to the video storage end, data loss caused by temporary storage in the preset storage location is avoided. Compared with the recording data obtained by recording using the client system recording function, the snapshot data has a smaller data volume, which is conducive to saving storage space.
[0071] In some embodiments, the target recorded data that is not uploaded to the video storage end in time or is not successfully uploaded to the video storage end can be first cached in the client cache space of the client according to the process shown in the following steps S130 to S140, and then uploaded to the video storage end. Alternatively, in some embodiments, after the full snapshot and incremental snapshot of the target web page are stored in the preset storage location, the process of uploading data from the preset storage location to the video storage end is not performed, and the target recorded data stored in the preset storage location is directly stored in the client cache space according to the process of the following step S130, and then the recorded data is uploaded from the client cache space to the video storage end.
[0072] S130: If the preset cache condition is met and it is determined that the target recorded data is still stored in the preset storage location, the target recorded data is stored in the client cache space corresponding to the target network page.
[0073] Among them, the target recording data is the data stored in the preset storage location, and the target recording data includes full snapshots and / or incremental snapshots, and may also include historical recording data of the target network page, recording data of other network pages, etc., and may also include other data, such as user identification, event stamps, etc. The preset cache condition is a trigger condition for storing the target recording data stored in the preset storage location into the client cache space. For example, it can be an exit or close operation of the target network page, or it can be that the number of transmissions of the target recording data in the preset storage location exceeds a preset number, or it can be other trigger conditions, which are not specifically limited in this embodiment. The client cache space is a storage space on the client device for data storage, such as a read-only memory on the client device, which has the characteristics of large storage space and long storage time.
[0074] Specifically, combined Figure 2 As shown, in order to avoid the loss of snapshot data of the target network page, the snapshot data stored in the preset storage location can be directly uploaded to the video storage end for storage. However, when the target network page is exited or closed, the upload of the snapshot data stored in the preset storage location will stop, which may cause some or all incremental snapshots, or both incremental snapshots and full snapshots to not be uploaded to the video storage end. In order to avoid the loss of the target recorded data stored in the preset storage location, after detecting the recording operation on the target network page, the client can determine whether the preset cache condition is met in real time or at intervals of a preset time. When it is determined that the preset cache condition is met, the target recorded data is cached to the cache space of the client device where the target application is installed.
[0075] In some embodiments, satisfying the preset cache condition includes: detecting an exit operation on the target web page; or, the number of uploads of the target recorded data stored in the preset storage location to the video storage end exceeds a preset number of times.
[0076] Exemplarily, the client monitors in real time whether an exit operation of the target network page occurs, and when an exit operation of the target network page is detected, determines that a preset cache condition is met, and stores the target recorded data in the preset storage location into the client cache space.
[0077] Exemplarily, the client counts the number of uploads of the target recorded data stored in the preset storage location to the video storage end. If it is determined that the number of uploads exceeds the preset number of times N, it is determined that the preset cache condition is met, and the target recorded data in the preset storage location that has not been uploaded in time and / or has not been successfully uploaded is stored in the client cache space.
[0078] To prevent the loss of recorded data, as described in the above embodiment, the client cache space can be used as the cache space of the target recorded data. In some cases, the page cache space corresponding to the target network page can also be used as the cache space of the target recorded data.
[0079] In some embodiments, after the preset cache condition is met and it is determined that the target recorded data is still stored in the preset storage location, the method further includes: storing the target recorded data in a page cache space corresponding to the target network page.
[0080] The page cache space is the cache space corresponding to the web page, which is used to temporarily store the snapshot data recorded by the target network page, and its storage space and storage time are limited.
[0081] Specifically, when an exit operation of the target network page is detected, or the number of uploads of the incremental snapshot stored in the preset storage location to the video storage end exceeds the preset number of times, it is determined that the preset cache condition is met, and the target recorded data stored in the preset storage location is stored in the page cache space corresponding to the target network page. The target recorded data includes recorded data that has not been uploaded in time and / or has not been successfully uploaded.
[0082] In this way, a cache mechanism is provided for the target recording data in the preset storage location from both the client cache space and the page cache space to avoid data loss.
[0083] S140: If a startup operation of the client corresponding to the target network page is detected, the first cache data in the client cache space is uploaded to the video storage end for storage.
[0084] Among them, the first cache data is the data stored in the client cache space, and the first cache data includes the target recording data, that is, the first cache data includes the full snapshot and / or incremental snapshot of the target network page that has not been successfully uploaded to the video storage end during the current recording; the first cache data may also include recording data corresponding to other network pages; it may also include historical recording data corresponding to the target network page, such as the target recording data corresponding to the last recording of the target network page. The startup operation may be an operation of starting the client device corresponding to the target network page, such as the operation of turning on the computer; the startup operation may also be an operation of starting the target application embedded with the target network page on the client device, for example, the operation of starting the video playback software XXX on the client device.
[0085] Specifically, in order to release the client cache space, when the data upload condition is met, the cache data in the client cache space is uploaded to the video storage end for storage, and the data upload condition can be set to the target application or the startup operation of the client corresponding to the target network page. It can ensure that the client cache space has enough unoccupied space to cache the newly generated data, and it can also ensure that the complete recorded video of the target network page is formed at the video storage end. For example, in response to the operation of the user starting the client device, the upload mechanism is triggered, the client sends a video data storage request to the video storage end, and the first cache data in the client cache space is sent to the video storage end for storage. For another example, when the client device is running, when the user starts the video playback software XXX, the data upload mechanism is triggered, the client sends a video data storage request to the video storage end, and the first cache data in the client cache space is sent to the video storage end for storage. It should be noted that, when the data upload condition is set to the startup operation of the target application corresponding to the target network page, the first cache data uploaded from the client cache space to the video storage end may only include the recorded data of the network page embedded in the target application; it may also include all cache data in the client cache space.
[0086] The video processing method provided by the embodiment of the present disclosure stores the full snapshot and incremental snapshot obtained by recording the target network page to a preset storage location, and when the preset conditions are met, stores the target recorded data stored in the preset storage location to the client cache space of the client embedded with the target network page, and then uploads the cached data in the client cache space to the video storage end for storage. On the one hand, since the client cache space has the characteristics of large space and long storage time, the problem of snapshot data loss caused by the limited storage space and storage time of the preset storage location can be avoided by using the client cache space to provide a cache mechanism. On the other hand, the client cache space of the client is used in the embodiment of the present disclosure, but the system recording function of the client is not called to record the target network page, so the problem of a large amount of recorded data of the target network page can be avoided. In summary of the above two aspects, by recording the target network page through the video processing method provided by the disclosed embodiment, a smaller amount of recorded data can be obtained, and the integrity of the recorded data can be guaranteed.
[0087] In some embodiments, the target recorded data in the preset storage location is stored in the page cache space corresponding to the target network page. In this case, after detecting the recording operation on the target network page, it also includes: if it is determined that the page cache space stores second cache data, the second cache data is uploaded to the video storage end for storage.
[0088] The second cache data includes historical recording data, that is, the second cache data may include historical recording data of other network pages and / or the target network page.
[0089] Specifically, before storing the target recorded data obtained from the current recording of the target network page into the page cache space corresponding to the target network page, first determine whether the page cache space of the target network page stores historical recorded data. When it is determined that the page cache space stores historical recorded data, upload the historical recorded data to the video storage end for storage. In some embodiments, if the upload is successful, the historical recorded data is deleted, and the target recorded data can be stored in the page cache space corresponding to the target network page. Thus, the client cache space can be used as the first cache space, and the page cache space can be used as the second cache space, so as to ensure that data loss is not caused by insufficient client cache space.
[0090] In some embodiments, in the step shown in S110 above, the target recording data also includes a custom snapshot; after detecting the recording operation on the target web page, it also includes: monitoring a second event in the target web page, and generating a custom snapshot based on the monitoring result of the second event, and storing the custom snapshot as an incremental snapshot to a preset storage location.
[0091] The second event is a custom event for executing a key action, which is different from the predefined first event. The second event can be a custom event that you want to focus on before or during the recording of the target web page. When the second event occurs, the content of the target web page will change.
[0092] Specifically, continue to combine Figure 2 As shown, after the target network page starts recording, the client starts the corresponding listener for each second event to monitor whether the second event occurs in the target network page. When the second event is detected, a custom snapshot of the target network page is generated, and the generated custom snapshot of the target network page is stored in a preset storage location. The event type of the second event corresponding to the custom snapshot can also be stored in the preset storage location.
[0093] In this way, the custom snapshot and the incremental snapshot, as well as the full snapshot of the target network page in the preset storage location can be uploaded to the video storage end. Further, when the client detects an exit operation on the target network page, or the number of uploads of the custom snapshot stored in the preset storage location to the video storage end exceeds the preset number, the custom snapshot is stored as part of the target recording data in the client cache space, so that the first cache data in the client cache space includes the custom snapshot.
[0094] In some embodiments, in the step shown in S110 above, the target recording data also includes video description information and a recording identifier of the target web page. After detecting a recording operation on the target web page, it also includes: if a preset tag is detected, the video description information is determined, and the video description information is associated with the recording identifier of the target web page and added to the target recording data to be stored in a preset storage location.
[0095] Among them, the preset tag can be understood as a program embedding point, that is, the preset tag is a mark added at a certain position in the program to collect video description information when the user triggers a certain behavior, such as collecting video description information when the user completes the form filling. Video description information is information actively added by the recording software development toolkit for subsequent classification and query of videos. For example, it may include system version, web page uniform resource locator, data information in the web page, etc. The recording identifier is a globally unique identifier that only identifies the current recording of the current web page. For example, the recording identifiers corresponding to the first recording and the nth recording of the target web page are different, and the recording identifiers corresponding to the target web page and other web pages are also different.
[0096] Specifically, in order to mark the key actions of the user, during the recording process, if the client detects a preset tag, it can obtain the system version, network page uniform resource locator, data information in the network page, etc. from the context information of the software development kit as video description information, or obtain the system version, network page uniform resource locator, data information in the network page, etc. as video description information by executing corresponding logic. Figure 2 By storing the video description information and the recording mark of the target network page in a preset storage location, when the data structure in the preset storage location is a list, the description information, recording mark, and snapshot data of the target network page can be stored in the same row of the data list, thereby realizing the associated storage of the description information and recording mark of the target network page. Therefore, the video description information, recording mark, and snapshot data can be uploaded to the video storage end together, which is convenient for identifying and distinguishing the snapshot data.
[0097] Based on any of the above embodiments, after uploading the data to the video storage end for storage, it also includes: if the upload fails, identifying whether the uploaded data is cache data or second cache data in the client cache space; if so, stopping the data upload process; if not, retrying the data upload process until the number of uploads reaches a preset number of times.
[0098] The cache data in the client cache space here include historical recording data in the client cache space, that is, data that has been stored in the client cache space before the target network page is recorded this time.
[0099] Specifically, in order to ensure the upload success rate of the target network page's recorded data, the cached data cached in the client cache space or the page cache space is uploaded, and the recorded data of the target network page is uploaded multiple times. Exemplarily, the first cached data in the client cache space is uploaded to the video storage end, and it is determined whether the upload fails. If the upload fails, it is determined whether the first cached data that failed to be uploaded is the cached data in the client cache space before the target network page was recorded this time. If so, no repeated upload is performed, and the remaining first cached data is continued to be uploaded; if it is determined that the first cached data that failed to be uploaded is the recorded data stored in the client cache space for the target network page's current recording, the upload process is performed again until the upload is successful or the number of uploads reaches a preset number. Exemplarily, the second cache data stored in the page cache space of the target network page is uploaded to the video storage end, and it is determined whether the upload fails. If the upload fails, it is determined whether the second cache data that failed to be uploaded is historical recording data. If it is historical recording data, it is not repeatedly uploaded, and the remaining second cache data is continuously uploaded; if the second cache data that failed to be uploaded is the data stored in the page cache space for the current recording of the target network page, the upload process is performed again until the upload is successful or the number of uploads reaches a preset number. In this way, the target recording data generated by the current recording of the target network page is preferentially uploaded.
[0100] When the client uploads the recorded data to the video storage end, it can upload it by sending a video storage request to the video storage end. Figure 3 The method shown receives and stores recorded data.
[0101] Figure 3 The flowchart of a video processing method provided by an embodiment of the present disclosure is shown. The video processing method is applied to a video storage end, which may be a cloud storage server. Explanations of terms that are the same or corresponding to the above embodiments are not repeated here. Figure 3 As shown, the following steps may be included:
[0102] S310: The video storage terminal receives a video storage request sent by a client.
[0103] The video storage request includes target recording data; the target recording data includes a full snapshot and / or incremental snapshot generated by the client in response to a recording operation on a target network page, and a recording identifier corresponding to the target network page, wherein the incremental snapshot is generated by the client monitoring a first event in the target network page; the target recording data belongs to the first cache data stored in the client cache space, and the target recording data is stored in the client cache space when the client meets a preset cache condition. Alternatively, the target recording data belongs to the first cache data stored in the client cache space, and the target recording data stores the target recording data still stored in the preset storage location corresponding to the target network page to the client cache space when the client meets the preset cache condition.
[0104] Specifically, the video storage end receives the full snapshot of the target network page, the recording identification corresponding to the target network page and other information sent by the client through the data receiving port; or, the video storage end receives the incremental snapshot of the target network page, the recording identification corresponding to the target network page and other information sent by the client through the data receiving port; or, the video storage end receives the full snapshot and incremental snapshot of the target network page, the recording identification corresponding to the target network page and other information sent by the client through the data receiving port. The video storage end stores the received full snapshot, incremental snapshot, recording identification corresponding to the target network page and other information. In order to facilitate the query of the snapshot data required by the user, the recording identification can be used as an index of the snapshot data and stored in association with the snapshot data.
[0105] In some embodiments, the incremental snapshot also includes a custom snapshot, which is generated by the client monitoring the second event in the target network page. That is, the data received by the video storage end may include: the incremental snapshot generated by the first event in the target network page, the custom snapshot generated by the second event, the full snapshot of the target network page, the recording mark corresponding to the target network page, and other information. Of course, other information may also be included, such as timestamp, user identifier, event type, etc.
[0106] After receiving the video storage request sent by the client, the video storage end stores the information requested by the client. The storage format can be a list or other format that is easy to search, and there is no limitation.
[0107] S320: Store the full snapshot and the incremental snapshot in a data storage unit using the recording identifier as the file name.
[0108] The data storage unit is a storage location used by the video storage end to store recorded data, and may be a storage location divided out in the memory of the video storage end.
[0109] Specifically, since the recording identifier can globally and uniquely identify the recorded data of a web page, the video storage end can use the recording identifier as the index of the recorded data to store the full snapshot and the incremental snapshot. For example, the recording identifier is used as the file name of the recorded data, and the full snapshot and the incremental snapshot are stored in the form of a queue or list. Information such as event type, user identifier, and timestamp can also be stored in the data storage unit.
[0110] In this way, when the user searches for the target recorded data, he can search through the recording identifier to obtain the target recorded data.
[0111] S330: Using the recording identifier as a key field, the recording identifier is stored in the full-text search unit.
[0112] The full-text retrieval unit is a storage location of the video storage end for storing the recording identifier, and may be a storage location divided out of the memory of the video storage end.
[0113] Specifically, in order to facilitate user queries, the video storage end may store the recording identifier in a storage location different from the full snapshot and the incremental snapshot. Alternatively, the recording identifier may be stored in a data storage unit. When the recording identifier and the snapshot data are stored in the same storage unit, the video storage end performs word segmentation processing on the received target recording data, identifies key fields and stores them as query conditions. The key fields can be used as indexes and stored in the form of a key field list.
[0114] In this way, users can quickly find the recording identifier by querying the key field. Since the recording identifier and the corresponding snapshot data are stored in association, the full snapshot and incremental snapshot can be queried in the data storage unit according to the recording identifier.
[0115] When the video processing method provided by the embodiment of the present disclosure is applied to the video playback end, by storing the recording identifier as the file name and the key field respectively, the user can quickly query the corresponding recording identifier through the key field, and then query with the recording identifier to quickly find the file with the corresponding file name, thereby finding the required full snapshot and incremental snapshot, thereby improving query efficiency.
[0116] In some embodiments, the target recording data sent by the client also includes video description information and recording start and end time. The above step S330 can be specifically implemented as follows: using the recording identifier, key information in the video description information and recording start and end time as the key fields, respectively, the recording identifier, the video description information and the recording start and end time are stored in the full-text retrieval unit.
[0117] Specifically, the video description information can be stored in the form of a key-value pair: "key-value". The video storage end extracts the key information "key" in the key-value pair as the key field, and also uses the recording identifier and the recording start and end time as key fields, and stores the determined multiple key fields in the full-text retrieval unit. In this way, when the user performs a data query, he can quickly and accurately locate the full snapshot and incremental snapshot of the specified video content through multiple indexes such as the recording identifier, the key information in the video description information, and the recording start and end time, thereby improving the query efficiency.
[0118] In some embodiments, after storing the received full snapshot, incremental snapshot, and recording identifier, the video storage end can respond to the user's video query request and provide the user with feedback on the full snapshot and incremental snapshot of the query: in response to the video query request, based on the query keywords in the video query request, query the key field list generated by the full-text retrieval unit to determine the queried recording identifier; based on the queried recording identifier, query the data storage unit to determine the full snapshot and incremental snapshot of the query.
[0119] Specifically, the key field can be used as an index. When the video query request is received at the video storage end, the video query request is parsed to identify the key field, and based on the identified key field, the key field list is queried in the retrieval unit to determine the recording identifier corresponding to the identified key field, and then the data storage unit is queried according to the recording identifier to determine the full snapshot of the query and the incremental snapshot of the query. Alternatively, the key field is identified, and based on the identified key field, the key field list is queried in the retrieval unit to determine the key information and / or the recording start and end time in the identified video description information, and then the corresponding recording identifier is determined according to the key information and / or the recording start and end time, and the data storage unit is queried to determine the full snapshot of the query and the incremental snapshot of the query. In this embodiment, by combining the key field and the recording identifier for querying, the required data can be found quickly and accurately in a large amount of stored data, thereby improving the query efficiency.
[0120] In order to reproduce the functional testing process of the web page, or the problems encountered by users in using the web page, or the process of users obtaining resources online, the stored snapshot data can be replayed with full authorization from the user. Figure 4 The video processing method shown is used for processing. Figure 4 The flowchart of a video processing method provided by an embodiment of the present disclosure is shown. The video processing method is applied to a video playback end. The video playback end and the client can be the same device or two devices. The explanations of the terms that are the same or corresponding to the above embodiments are not repeated here. Figure 4 As shown, the following steps may be included:
[0121] S410: In response to a video playback operation, determine a full snapshot and an incremental snapshot corresponding to a target web page, and determine a custom snapshot from the incremental snapshot based on a custom event type.
[0122] Among them, the full snapshot is generated by the client recording the video in response to the recording operation of the target network page, the incremental snapshot is generated by the client monitoring the first event in the target network page, and the custom snapshot is generated by the client monitoring the second event in the target network page; the full snapshot and / or the incremental snapshot belong to the first cache data stored in the client cache space, and are stored in the client cache space when the client meets the preset cache conditions.
[0123] Specifically, for an event that a user wants to locate when playing back a video, the event can be located by using a custom event type. The video player receives the video playback operation and selects a corresponding custom snapshot from the incremental snapshots by using the custom event type.
[0124] S420: reconstruct the target web page based on the full snapshot and the incremental snapshot, generate the target video, and generate video anchor information based on the customized snapshot.
[0125] The video anchor information is a link used to jump to a specified video position. Each custom snapshot of the second event may correspond to a video anchor. When the user clicks on the video anchor information, the progress bar of the video will fast forward or rewind to the playback position corresponding to the clicked video anchor.
[0126] Specifically, a video tag is set according to the event name or event type of the second event, a link is created for the set video tag, and a video anchor is obtained. The video player re-renders the received full snapshot and incremental snapshot to obtain a recorded video (target video) corresponding to the target web page.
[0127] S430: Play the target video and display the video anchor information in the target video.
[0128] Specifically, after the video anchor point information is generated, the rendered target video starts to be played. The video anchor point information can be displayed in the playback progress bar of the target video. The video player clicks on the displayed video anchor point information, and the video playback progress bar will be pulled to the corresponding video position to play the video at the specified position.
[0129] The video processing method provided by the embodiment of the present disclosure, when applied to the video playback end, generates video anchor point information based on a custom snapshot, marks the events that the user is concerned about, and displays them on the progress bar when reconstructing the video playback, so that the user can filter according to the video anchor point information during playback and quickly locate the time point when the key event occurs.
[0130] The following is an embodiment of a video processing device provided by an embodiment of the present invention. The device and the video processing methods of the above embodiments belong to the same inventive concept. For details not described in detail in the embodiment of the video processing device, reference can be made to the embodiment of the above video processing method.
[0131] Figure 5 FIG. 2 shows a schematic diagram of the structure of a video processing device provided by an embodiment of the present disclosure. Figure 5 As shown, the video processing device 500 can be configured on a client and may include:
[0132] The snapshot data generating module 510 is used to generate a full snapshot of the target network page if a recording operation on the target network page is detected, and store the full snapshot to a preset storage location;
[0133] The snapshot data generation module 510 is further used to monitor the first event in the target network page, and generate an incremental snapshot of the target network page based on the monitoring result of the first event, and store the incremental snapshot to a preset storage location;
[0134] The data storage module 520 is used to store the target recorded data in the client cache space corresponding to the target network page if the preset cache condition is met and it is determined that the target recorded data is still stored in the preset storage location; wherein the target recorded data includes a full snapshot and / or an incremental snapshot;
[0135] The data uploading module 530 is used to upload the first cache data in the client cache space to the video storage end for storage if a startup operation of the client corresponding to the target network page is detected; wherein the first cache data includes the target recording data.
[0136] When the video processing device provided by the embodiment of the present disclosure executes the video processing method, the full snapshot and incremental snapshot obtained by recording the target network page are stored in a preset storage location. When the preset conditions are met, the target recorded data stored in the preset storage location is stored in the client cache space of the client in which the target network page is embedded, and then the cached data in the client cache space is uploaded to the video storage end for storage. On the one hand, since the client cache space has the characteristics of large space and long storage time, the use of the client cache space to provide a cache mechanism can avoid the problem of snapshot data loss caused by the limited storage space and storage time of the preset storage location. On the other hand, the client cache space of the client is used in the embodiment of the present disclosure, but the system recording function of the client is not called to record the target network page, so the problem of a large amount of recorded data for the target network page can be avoided. In summary of the above two aspects, by recording the target network page through the video processing method provided by the disclosed embodiment, a smaller amount of recorded data can be obtained, and the integrity of the recorded data can be guaranteed.
[0137] In some embodiments, satisfying the preset cache condition includes: detecting an exit operation on the target web page;
[0138] Alternatively, the target recorded data stored in the preset storage location is uploaded to the video storage end for a number of times exceeding a preset number of times.
[0139] In some embodiments, the apparatus further comprises a monitoring module, configured to:
[0140] A second event in the target network page is monitored, and a custom snapshot is generated based on the monitoring result of the second event, and the custom snapshot is stored as an incremental snapshot in a preset storage location.
[0141] In some embodiments, the apparatus further comprises an information determination module configured to:
[0142] If a preset tag is detected, the video description information is determined, and the video description information is associated with the recording identifier of the target network page and added to the target recording data to be stored in a preset storage location.
[0143] In some embodiments, the data upload module 530 is further used to:
[0144] If the video upload conditions are met, the target recorded data stored in the preset storage location is uploaded to the video storage end for storage;
[0145] Data deletion module, used to:
[0146] If the upload is successful, the successfully uploaded target recording data will be deleted from the preset storage location.
[0147] In some embodiments, the data storage module 520 is further configured to:
[0148] Store the target recorded data into the page cache space corresponding to the target network page;
[0149] The data upload module 530 is also used for:
[0150] If it is determined that the second cache data is stored in the page cache space, the second cache data is uploaded to the video storage end for storage; wherein the second cache data includes historical recording data.
[0151] In some embodiments, the data upload module 530 is further used to:
[0152] If the upload fails, identifying whether the uploaded data is the first cache data or the second cache data;
[0153] If yes, stop the data upload process;
[0154] If not, retry the data upload process until the number of uploads reaches the preset number.
[0155] The embodiment of the present disclosure also provides a video processing device 600, which is configured at a video storage end, and includes:
[0156] The data receiving module 610 is used to receive a video storage request sent by a client; wherein the video storage request includes target recording data; the target recording data includes a full snapshot and / or an incremental snapshot generated by the client in response to a recording operation on a target network page, and a recording identifier corresponding to the target network page, wherein the incremental snapshot is generated by the client monitoring a first event in the target network page; the target recording data belongs to the first cache data stored in the client cache space, and the target recording data is stored in the client cache space when the client meets a preset cache condition;
[0157] The data storage module 620 is used to store the full snapshot and the incremental snapshot in the data storage unit with the recording identifier as the file name;
[0158] The data storage module 620 is further configured to store the recording identifier in the full-text search unit using the recording identifier as a key field.
[0159] When the video processing device provided by the embodiment of the present disclosure executes the video processing method, by storing the recording identifier as the file name and the key field respectively, the user can quickly query the corresponding recording identifier through the key field, and then query with the recording identifier to quickly find the file with the corresponding file name, thereby finding the required full snapshot and incremental snapshot, thereby improving the query efficiency.
[0160] In some embodiments, the target recording data also includes video description information and recording start and end time; the data storage module is specifically used to:
[0161] The recording identifier, the key information in the video description information and the recording start and end time are respectively used as key fields, and the recording identifier, the video description information and the recording start and end time are stored in the full-text retrieval unit.
[0162] In some embodiments, the apparatus further comprises a video query module for:
[0163] In response to the video query request, based on the query keywords in the video query request, the key field list generated by the full-text search unit is searched to determine the searched recording identifier;
[0164] The data storage unit is queried based on the queried recording identifier to determine the queried full snapshot and the queried incremental snapshot.
[0165] The embodiment of the present disclosure also provides a video processing device 700, which is configured at a video playback end, and includes:
[0166] The snapshot determination module 710 is used to determine the full snapshot and incremental snapshot corresponding to the target network page in response to the video playback operation, and determine the custom snapshot from the incremental snapshot based on the custom event type; wherein the full snapshot is generated by the client recording the video in response to the recording operation on the target network page, the incremental snapshot is generated by the client monitoring the first event in the target network page, and the custom snapshot is generated by the client monitoring the second event in the target network page; the full snapshot and / or the incremental snapshot belong to the first cache data stored in the client cache space, and are stored in the client cache space when the client meets the preset cache condition;
[0167] The video generation module 720 is used to reconstruct the target web page based on the full snapshot and the incremental snapshot, generate the target video, and generate video anchor information based on the custom snapshot;
[0168] The video playing module 730 is used to play the target video and display the video anchor point information in the target video.
[0169] When the video processing device provided by the embodiment of the present disclosure executes the video processing method, it generates video anchor point information based on the custom snapshot, marks the events that the user is concerned about, and displays them on the progress bar when reconstructing the video for playback, so that the user can filter according to the video anchor point information during playback and quickly locate the time point when the key event occurs.
[0170] The video processing device provided in the embodiment of the present invention can execute the video processing method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0171] It is worth noting that in the embodiment of the above-mentioned video processing device, the various modules included are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be realized; in addition, the specific names of the various functional modules are only for the convenience of distinguishing each other, and are not used to limit the protection scope of the present disclosure.
[0172] The present disclosure also provides an electronic device, which may include a processor and a memory, wherein the memory may be used to store executable instructions, wherein the processor may be used to read the executable instructions from the memory and execute the executable instructions to implement the video processing method in the above embodiment.
[0173] Figure 8 A schematic structural diagram of an electronic device provided by an embodiment of the present disclosure is shown.
[0174] like Figure 8As shown, the electronic device 800 may include a processing device 801 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 802 or a program loaded from a storage device 808 into a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the electronic device 800 are also stored. The processing device 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output interface (I / O interface) 805 is also connected to the bus 804.
[0175] Typically, the following devices may be connected to the I / O interface 805: an input device 806 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 807 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 808 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 809. The communication device 809 may allow the electronic device 800 to communicate with other devices wirelessly or by wire to exchange data.
[0176] It should be noted that Figure 8 The electronic device 800 shown is only an example and should not limit the functions and scope of use of the embodiments of the present disclosure. Figure 8 The electronic device 800 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.
[0177] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device 809, or installed from a storage device 808, or installed from a ROM 802. When the computer program is executed by the processing device 801, the above-mentioned functions defined in the video processing method of any embodiment of the present disclosure are executed.
[0178] The embodiments of the present disclosure further provide a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the processor implements the video processing method in any embodiment of the present disclosure.
[0179] It should be noted that the computer-readable medium disclosed above may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, 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 disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0180] In some embodiments, the client and server may communicate using any currently known or future developed network protocol such as HTTP, and may be interconnected with 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"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.
[0181] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.
[0182] The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device executes the steps of the video processing method described in any embodiment of the present disclosure.
[0183] In embodiments of the present disclosure, computer program code for performing the operations of the present disclosure may be written in one or more programming languages or a combination thereof, including but not limited to object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on a user's computer, partially on a user's computer, as a separate software package, partially on a user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0184] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the equipment, method and computer program product according to various embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0185] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0186] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, 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 disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0187] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the above features are replaced with the technical features with similar functions disclosed in the present disclosure (but not limited to) by each other to form a technical solution.
[0188] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.
[0189] Although the subject matter has been described in language specific to structural features and / or methodological logical actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims.
Claims
1. A video processing method, characterized in that: Applied to the client, including: If a recording operation on the target web page is detected, a full snapshot of the target web page is generated, and the full snapshot is stored in a preset storage location; Monitoring a first event in the target network page, generating an incremental snapshot of the target network page based on the monitoring result of the first event, and storing the incremental snapshot in the preset storage location; If the preset cache condition is met and it is determined that the target recording data is still stored in the preset storage location, the target recording data is stored in the client cache space corresponding to the target network page; wherein the target recording data includes the full snapshot and / or the incremental snapshot; If a startup operation of the client corresponding to the target network page is detected, the first cache data in the client cache space is uploaded to the video storage end for storage; wherein the first cache data includes the target recording data.
2. The method according to claim 1, characterized in that Meeting the preset cache conditions includes: Detecting an exit operation on the target web page; Alternatively, the target recorded data stored in the preset storage location is uploaded to the video storage end for a number of times exceeding a preset number of times.
3. The method according to claim 1, characterized in that After detecting the recording operation on the target web page, the method further includes: A second event in the target network page is monitored, and a custom snapshot is generated based on the monitoring result of the second event, and the custom snapshot is stored as an incremental snapshot in the preset storage location.
4. The method according to claim 1, characterized in that: After detecting the recording operation on the target web page, the method further includes: If a preset tag is detected, the video description information is determined, and the video description information is added to the target recording data in association with the recording identifier of the target web page, so as to be stored in the preset storage location.
5. The method according to claim 1, characterized in that After generating the incremental snapshot of the target web page based on the monitoring result of the first event and storing the incremental snapshot in the preset storage location, the method further includes: If the video uploading condition is met, uploading the target recorded data stored in the preset storage location to the video storage end for storage; If the uploading is successful, the successfully uploaded target recorded data is deleted from the preset storage location.
6. The method according to claim 1, characterized in that After the preset cache condition is met and it is determined that the target recorded data is still stored in the preset storage location, the method further includes: storing the target recorded data in a page cache space corresponding to the target network page; Alternatively, after detecting the recording operation on the target web page, the method further includes: If it is determined that the page cache space stores second cache data, the second cache data is uploaded to the video storage end for storage; wherein the second cache data includes historical recording data.
7. The method according to any one of claims 1 to 6, characterized in that: After uploading the data to the video storage end for storage, the method further includes: If the upload fails, identifying whether the uploaded data is cache data or second cache data in the client cache space; If yes, stop the data upload process; If not, retry the data upload process until the number of uploads reaches the preset number.
8. A video processing method, characterized in that: Applied to video storage, including: Receive a video storage request sent by a client; wherein the video storage request includes target recording data; the target recording data includes a full snapshot and / or an incremental snapshot generated by the client in response to a recording operation on a target network page, and a recording identifier corresponding to the target network page, the incremental snapshot being generated by the client monitoring a first event in the target network page; the target recording data belongs to first cache data stored in a client cache space, and the target recording data is stored in the client cache space when the client meets a preset cache condition; Using the recording identifier as the file name, storing the full snapshot and the incremental snapshot in a data storage unit; The recording identifier is used as a key field and the recording identifier is stored in a full-text search unit.
9. The method according to claim 8, characterized in that The target recording data also includes video description information and recording start and end time; The recording identifier is used as a key field and the recording identifier is stored in a full-text search unit, including: The recording identifier, the key information in the video description information and the recording start and end time are respectively used as the key fields, and the recording identifier, the video description information and the recording start and end time are stored in the full-text retrieval unit.
10. The method according to claim 9, characterized in that The method further comprises: In response to a video query request, based on a query keyword in the video query request, query the key field list generated by the full-text search unit to determine the queried recording identifier; The data storage unit is queried based on the queried recording identifier to determine the queried full snapshot and the queried incremental snapshot.
11. The method according to claim 8, characterized in that The incremental snapshot also includes a custom snapshot, and the custom snapshot is generated by the client monitoring a second event in the target network page.
12. A video processing method, characterized in that: Applied to video playback, including: In response to a video playback operation, a full snapshot and an incremental snapshot corresponding to a target network page are determined, and a custom snapshot is determined from the incremental snapshots based on a custom event type; wherein the full snapshot is generated by a client recording a video in response to a recording operation on the target network page, the incremental snapshot is generated by the client monitoring a first event in the target network page, and the custom snapshot is generated by the client monitoring a second event in the target network page; the full snapshot and / or the incremental snapshot belong to first cache data stored in a client cache space, and are stored in the client cache space when the client meets a preset cache condition; Reconstructing the target web page based on the full snapshot and the incremental snapshot, generating a target video, and generating video anchor information based on the custom snapshot; The target video is played, and the video anchor information is displayed in the target video.
13. A video processing device, characterized in that: Configured on the client, including: A snapshot data generation module, configured to generate a full snapshot of the target network page if a recording operation on the target network page is detected, and store the full snapshot in a preset storage location; The snapshot data generation module is further used to monitor a first event in the target network page, and generate an incremental snapshot of the target network page based on the monitoring result of the first event, and store the incremental snapshot in the preset storage location; A data storage module, for storing the target recorded data in a client cache space corresponding to the target network page if a preset cache condition is met and it is determined that the target recorded data is still stored in the preset storage location; wherein the target recorded data includes the full snapshot and / or the incremental snapshot; The data uploading module is used to upload the first cache data in the client cache space to the video storage end for storage if a startup operation of the client corresponding to the target network page is detected; wherein the first cache data includes the target recording data.
14. A video processing device, characterized in that: Configured on the video storage end, including: A data receiving module, used for receiving a video storage request sent by a client; wherein the video storage request includes target recording data; the target recording data includes a full snapshot and / or an incremental snapshot generated by the client in response to a recording operation on a target network page, and a recording identifier corresponding to the target network page, wherein the incremental snapshot is generated by the client monitoring a first event in the target network page; the target recording data belongs to the first cache data stored in the client cache space, and the target recording data is stored in the client cache space when the client meets a preset cache condition; A data storage module, used to store the full snapshot and the incremental snapshot in a data storage unit using the recording identifier as the file name; The data storage module is further used to store the recording identifier in the full-text retrieval unit using the recording identifier as a key field.
15. A video processing device, characterized in that: Configured on the video player, including: A determination module, configured to determine, in response to a video playback operation, a full snapshot and an incremental snapshot corresponding to a target network page, and determine a custom snapshot from the incremental snapshots based on a custom event type; wherein the full snapshot is generated by a client recording a video in response to a recording operation on the target network page, the incremental snapshot is generated by the client monitoring a first event in the target network page, and the custom snapshot is generated by the client monitoring a second event in the target network page; the full snapshot and / or the incremental snapshot belong to first cache data stored in a client cache space, and are stored in the client cache space when the client meets a preset cache condition; A video generation module, used to reconstruct the target web page based on the full snapshot and the incremental snapshot, generate a target video, and generate video anchor information based on the custom snapshot; The video playback module is used to play the target video and display the video anchor point information in the target video.
16. An electronic device, characterized in that: include: processor; A memory for storing executable instructions; The processor is used to read the executable instructions from the memory and execute the executable instructions to implement the video processing method described in any one of claims 1 to 12.
17. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the processor implements the video processing method according to any one of claims 1 to 12.
Citation Information
Patent Citations
Page operation recording method and device, medium and equipment
CN113946256A
H5 page recording method, device and equipment and storage medium
CN115292636A
Self-service terminal equipment anomaly detection method and device, equipment and storage medium
CN117312060A
Recording system, method and equipment of browser and storage medium
CN117632652A
