Image processing method, cloud server, electronic device, and storage medium

By generating panoramic/wide-angle images with lower bandwidth on a cloud server and sending them to the client for playback, the problem of stuttering during panoramic image playback is solved, improving image playback quality and efficiency.

WO2026000369A1PCT designated stage Publication Date: 2026-01-02ARASHI VISION INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/102569
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-06-28
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

There is a stuttering issue when playing panoramic images stored on cloud servers, especially because the large size of panoramic images leads to high bandwidth requirements, and electronic devices with limited resources cannot process them effectively or produce poor processing results.

Method used

The received images are processed on a cloud server to generate panoramic/wide-angle images with lower bandwidth, which are then sent to the client for playback, reducing the network bandwidth required for image playback.

Benefits of technology

It reduces the likelihood of stuttering during video playback, improves the playback effect and image quality, and reduces the processing burden on electronic devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024102569_02012026_PF_FP_ABST
    Figure CN2024102569_02012026_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present disclosure are an image processing method, a cloud server, an electronic device, and a storage medium. The image processing method comprises: receiving a first image to be processed; and in response to a playing request sent by a client, sending to the client a second image generated on the basis of the first image, so that the client plays the second image, wherein a bandwidth required by the second image is less than a bandwidth required by the first image, and the second image is a panoramic image or a wide-angle image.
Need to check novelty before this filing date? Find Prior Art

Description

Image processing method, cloud server, electronic device and storage medium TECHNICAL FIELD

[0001] The present disclosure relates to, but is not limited to, an image processing method, a cloud server, an electronic device and a storage medium. BACKGROUND

[0002] With the development of image processing technology, images captured by a camera can be processed into panoramic images, bringing users an immersive visual experience. However, due to the large volume of panoramic images, there is a problem of stuttering in the process of playing panoramic images stored in a cloud server.

[0003] SUMMARY

[0004] The following is a summary of the subject matter of the detailed description of the present disclosure. This summary is not intended to limit the scope of protection of the claims.

[0005] The present disclosure provides an image processing method, a cloud server, an electronic device and a storage medium.

[0006] A first aspect of the present disclosure provides an image processing method applied to a cloud server, the image processing method comprising:

[0007] receiving a first image to be processed;

[0008] in response to a play request sent by a client, sending a second image generated based on the first image to the client, so that the client plays the second image, the bandwidth required by the second image being less than the bandwidth required by the first image.

[0009] A second aspect of the present disclosure provides an image processing method applied to a client, the image processing method comprising:

[0010] receiving a play instruction for a second image in a cloud server, and sending a play request to the cloud server based on the play instruction, the second image being a panoramic image or a wide-angle image, the second image being generated based on a first image;

[0011] receiving and playing the second image sent by the cloud server, the bandwidth required by the second image being less than the bandwidth required by the first image.

[0012] A third aspect of the present disclosure provides a cloud server comprising a memory and a processor, the memory storing a computer program, when the computer program instructions are executed by the processor, the processor is configured to:

[0013] receiving a first image to be processed;

[0014] In response to a play request sent by the client, a second image generated based on the first image is sent to the client to enable the client to play the second image, the second image requiring a bandwidth lower than the first image.

[0015] A fourth aspect of the present disclosure provides an electronic device, comprising a memory and a processor, the memory storing a computer program and installing a client, when the computer program instructions are executed by the processor, the processor is configured to:

[0016] receiving a play instruction of a second image in a cloud server, and sending a play request to the cloud server based on the play instruction, the second image being a panoramic image or a wide-angle image, the second image being generated based on a first image;

[0017] receiving the second image sent by the cloud server and playing the second image, the second image requiring a bandwidth lower than the first image.

[0018] A fifth aspect of the present disclosure provides a computer readable storage medium, storing a computer program, the computer program being executed by a processor to implement the steps of the method according to the first aspect or the second aspect.

[0019] In the image processing method, the cloud server, the electronic device and the storage medium provided by the embodiments of the present disclosure, a first image to be processed is received, and a second image is generated based on the first image. In response to a play request sent by the client, a panoramic / wide-angle second image is sent to the client to enable the client to play the second image at a lower bandwidth. By generating the second image based on the first image, the bandwidth required by the panoramic / wide-angle second image is lower than the bandwidth required by the first image, thereby reducing the possibility of image playback freezing. At the same time, since the first image is preprocessed in the cloud server, the quality of the second image is better than that of the first image, thereby improving the effect of image playback.

[0020] Other aspects can become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the disclosure. BRIEF DESCRIPTION OF DRAWINGS

[0021] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure. In the drawings, like reference numerals are used to represent similar elements throughout the several views. The drawings of the following description are some embodiments of the present disclosure, not all embodiments. For those skilled in the art, other drawings can be obtained from these drawings without creative labor.

[0022] FIG. 1-1 is a schematic diagram of an image processing scenario according to an exemplary embodiment;

[0023] FIG. 1-2 is a schematic diagram of an image processing scenario, according to another exemplary embodiment

[0024] FIG. 2 is a flowchart of a file uploading method, according to an exemplary embodiment;

[0025] FIG. 3 is a flowchart of a file uploading method, according to another exemplary embodiment;

[0026] FIG. 4 is a flowchart of a file uploading method, according to another exemplary embodiment;

[0027] FIG. 5 is a flowchart of a file uploading method, according to another exemplary embodiment;

[0028] FIG. 6 is a flowchart of a file uploading method, according to another exemplary embodiment;

[0029] FIG. 7 is a flowchart of a communication method, according to an exemplary embodiment;

[0030] FIG. 8 is a flowchart of a communication method, according to another exemplary embodiment;

[0031] FIG. 9 is a flowchart of an image processing method, according to an exemplary embodiment;

[0032] FIG. 10 is a flowchart of an image processing method, according to another exemplary embodiment;

[0033] FIG. 11 is a flowchart of an image processing method, according to another exemplary embodiment;

[0034] FIG. 12 is a flowchart of an image processing method, according to another exemplary embodiment;

[0035] FIG. 13 is a flowchart of an image processing method, according to another exemplary embodiment;

[0036] FIG. 14 is a flowchart of an image processing method, according to another exemplary embodiment;

[0037] FIG. 15 is a flowchart of an image processing method, according to another exemplary embodiment;

[0038] FIG. 16 is a flowchart of a video processing method, according to an exemplary embodiment;

[0039] FIG. 17 is a flowchart of a video processing method, according to another exemplary embodiment;

[0040] FIG. 18 is a flowchart of a video processing method, according to another exemplary embodiment;

[0041] FIG. 19-1 is a schematic diagram of a rendering picture, according to an exemplary embodiment;

[0042] FIG. 19-2 is a schematic diagram of a rendering picture, according to another exemplary embodiment;

[0043] FIG. 20 is a flowchart of a video processing method, according to another exemplary embodiment;

[0044] FIG. 21 is a flowchart of a video processing method, according to another exemplary embodiment;

[0045] FIG. 22 is a flowchart of a video processing method, according to another exemplary embodiment;

[0046] FIG. 23 is a flowchart of a video processing method, according to another exemplary embodiment;

[0047] FIG. 24 is a flowchart of a video processing method, according to another exemplary embodiment;

[0048] FIG. 25 is a flowchart of a video sharing method, according to an exemplary embodiment;

[0049] FIG. 26 is a flowchart of playing a target video at an access end, according to an exemplary embodiment;

[0050] FIG. 27 is a flowchart of playing a target video at an access end, according to another exemplary embodiment;

[0051] FIG. 28 is a flowchart of playing a target video at an access end, according to another exemplary embodiment;

[0052] FIG. 29 is a flowchart of playing a target video at an access end, according to another exemplary embodiment;

[0053] FIG. 30 is a flowchart of playing a target video at an access end, according to another exemplary embodiment;

[0054] FIG. 31 is a flowchart of a video sharing method, according to another exemplary embodiment;

[0055] FIG. 32 is a flowchart of a video sharing method, according to another exemplary embodiment;

[0056] FIG. 33 is a flowchart of generating sharing data based on a sharing operation of a user on a target video, according to an exemplary embodiment;

[0057] FIG. 34 is a flowchart of generating sharing data based on a sharing operation of a user on a target video, according to another exemplary embodiment;

[0058] FIG. 35 is a flowchart of a video sharing method, according to another exemplary embodiment;

[0059] FIG. 36 is a block diagram of a computer device, according to an exemplary embodiment.

[0060] Reference signs: 1, cloud server; 2, client; 3, access end; 4, shooting device; 100, computer device; 101, computing unit; 102, ROM; 103, RAM; 104, bus; 105, input / output interface; 106, input unit; 107, output unit; 108, storage unit; 109, communication unit. DETAILED DESCRIPTION

[0061] The technical solutions in the disclosed embodiments will be described clearly and completely below with reference to the drawings in the disclosed embodiments. Obviously, the described embodiments are only part of the embodiments of the disclosure, rather than all the embodiments. Based on the embodiments in the disclosure, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the disclosure. It should be noted that the embodiments in the disclosure and the features in the embodiments can be combined with each other arbitrarily without conflict.

[0062] After a user shoots an image through a camera, the user wants to watch the shot image from multiple different perspectives. With the development of image processing technology, the image shot by the camera can be processed into a panoramic image, giving the user an immersive visual experience. Since the panoramic image is an image obtained by splicing multiple images, and the panoramic image has a high resolution and a wide perspective, the volume of the panoramic image is large. Since the storage space of the camera is limited, to enable the camera to shoot more images, the panoramic image can be stored in a cloud server. During playing of the panoramic image stored in the cloud server, since the volume of the panoramic image is large and a high bandwidth (such as 120 Mbps) is required, the image playing has a problem of lag. Moreover, after receiving the panoramic image sent by the cloud server, the panoramic image needs to be processed. For an electronic device with few resources, the panoramic image cannot be processed or the effect of processing the panoramic image is poor, resulting in poor image playing effect.

[0063] Based on this, the disclosure provides an image processing method, which processes a received first image to be processed to generate a panoramic / wide-angle second image, and sends the second image to a client when the second image needs to be played. Since the volume of the processed second image is small, the bandwidth required by the second image is reduced, thereby reducing the possibility of image playing lag. At the same time, since the cloud server processes the first image, the electronic device does not need to process the image, thereby improving the effect of image playing.

[0064] For ease of understanding, first, the image processing scene of the present disclosure is described, as shown in FIG. 1-1 and FIG. 1-2, the image processing scene includes a cloud server 1, a client 2, an access end 3 and a shooting device 4, and the shooting device 4 can be a camera. After a user shoots an image such as a photo or a video by using the shooting device 4, the shooting device 4 can automatically upload a file of the image to the cloud server 1 in a case that a communication connection is established with a communication device. After the user shoots the image, the shooting device 4 can be in a shutdown state due to insufficient power or a shutdown operation, and the power of the shooting device 4 is detected. After the power of the shooting device 4 reaches a preset power, the shooting device 4 starts an uploading function, and automatically uploads the file of the image to the cloud server 1 to realize a non-perception uploading of the image. After the image is acquired, the cloud server 1 processes the image to reduce the volume of the image to reduce network bandwidth required for playing the image. In a process in which the user needs to play the image stored in the cloud server 1, the client 2 receives the image sent by the cloud server 1, processes and plays the image. In a process in which a video in the image is played, the user performs a clipping operation on the video on the client 2 to obtain a clipped video. In the process in which the user performs the clipping operation, the client 2 determines data corresponding to the clipping operation, and saves in the form of a parameter set. After the user performs the clipping operation, the video after the clipping operation is performed needs to be exported or shared, and the cloud server 1 acquires the parameter set. In the process of exporting, the cloud server 1 processes the video based on the parameter set to obtain an exported video. In the process of sharing, the cloud server 1 acquires corresponding sharing data when the cloud server 1 identifies that the client 2 sends a sharing task, and then sends the sharing data to the access end 3 that accesses the sharing task, so that the access end 3 displays a display effect corresponding to the sharing data when playing the video.

[0065] Firstly, the method for uploading an image file in the image processing scene of the present disclosure is described.

[0066] The present disclosure provides a file uploading method, as shown in FIG. 2, the method comprises:

[0067] S100, detecting the power of the camera in a shutdown state.

[0068] S200, starting an uploading function of the camera in a case that the power of the camera is greater than or equal to a preset power, and sending an un-uploaded image file in the camera to a cloud server.

[0069] In the embodiment, when the camera is in the shutdown state, the power of the camera is detected to determine whether the power of the camera is sufficient to upload the image file. When the power of the camera is greater than or equal to the preset power, the power of the camera is sufficient to upload the image file, the uploading function of the camera is started, and the image file not uploaded in the camera is sent to the cloud server. By automatically starting the uploading function when the power of the camera is sufficient to send the image file to the cloud server, the user can realize the uploading of the image file without starting the camera in the shutdown state, thereby improving the user experience. At the same time, since the user does not need to start the camera, the power consumption of the camera is reduced to upload the image file when the power of the camera is low, thereby improving the reliability of the file uploading.

[0070] Exemplarily, the detection of the power of the camera in step S100 can be detected by a microcontroller unit (MCU) of the camera.

[0071] In an embodiment, as shown in FIG. 3, the file uploading method further comprises:

[0072] S110, determining the volume of the image file not uploaded in the camera.

[0073] S120, determining the preset power according to the volume of the image file not uploaded.

[0074] In the embodiment, since the volume of the image file not uploaded in the camera is different, the time required for the image file uploading is different, and the power consumed by the camera for uploading the image file is different. The volume of the image file not uploaded in the camera is determined, and the preset power is determined according to the volume of the image file not uploaded. By determining the preset power according to the volume of the image file not uploaded, the camera will not be shut down due to insufficient power during the uploading of the image file, thereby improving the reliability of the file uploading.

[0075] In an embodiment, before the determination of the preset power according to the volume of the image file not uploaded in step S120, the file uploading method further comprises:

[0076] Determining the bandwidth of the network environment in which the camera is located.

[0077] The determination of the preset power according to the volume of the image file not uploaded in step S120 is determined by the following way:

[0078] The preset power is determined according to the volume of the image file not uploaded and the bandwidth of the network environment.

[0079] In this embodiment, the volume of the image file not uploaded in the camera and the bandwidth of the network environment where the camera is located are determined, and the preset power is determined according to the volume of the image file not uploaded and the bandwidth of the network environment. The preset power is determined according to the volume of the image file not uploaded and the bandwidth of the network environment, so that the camera will not be shut down due to insufficient power during the uploading of the image file, thereby improving the reliability of the file uploading.

[0080] Exemplarily, the preset power can be determined in the above manner, or can be preset in the camera, which is not limited here.

[0081] In an embodiment, the sending of the image file not uploaded in the camera to the cloud server in step S200 can be determined in the following manner:

[0082] The image file not uploaded in the camera is automatically sent to the cloud server.

[0083] In this embodiment, the image file not uploaded in the camera is automatically sent to the cloud server, so that the image file can be uploaded to the cloud server in a user-unaware manner, thereby improving the user experience.

[0084] In an embodiment, the sending of the image file not uploaded in the camera to the cloud server in step S200 can also be determined in the following manner:

[0085] The prompt information is sent, and the prompt information is used to prompt the user to send the image file not uploaded in the camera to the cloud server.

[0086] In response to the consent operation on the prompt information, the image file not uploaded in the camera is sent to the cloud server.

[0087] In this embodiment, the prompt information is sent to prompt the user whether to send the image file not uploaded to the cloud server, so as to avoid occupying the storage space of the cloud server by sending the image file not uploaded to the cloud server, thereby improving the reliability of the file uploading.

[0088] In an embodiment, the detection of the power of the camera in step S100 when the camera is in the shutdown state is determined in the following manner:

[0089] The power of the camera is detected when the camera is in the shutdown charging state.

[0090] In the embodiment, the camera cannot start the uploading function due to low power, and needs to be charged. When the camera is in the power-off charging state, the power of the camera gradually increases, and the power of the camera is detected to determine whether the power of the camera is sufficient to upload the image file. By detecting the power of the camera in the power-off charging state, the image file uploading is interrupted or the image file cannot be uploaded due to insufficient power of the camera, thereby improving the reliability of the file uploading.

[0091] In an embodiment, the sending of the image file not uploaded in the camera to the cloud server in step S200 can also be determined by the following method:

[0092] The image file not uploaded in the camera is sent to the cloud server in a fragmented uploading manner.

[0093] In the embodiment, under the fragmented uploading manner, the image file can be divided into multiple file segments, and the multiple file segments can be uploaded in parallel. By sending the image file not uploaded in the camera to the cloud server in a fragmented uploading manner, the image file uploading speed is fast, thereby improving the efficiency of the file uploading. At the same time, since the image file uploading time is reduced, the possibility of image file uploading interruption due to power depletion of the camera is reduced, thereby improving the reliability of the file uploading.

[0094] In an embodiment, as shown in FIG. 4, the sending of the image file not uploaded in the camera to the cloud server in a fragmented uploading manner in the above step is determined by the following method:

[0095] S210, obtaining the fragmented volume, the number of fragments and the uploading address of the image file not uploaded from the cloud server.

[0096] S220, dividing the image file not uploaded according to the fragmented volume and the number of fragments to obtain multiple file segments.

[0097] S230, sending each file segment in parallel to the uploading address.

[0098] In the embodiment, the fragmented volume, the number of fragments and the uploading address of the image file not uploaded are obtained from the cloud server to determine how to divide the image file and the sending position of the divided image file. The image file not uploaded is divided according to the fragmented volume and the number of fragments to obtain multiple file segments, and each file segment is sent in parallel to the uploading address, so that the cloud server can identify each file segment. By fragmenting and uploading the image file according to the fragmented volume, the number of fragments and the uploading address obtained from the cloud server, the cloud server cannot identify the file segment in the case that the image file can be quickly uploaded, thereby improving the reliability of the file uploading.

[0099] Exemplarily, after the sending of the file segments to the upload address in step S230, the sending of the image files not uploaded in the camera to the cloud server in the segmented upload manner in the above steps further comprises:

[0100] In a case where the sending of a file segment is completed, the sending of the upload completion information to the cloud server is performed every interval time until the receiving of the receiving completion information sent by the cloud server or the sending number of the upload completion information reaches a preset number is received.

[0101] In response to the receiving completion information sent by the cloud server, it is determined that the receiving of the file segment is completed.

[0102] In a case where the sending number of the upload completion information reaches the preset number, it is determined that the receiving of the file segment fails, and the file segment is uploaded again.

[0103] The interval time can be 5s, 10s, 20s, etc. The preset number can be 5, 10, 20, etc.

[0104] In an embodiment, before the sending of the image files not uploaded in the camera to the cloud server in step S200, the file uploading method further comprises:

[0105] Scanning an identification list in the camera, each identification in the identification list corresponding to an image file.

[0106] According to the identification list, the image files not uploaded are determined.

[0107] In the embodiment, the image files not uploaded are determined through the identification list, so that the image files are not missed or repeatedly uploaded, thereby improving the reliability of the file uploading.

[0108] In an embodiment, each identification corresponds to an upload state. The determination of the image files not uploaded according to the identification list in the above steps is determined in the following manner:

[0109] The image file corresponding to the identification with the upload state being the un-uploaded state is the image file not uploaded.

[0110] In the embodiment, since each identification corresponds to an upload state and an image file, the upload state of the identification can reflect whether the image file is uploaded. By determining the image file corresponding to the identification with the upload state being the un-uploaded state as the image file not uploaded, the image files not uploaded can be clearly distinguished to avoid the image files not uploaded, thereby improving the reliability of the file uploading.

[0111] In an embodiment, after the sending of the image files not uploaded in the camera to the cloud server in step S200, the file uploading method further comprises:

[0112] The upload state of the identifier corresponding to the image file sent to the cloud server in the identifier list is adjusted to an uploaded state.

[0113] In this embodiment, by adjusting the upload state of the identifier corresponding to the image file sent to the cloud server in the identifier list to an uploaded state, the image file that has been sent to the cloud server is prevented from being uploaded repeatedly, thereby improving the reliability of file uploading.

[0114] In an embodiment, the file uploading method further comprises:

[0115] After the camera shoots the image file, an identifier of the image file is generated.

[0116] The identifier is added to the identifier list.

[0117] The identifier list is sent to the cloud server.

[0118] In this embodiment, after the camera shoots the image file, an identifier of the image file is generated, so that each image file corresponds to an identifier. The identifier is added to the identifier list to upload the image file to the cloud server. The identifier list is sent to the cloud server, so that the cloud server saves the identifier list. By sending the identifier list to the cloud server after shooting the image file, the identifier list can be obtained through the cloud server in the case of camera failure to avoid missing or repeated uploading of the image file, thereby improving the reliability of file uploading.

[0119] In an embodiment, after the camera shoots the image file, the file uploading method further comprises:

[0120] In response to a clip operation of the image file by the camera, a target parameter file corresponding to the clip operation is generated, the clip operation being an operation that is planned to be executed but not actually executed.

[0121] The sending of the image file not uploaded in the camera to the cloud server in step S200 can also be determined in the following manner:

[0122] In response to a processing instruction of a clip operation of the image file by the camera, a processing task is generated, and the processing task and the image file not uploaded in the camera are sent to the cloud server.

[0123] The processing task includes a target parameter file, and the cloud server is configured to process the image file based on the target parameter file to derive a target image file, the target image file being a file obtained by actually executing operation data in the target parameter file on the image file, the operation data being generated based on the clip operation of the image file.

[0124] In the embodiment, after the user shoots the image file, the user can perform a clip operation on the image file to add the effect of the clip operation to the image file. In response to the clip operation on the image file by the camera, a target parameter file corresponding to the clip operation is generated, and the target parameter file contains operation data corresponding to the clip operation. Since the camera has limited resources, if the camera performs export of the target image file, the effect of the export of the target image file is poor and the export efficiency is low. In response to the processing instruction of the clip operation on the image file by the camera, a processing task is generated, and the processing task and the image file not uploaded in the camera are sent to the cloud server to export the target image file by the cloud server. Since the cloud server has abundant resources, the target image file exported by the cloud server has high quality, thereby improving the effect of the export of the image file. At the same time, since the target parameter file has small size and is uploaded to the cloud server at the same time as the image file, the uploading of the target parameter file has little effect on the uploading of the image file, thereby improving the reliability of the file uploading. Moreover, since the clip operation can be performed on the image file immediately after the image file is shot, the user can avoid searching for the shot image file later, thereby improving the user experience.

[0125] In an embodiment, after the scanning of the identification list in the camera in the above step, the file uploading method further includes:

[0126] In the case of failure of the scanning of the identification list, the identification list is obtained from the cloud server.

[0127] In the embodiment, in the case that the camera fails to scan the identification list, the identification list is obtained from the cloud server for the uploading of the image file to avoid missing uploading or repeated uploading of the image file, thereby improving the reliability of the file uploading.

[0128] In an embodiment, the name of the identification is composed of the serial number of the camera and the generation time of the image file, so that the identification is unique in the identification list.

[0129] In the embodiment, since the serial number of each camera is unique, and the same camera can only generate one image file at the same time, the name of the identification is composed of the serial number of the camera and the generation time of the image file to make the identification unique in the identification list. By combining the serial number of the camera and the generation time of the image file to make the identification unique, the identification is prevented from being repeated to cause missing uploading or repeated uploading of the image file, thereby improving the reliability of the file uploading.

[0130] For example, in addition to the name of the identification being composed of the serial number of the camera and the generation time of the image file, the name of the identification can also be composed of the serial number of the camera and the shooting time of the image file, or the name of the identification can be composed of the serial number of the camera, the shooting time of the image file, and the generation time of the image file.

[0131] In an embodiment, as shown in FIG. 5, the starting of the uploading function of the camera in step S200 is determined by the following way:

[0132] S240, controlling the uploading unit in the camera to run, the uploading unit being configured to upload data to the cloud server.

[0133] S250, establishing a communication connection with the communication device, the communication device being configured to realize data transmission between the camera and the cloud server.

[0134] In this embodiment, when uploading the image file to the cloud server, the uploading unit in the camera is controlled to run to upload data in the image file to the cloud server. A communication connection is established with the communication device to enable the camera and the cloud server to perform data transmission through the communication device. By starting only the uploading unit in the process of uploading the image file, the camera does not need to be in the powered-on state to reduce the consumption of the camera power to avoid interruption of the transmission of the image file, thereby improving the reliability of the file transmission.

[0135] Exemplarily, the uploading unit can include a communication unit and a storage unit. The communication device can be a router.

[0136] Exemplarily, after the communication connection with the communication device is established, it is necessary to test whether the camera can communicate with the communication device. The client sends a probe request to the camera. The camera sends the probe request to the communication device. The communication device sends a response identifier to the camera after receiving the probe request. The camera sends the response identifier to the client. In the case that the response identifier is a first response identifier, the client determines that the camera and the communication device establish the communication connection successfully. In the case that the response identifier is a second response identifier, the client determines that the camera and the communication device fail to establish the communication connection. In the case that the response identifier is a third response identifier, the client determines that the communication device is a device that needs to be authenticated.

[0137] In an embodiment, after the communication connection with the communication device in step S250, the file uploading method further includes:

[0138] sending the first authentication data returned by the communication device to the client to display an authentication interface on the client, the authentication interface being formed based on the first authentication data.

[0139] In response to an authentication operation of the authentication interface displayed on the client, sending the second authentication data returned by the client to the communication device to enable the communication device to authenticate the camera according to the second authentication data.

[0140] In the embodiment, after establishing a communication connection with the communication device, whether the communication device is a device requiring authentication is determined according to a response identifier returned by the communication device. If the communication device is a device requiring authentication, first authentication data returned by the communication device is sent to the client to assist the camera in authentication. In response to an authentication operation of an authentication interface displayed on the client, second authentication data returned by the client is sent to the communication device to enable the communication device to authenticate the camera according to the second authentication data. The authentication of the communication device by the client-assisted camera enables the camera to connect more types of communication devices for file uploading, thereby improving the reliability of file uploading.

[0141] In an embodiment, the second authentication data includes an account and a verification code.

[0142] In the embodiment, after the account and the verification code are input on the authentication interface, the account and the verification code are sent to the communication device by the camera to enable the communication device to authenticate the camera, thereby improving the reliability of file uploading.

[0143] Exemplarily, the authentication interface can display an account input field, a verification code acquisition control, and a verification code input field. After the user inputs the account and the verification code, the client sends the account and the verification code as the second authentication data to the camera to enable the communication device to authenticate the camera according to the second authentication data.

[0144] In an embodiment, after the second authentication data returned by the client is sent to the communication device in the above step, the file uploading method further includes:

[0145] sending an authentication identifier returned by the communication device to the client, the authentication identifier being used to represent whether the camera is authenticated successfully.

[0146] In a case where the authentication success identifier sent by the client is received, it is determined that the camera is authenticated successfully.

[0147] In the embodiment, after the second authentication data returned by the client is sent to the communication device, the communication device determines whether to pass the authentication of the camera according to the second authentication data. An authentication identifier returned by the communication device is sent to the client to enable the client to determine whether the camera passes the authentication according to the authentication identifier. In a case where the authentication identifier represents that the camera passes the authentication, the client sends an authentication success identifier to the camera, and it is determined that the authentication is successful in a case where the authentication success identifier is received. The determination of whether the authentication is successful by the client-assisted camera enables the camera to connect more types of communication devices for file uploading, thereby improving the reliability of file uploading.

[0148] In an embodiment, before the first authentication data returned by the communication device is sent to the client in the above step, the file uploading method further includes:

[0149] The verification address sent by the client is transmitted to the communication device, so that the communication device returns the first authentication data, and the verification address is formed based on the data returned by the communication device after the client establishes a communication connection with the communication device.

[0150] The authentication identifier is also used to represent whether the client is authenticated successfully. In the case that the camera is authenticated successfully, the client is authenticated successfully.

[0151] In this embodiment, since the user may need to authenticate the client and the camera through the communication device, if the operations are performed respectively, two authentication processes are required, which leads to complex authentication. Before the first authentication data returned by the communication device is sent to the client, the client first establishes a communication connection with the communication device, and forms a verification address based on the data returned by the communication device. The verification address sent by the client is transmitted to the communication device to apply for authentication again, and the communication device needs to redirect the authentication interface. The communication device returns the first authentication data. After the authentication operation is performed on the authentication interface displayed by the client, the communication device simultaneously authenticates the camera and the client, and in the case that the camera is authenticated successfully, the client is authenticated successfully. Through one authentication operation, the client and the camera are simultaneously authenticated successfully, avoiding complex authentication caused by two operations, thereby improving the reliability of communication.

[0152] Exemplarily, the verification address can be an address formed based on the data returned by the communication device, or an address formed after processing the data returned by the communication device.

[0153] In an embodiment, the communication connection with the communication device in step S250 can be determined by the following method:

[0154] In response to the selection operation of the communication device on the client, a communication connection is established with the communication device selected by the selection operation.

[0155] In this embodiment, since the camera may not be able to actively scan the communication device, the client needs to assist the camera to select and connect the communication device. In response to the selection operation of the communication device on the client, a communication connection is established with the communication device selected by the selection operation, so as to realize data transmission between the camera and the cloud server. Through the client assisting the camera to establish a communication connection with the communication device, more types of cameras can connect the communication device to perform file uploading, thereby improving the universality of file uploading.

[0156] In an embodiment, in the case that the communication device needs a password, the communication connection with the communication device selected by the selection operation in the above step is determined by the following method:

[0157] The password of the communication device sent by the client is transmitted to the communication device selected by the selection operation, so as to establish a communication connection with the communication device.

[0158] Wherein, before the selecting operation, the client has established a communication connection with the communication device through the password of the communication device.

[0159] In this embodiment, when the communication device requires a password, the camera cannot establish a communication connection with the communication device through the selecting operation only, and needs to be assisted by inputting the password of the communication device in the client. The password of the communication device sent by the client is transmitted to the communication device selected by the selecting operation, so that the communication device establishes a communication connection with the camera after receiving the password. By assisting the camera to establish a communication connection with the communication device through the client, more types of cameras can connect the communication device to upload files, thereby improving the versatility of file uploading.

[0160] In an embodiment, the communication connection with the communication device in step S250 can also be determined in the following way:

[0161] Scanning the connectable communication devices.

[0162] In the case that the password of the connectable communication device is stored or the connectable communication device does not require a password, the communication connection with the communication device is established.

[0163] In this embodiment, the connectable communication devices are scanned to determine the communication devices that can establish a communication connection. In the case that the password of the connectable communication device is stored, the camera can send the password to the communication device to establish a communication connection with the communication device. In the case that the connectable communication device does not require a password, the communication device can establish a communication connection without a password, and a communication connection is established with the communication device. By automatically establishing a communication connection with the communication device, the user does not need to operate the client and the camera, thereby improving the user experience.

[0164] In an embodiment, the communication connection with the communication device in step S250 can also be determined in the following way:

[0165] Scanning the connectable communication devices.

[0166] In the case that the password of the connectable communication device is not stored and the connectable communication device requires a password, the name of the connectable communication device is sent to the client.

[0167] In response to the operation of inputting the password of the connectable communication device in the client, the password returned by the client is sent to the corresponding communication device to establish a communication connection with the communication device.

[0168] In the embodiment, the connectable communication device is scanned to determine the communication device that can establish the communication connection. In the case that the password of the connectable communication device is not stored and the connectable communication device requires the password, the camera cannot establish the communication connection with the communication device and the name of the connectable communication device is sent to the client. In response to the operation of inputting the password of the connectable communication device on the client, the password returned by the client is sent to the corresponding communication device to establish the communication connection with the communication device. The input of the password is assisted by the client, more types of cameras can connect the communication device to upload the file, and the universality of the file uploading is improved.

[0169] Exemplarily, the name of the historically connected communication device is pre-stored in the camera. The scanning of the connectable communication device in the above step can be preferentially scanning whether there is a historically connected communication device.

[0170] In an embodiment, before the control of the running of the uploading unit in the camera in step S240, the file uploading method further comprises:

[0171] Determining whether there is an un-uploaded image file in the camera.

[0172] The control of the running of the uploading unit in the camera in step S240 is determined by the following way:

[0173] In the case that there is an un-uploaded image file in the camera, the running of the uploading unit in the camera is controlled.

[0174] In the embodiment, before the control of the running of the uploading unit, it is determined whether there is an un-uploaded image file in the camera to determine whether the uploading unit is needed to upload the image file. In the case that there is an un-uploaded image file in the camera, the uploading unit is needed to upload the image file, and the running of the uploading unit is controlled. By determining whether to control the running of the uploading unit by pre-determining whether there is an un-uploaded image file, the un-uploaded image file cannot be uploaded, and the reliability of the file uploading is improved.

[0175] In an embodiment, after the determination of whether there is an un-uploaded image file in the camera in the above step, the file uploading method further comprises:

[0176] In the case that there is no un-uploaded image file in the camera, the uploading unit in the camera is kept off.

[0177] In the embodiment, by keeping the uploading unit off without the running of the uploading unit, the power consumption of the camera caused by the running of the uploading unit is avoided, and the reliability of the file uploading is improved.

[0178] In an embodiment, after the sending of the un-uploaded image file in the camera to the cloud server in step S200, the file uploading method further comprises:

[0179] In a case where all the image files in the camera are uploaded and there is no image file available for uploading, the uploading unit is controlled to stop running.

[0180] In this embodiment, by controlling the uploading unit to stop running after all the image files are uploaded, the power consumption of the camera caused by the running of the uploading unit is avoided, thereby improving the reliability of file uploading.

[0181] The embodiment of the present disclosure provides a file uploading method, as shown in FIG. 6, the method comprises:

[0182] S300, scanning an identification list in the camera in a case where the camera is in a shutdown charging state.

[0183] S310, determining that an image file corresponding to an identification in an un-uploaded state in the identification list is an un-uploaded image file.

[0184] S320, detecting the power of the camera in a case where there is an un-uploaded image file in the camera.

[0185] S330, determining the volume of the un-uploaded image file in the camera.

[0186] S340, determining a preset power according to the volume of the un-uploaded image file.

[0187] S350, controlling the uploading unit to run in a case where the power of the camera is greater than or equal to the preset power.

[0188] S360, establishing a communication connection with a communication device.

[0189] S370, obtaining the slice volume, the slice number and the uploading address of the un-uploaded image file from a cloud server.

[0190] S380, segmenting the un-uploaded image file according to the slice volume and the slice number to obtain a plurality of file segments.

[0191] S390, automatically sending each file segment to the uploading address in parallel.

[0192] S400, adjusting the uploading state of an identification corresponding to an image file sent to the cloud server in the identification list to an uploaded state.

[0193] S410, controlling the uploading unit to stop running in a case where all the image files in the camera are uploaded and there is no image file available for uploading.

[0194] In the embodiment, when the camera is in the power-off charging state, the power of the camera gradually increases, and the photographed and unuploaded image file can be uploaded to the cloud server. The identification list in the camera is scanned, and it is determined that the image file corresponding to the identification in the unuploaded state in the identification list is an unuploaded image file to determine whether there is an unuploaded image file. In the case that there is an unuploaded image file in the camera, the power of the camera is detected to determine the degree to which the camera can upload the image file. The volume of the unuploaded image file in the camera is determined, and the preset power is determined according to the volume of the unuploaded image file to determine the power required to upload the image file. In the case that the power of the camera is greater than or equal to the preset power, the uploading unit is controlled to run, and a communication connection is established with the communication device to upload the image file. The slice volume, the slice number and the upload address of the unuploaded image file are obtained from the cloud server, and the unuploaded image file is uploaded in slices based on the slice volume, the slice number and the upload address to improve the speed of file uploading. The upload state of the identification corresponding to the image file sent to the cloud server in the identification list is adjusted to the uploaded state, and in the case that all the image files in the camera are uploaded and there is no image file to be uploaded, the uploading unit is turned off to reduce the power consumption of the camera. By automatically starting the uploading function when the power of the camera is sufficient to send the image file to the cloud server, the user can realize the uploading of the image file without starting the camera in the power-off state, thereby improving the user experience. At the same time, since the user does not need to start the camera, the power consumption of the camera is reduced to upload the image file when the power of the camera is low, thereby improving the reliability of file uploading.

[0195] The embodiment of the present disclosure provides a communication method applied to a camera, as shown in FIG. 7, the method comprises:

[0196] S500, in the case that the communication connection with the communication device is established, the first authentication data returned by the communication device is sent to the client to display the authentication interface on the client, and the authentication interface is formed based on the first authentication data.

[0197] S600, in response to the authentication operation of the authentication interface displayed on the client, the second authentication data returned by the client is sent to the communication device to authenticate the camera according to the second authentication data.

[0198] The communication device is used to realize data transmission between the camera and the cloud server.

[0199] In the embodiment, in the case that the communication device needs to be authenticated when the communication connection is established with the communication device, the first authentication data returned by the communication device is sent to the client to assist the camera in authentication by the client. In response to the authentication operation of the authentication interface displayed on the client, the second authentication data returned by the client is sent to the communication device to make the communication device authenticate the camera according to the second authentication data. The authentication of the communication device by the client-assisted camera enables the camera to connect more types of communication devices, thereby improving the reliability of the communication.

[0200] In an embodiment, the second authentication data includes an account and a verification code.

[0201] In the embodiment, after the account and the verification code are input on the authentication interface, the account and the verification code are sent to the communication device by the camera to make the communication device authenticate the camera, thereby improving the reliability of the communication.

[0202] Exemplarily, the authentication interface can display an account input field, a verification code obtaining control, and a verification code input field. After the user inputs the account and the verification code, the client sends the account and the verification code to the camera as the second authentication data to make the communication device authenticate the camera according to the second authentication data.

[0203] In an embodiment, after the first authentication data returned by the communication device is sent to the client in step S500, the communication method further includes:

[0204] The authentication identifier returned by the communication device is sent to the client, and the authentication identifier is used to represent whether the camera is authenticated successfully.

[0205] In the case that the authentication success identifier sent by the client is received, it is determined that the camera is authenticated successfully.

[0206] In the embodiment, after the second authentication data returned by the client is sent to the communication device, the communication device determines whether the camera is authenticated according to the second authentication data. The authentication identifier returned by the communication device is sent to the client to make the client determine whether the camera is authenticated according to the authentication identifier. In the case that the authentication identifier represents that the camera is authenticated, the client sends an authentication success identifier to the camera, and it is determined that the authentication is successful in the case that the authentication success identifier is received. The determination of whether the authentication is successful by the client-assisted camera enables the camera to connect more types of communication devices, thereby improving the reliability of the communication.

[0207] In an embodiment, before the first authentication data returned by the communication device is sent to the client in step S500, the communication method further includes:

[0208] transmitting the verification address sent by the client to the communication device to make the communication device return the first authentication data, the verification address being formed based on data returned by the communication device after the client establishes a communication connection with the communication device.

[0209] The authentication identifier is further used to represent whether the client is authenticated successfully. In the case that the camera is authenticated successfully, the client is authenticated successfully.

[0210] In the embodiment, since the user may need to authenticate the client and the camera through the communication device, if the operations are performed respectively, two authentication processes are needed, which leads to complicated authentication. Before the first authentication data returned by the communication device is sent to the client, the client establishes a communication connection with the communication device, and forms the verification address based on the data returned by the communication device. The verification address sent by the client is transmitted to the communication device to apply for authentication again, and the communication device needs to redirect the authentication interface. The communication device returns the first authentication data. After the authentication operation is performed on the authentication interface displayed by the client, the communication device authenticates the camera and the client simultaneously, and in the case that the camera is authenticated successfully, the client is authenticated successfully. Through one authentication operation, the client and the camera are authenticated successfully, which avoids complicated authentication caused by two operations, thereby improving the convenience of communication.

[0211] Exemplarily, the verification address can be an address formed based on the data returned by the communication device, or an address formed after the data returned by the communication device is processed.

[0212] In an embodiment, the communication method further includes:

[0213] In response to a selection operation of the communication device on the client, a communication connection is established with the communication device selected by the selection operation.

[0214] In the embodiment, since the camera may not be able to actively scan the communication device, the client needs to assist the camera to select and connect the communication device. In response to a selection operation of the communication device on the client, a communication connection is established with the communication device selected by the selection operation, so as to realize data transmission between the camera and the cloud server. Through the client assisting the camera to establish a communication connection with the communication device, more types of cameras can connect the communication device, thereby improving the reliability of communication.

[0215] In an embodiment, in the case that the communication device needs a password, the communication connection with the communication device selected by the selection operation in the above step is determined by the following manner:

[0216] The password of the communication device sent by the client is transmitted to the communication device selected by the selection operation, so as to establish a communication connection with the communication device.

[0217] Wherein, before the selection operation, the client has established a communication connection with the communication device through the password of the communication device.

[0218] In this embodiment, when the communication device requires a password, the camera cannot establish a communication connection with the communication device through the selection operation alone, and needs to be assisted by the client to input the password of the communication device. The password of the communication device sent by the client is transmitted to the communication device selected by the selection operation, so that the communication device establishes a communication connection with the camera after receiving the password. By assisting the camera to establish a communication connection with the communication device through the client, more types of cameras can connect to the communication device, thereby improving the reliability of communication.

[0219] In one embodiment, the communication method further comprises:

[0220] Scanning the connectable communication device.

[0221] In the case where the password of the connectable communication device is stored or the connectable communication device does not require a password, establishing a communication connection with the communication device.

[0222] In this embodiment, the connectable communication device is scanned to determine the communication device that can establish a communication connection. In the case where the password of the connectable communication device is not stored and the connectable communication device requires a password, the camera cannot establish a communication connection with the communication device, and the name of the connectable communication device is sent to the client. In response to the operation of inputting the password of the connectable communication device on the client, the password returned by the client is sent to the corresponding communication device to establish a communication connection with the communication device. By assisting the camera to input the password through the client, more types of cameras can connect to the communication device, thereby improving the reliability of communication.

[0223] In one embodiment, the communication method further comprises:

[0224] Scanning the connectable communication device.

[0225] In the case where the password of the connectable communication device is not stored and the connectable communication device requires a password, the name of the connectable communication device is sent to the client.

[0226] In response to the operation of inputting the password of the connectable communication device on the client, the password returned by the client is sent to the corresponding communication device to establish a communication connection with the communication device.

[0227] In this embodiment, the connectable communication device is scanned to determine the communication device that can establish a communication connection. In the case that the password of the connectable communication device is stored, the camera can send the password to the communication device to establish a communication connection with the communication device. In the case that the connectable communication device does not need the password, the communication device can establish a communication connection without the password and establish a communication connection with the communication device. By automatically establishing a communication connection with the communication device, the user does not need to operate the client and the camera, thereby improving the user experience.

[0228] The communication method provided in the embodiments of the present disclosure is shown in FIG. 8, and the method comprises the following steps.

[0229] S700, in response to the selection operation of the communication device on the client, establishing a communication connection with the communication device selected by the selection operation.

[0230] S710, transmitting the verification address sent by the client to the communication device.

[0231] S720, sending the first authentication data returned by the communication device to the client.

[0232] S730, in response to the authentication operation of the authentication interface displayed on the client, sending the second authentication data returned by the client to the communication device.

[0233] S740, sending the authentication identifier returned by the communication device to the client.

[0234] S750, in the case that the authentication success identifier sent by the client is received, determining that the camera authentication is successful.

[0235] In this embodiment, since the camera cannot actively establish a communication connection with the communication device, in response to the selection operation of the communication device on the client, a communication connection is established with the communication device selected by the selection operation. The verification address sent by the client is transmitted to the communication device to make the communication device redirect the authentication interface. The first authentication data returned by the communication device for redirecting the authentication interface is sent to the client to display the authentication interface on the client. In response to the authentication operation of the authentication interface displayed on the client, the second authentication data returned by the client is sent to the communication device to make the communication device authenticate the camera and the client. The authentication identifier returned by the communication device is sent to the client, and in the case that the authentication success identifier sent by the client is received, it is determined that the camera authentication is successful and the client authentication is successful. By assisting the camera to authenticate the communication device through the client, the camera can connect more types of communication devices, thereby improving the reliability of the communication. Moreover, by one authentication operation, the client and the camera are simultaneously authenticated successfully, avoiding the authentication complexity caused by two operations, thereby improving the convenience of the communication.

[0236] After the image file is uploaded to the cloud server, the cloud server can process the image, and the user can play the image stored in the cloud server through the client.

[0237] Secondly, the method of image processing and playing in the image processing scene of the present disclosure is described. The image file includes a first image.

[0238] The embodiment of the present disclosure provides an image processing method applied to a cloud server, as shown in FIG. 9, which comprises the following steps:

[0239] S800, receiving a first image to be processed.

[0240] S900, in response to a playing request sent by the client, sending a second image generated based on the first image to the client, so that the client plays the second image, the bandwidth required by the second image is less than the bandwidth required by the first image, and the second image is a panoramic image or a wide-angle image.

[0241] In this embodiment, the first image to be processed is received, and the second image is generated based on the first image. In response to the playing request sent by the client, the panoramic / wide-angle second image is sent to the client, so that the client can play the second image at a lower bandwidth. By generating the second image based on the first image, the bandwidth required by the panoramic / wide-angle second image is lower than the bandwidth required by the first image, thereby reducing the possibility of image playing being stuck. At the same time, since the first image is preprocessed in the cloud server, the quality of the second image is better than that of the first image, thereby improving the effect of image playing.

[0242] Exemplarily, the first image and the second image can be a video or an image.

[0243] In an embodiment, as shown in FIG. 10, after receiving the first image to be processed in step S800, the image processing method further comprises the following steps:

[0244] S1000, preprocessing the first image to obtain the second image.

[0245] The preprocessing includes transcoding processing, which is used to adjust one or more of the encoding format, the projection format, and the code rate, so as to reduce the volume of the image.

[0246] In this embodiment, the volume of the image is reduced by adjusting one or more of the encoding format, the projection format, and the code rate of the image, and the bandwidth required by the panoramic / wide-angle second image is low, thereby reducing the possibility of image playing being stuck.

[0247] In an embodiment, the first images are multiple, and are respectively captured by multiple cameras with different view directions. As shown in FIG. 11, the pre-processing of the first images in step S1000 to obtain the second images is determined by the following manner:

[0248] S1010, performing synthesis processing on the multiple first images to obtain a third image, the third image being a spherical panorama image or a spherical wide-angle image.

[0249] S1020, performing transcoding processing on the third image to obtain a second image, the second image being a cubic panorama image or a cubic wide-angle image.

[0250] The bandwidth required by the second image is less than the bandwidth required by the third image.

[0251] In the embodiment, since the camera includes multiple cameras with different view directions, and the images captured by the multiple cameras can be synthesized to obtain a panorama image or a wide-angle image, the synthesis processing is performed on the multiple first images to obtain a third panorama / wide-angle image with a spherical projection format. Since the volume of the third image is large, the transcoding processing is performed on the third image to obtain a second panorama / wide-angle image with a cubic (CubeMap) projection format. The second image is obtained by the transcoding processing including projection format adjustment on the third image, and the volume of the second image is small, so that the bandwidth required by the second image is low, thereby reducing the possibility of image playback jam. At the same time, since the synthesis processing is performed on the cloud server, the camera only needs to upload the images captured by the cameras without processing the captured images, thereby improving the image processing effect.

[0252] For example, the cameras in the camera can be back-to-back fisheye cameras, or can be wide-angle cameras with different directions, etc.

[0253] For example, the third image can be a video or an image.

[0254] For example, in the case that the second image and the third image are videos, the bandwidth required by the second image can be 3 Mbps, 10 Mbps, etc., and the bandwidth required by the third image can be 120 Mbps, for example.

[0255] In an embodiment, the synthesis processing on the multiple first images in step S1010 to obtain the third image is determined by the following manner:

[0256] The multiple first images are spliced, de-jittered, and de-chromatized to obtain the third image.

[0257] In this embodiment, since the shooting directions of the first images captured by the plurality of cameras are different, and the field of view angle of each camera is less than 360°, the first images need to be spliced to obtain a panoramic image or a wide-angle image. Since the camera can be in a motion state during the capturing of the first images, causing the first images to shake, the anti-shake processing is performed on the spliced image. Since the camera is in different environments when capturing the first images, there can be a certain chromatic aberration in the first images, and the achromatic processing is performed on the anti-shake processed image. Through the splicing, anti-shake and achromatic processing of the plurality of first images, the quality of the third image is improved to make the quality of the second image after the transcoding processing good, thereby improving the effect of image playing.

[0258] In an embodiment, during the transcoding processing of the third image, the encoding format of the third image is converted into a preset encoding format, the projection format of the third image is converted from a spherical format into a cubic format, and the code rate of the third image is reduced.

[0259] In this embodiment, the volume of the third image is reduced in the manner of adjusting the encoding format by converting the encoding format of the third image into a preset encoding format. The volume of the third image is reduced in the manner of adjusting the projection format by converting the projection format of the third image from a spherical format into a cubic format. The volume of the third image is reduced in the manner of adjusting the code rate by reducing the code rate of the third image. Through the multiple ways of reducing the volume of the third image, the volume of the third image can be greatly reduced for smooth playing, thereby reducing the possibility of image playing being stuck.

[0260] For example, the preset format can be H.265 format. The manner of reducing the code rate of the third image can be adjusting the resolution of the third image, adjusting the frame rate of the third image, adjusting the compression ratio of the third image, etc.

[0261] In an embodiment, the second image includes a first sub-image and a second sub-image. The transcoding processing of the third image in step S1020 to obtain the second image is determined in the following manner:

[0262] The third image is subjected to transcoding processing with different code rates to obtain the first sub-image and the second sub-image.

[0263] Among them, the volume of the first sub-image is less than the volume of the second sub-image.

[0264] In this embodiment, the first sub-image and the second sub-image with different volumes are obtained by subjecting the third image to transcoding processing with different code rates. The corresponding sub-image can be sent to the client according to the different bandwidths to play the second image smoothly and clearly, thereby reducing the possibility of image playing being stuck and improving the effect of image playing.

[0265] Exemplarily, the volume of the first sub-video can be 1 / 34 of the volume of the second video, and the volume of the second sub-video can be 1 / 11 of the volume of the second video.

[0266] In an embodiment, in the case that the second video is a video, after the pre-processing of the first video to obtain the second video in step S1000, the image processing method further includes:

[0267] segmenting the first sub-video and the second sub-video according to a preset manner to obtain segments of the first sub-video and the second sub-video in a plurality of time periods.

[0268] In the embodiment, although the volume of the second video is smaller than that of the first video and the third video, it still takes a certain time for the client to receive the complete second video, and the user can only need to watch part of the segments of the second video. The first sub-video and the second sub-video are segmented according to a preset manner to obtain segments of the first sub-video and the second sub-video in a plurality of time periods, so as to divide the first sub-video and the second sub-video into a plurality of small-volume segments. By dividing the first sub-video and the second sub-video into a plurality of segments, the second video can be sent by segments when sent to the client, thereby reducing the possibility of image playback lag.

[0269] Exemplarily, the preset manner can be a preset protocol format. The preset protocol can be an HLS protocol, a DASH protocol, or the like.

[0270] Exemplarily, the first video can also be a spherical panoramic video or a spherical wide-angle video. After the multiple cameras in the camera capture images with different framing directions, the camera can stitch, anti-shake, and achromatic process the captured images to obtain the first video. At this time, the pre-processing only includes transcoding processing, but does not include synthesis processing.

[0271] In an embodiment, the second video includes the first sub-video and the second sub-video, and the volume of the first sub-video is smaller than that of the second sub-video. The sending of the second video generated based on the first video to the client in step S900 is determined by the following manner:

[0272] determining the bandwidth of the network environment in which the client is located.

[0273] In the case that the bandwidth of the network environment in which the client is located is smaller than a preset bandwidth, the first sub-video is sent to the client.

[0274] In the case that the bandwidth of the network environment in which the client is located is greater than or equal to the preset bandwidth, the second sub-video is sent to the client.

[0275] In the embodiment, the bandwidth of the network environment in which the client is located is determined to determine whether the client can play the second video with high definition. In a case where the bandwidth of the network environment in which the client is located is less than a preset bandwidth, the client cannot play the second video with high definition, and the first sub-video with small volume is sent to the client. In a case where the bandwidth of the network environment in which the client is located is greater than or equal to the preset bandwidth, the client can play the second video with high definition, and the second sub-video with large volume is sent to the client. By determining the second video to be sent according to the network environment in which the client is located, the second video cannot be played smoothly or the definition of the second video played is low, thereby reducing the possibility of image playing being stuck and improving the effect of image playing.

[0276] Exemplarily, the determination of the bandwidth of the network environment in which the client is located in the above steps can be that the cloud server actively detects the bandwidth of the network environment in which the client is located, or the cloud server obtains the bandwidth of the network environment in which the client is located detected by the client.

[0277] Exemplarily, the value of the preset bandwidth can be determined according to the volume of the second sub-video. The value of the preset bandwidth can be 5 Mbps, 10 Mbps, 15 Mbps, etc.

[0278] In an embodiment, in a case where the second video is a video, the first sub-video and the second sub-video are each composed of segments in multiple time periods. The sending of the first sub-video to the client in the above steps is determined by the following manner:

[0279] A first time at which the second video is played is determined.

[0280] A segment corresponding to the first time in the first sub-video is sent to the client.

[0281] The sending of the second sub-video to the client in the above steps is determined by the following manner:

[0282] A second time at which the second video is played is determined.

[0283] A segment corresponding to the second time in the second sub-video is sent to the client.

[0284] In this embodiment, since the first sub-video and the second sub-video are both composed of multiple segments in multiple time periods, when the first sub-video or the second sub-video is sent to the client, the segments can be sent one by one. In order to reduce the time required for playing the first sub-video or the second sub-video, the segment corresponding to the time point that the user needs to watch is preferentially sent to the client. The first time point or the second time point of playing the second video is determined, and the segment corresponding to the first time point in the first sub-video or the segment corresponding to the second time point in the second sub-video is sent to the client, so that the client can play immediately after receiving the segment. By sending the segment corresponding to the first time point in the first sub-video or the segment corresponding to the second time point in the second sub-video to the client, the second video can be played by sending only one segment, thereby reducing the possibility of image playing being stuck.

[0285] For example, after the segment corresponding to the first time point in the first sub-video or the segment corresponding to the second time point in the second sub-video is sent to the client, the segments after the segment can be sent to the client in order, and then the remaining unsent segments are sent to the client. Or, the segments can also be sent to the client in order.

[0286] For example, the first time point and the second time point can be the same or different.

[0287] In an embodiment, the step S900 of sending the second video generated based on the first video to the client further includes:

[0288] According to the volume of the second sub-video, a preset bandwidth is determined.

[0289] In this embodiment, since the volumes of the second sub-videos are different, the bandwidths required for smoothly playing the second sub-videos are different. According to the volume of the second sub-video, a preset bandwidth is determined to send the second sub-video in a case where the second sub-video can be smoothly played. By determining the preset bandwidth according to the volume of the second sub-video, the second video can be clearly and smoothly played, thereby reducing the possibility of image playing being stuck and improving the effect of image playing.

[0290] In an embodiment, the second video includes a first sub-video and a second sub-video, and the volume of the first sub-video is smaller than the volume of the second sub-video. When the second video starts playing, the first sub-video is sent to the client.

[0291] In this embodiment, since the second video is not stored in the client when the second video starts playing, the second video needs to be received before it can be played. In order to enable the second video to successfully start playing, the first sub-video with a small volume is sent to the client when the second video starts playing. By sending the first sub-video when the second video starts playing, the user is avoided from waiting for a long time, thereby improving the reliability of image playing.

[0292] In an embodiment, when the second video is a video, the first sub-video is composed of multiple segments in different time periods. The sending of the first sub-video to the client in the above step is determined by the following method:

[0293] According to the playing request, a third time point of playing the second video is determined.

[0294] The segment corresponding to the third time point in the first sub-video is sent to the client.

[0295] In this embodiment, since the first sub-video is composed of multiple segments in different time periods, when the first sub-video is sent to the client, the segments can be sent one by one. In order to reduce the time required for starting the second video, the segment corresponding to the time point that the user needs to watch is preferentially sent to the client. The third time point of playing the second video is determined, and the segment corresponding to the third time point in the first sub-video is sent to the client, so that the client can play immediately after receiving the segment. By sending the segment corresponding to the third time point in the first sub-video to the client, only one segment is required to play the first sub-video to successfully start the second video, thereby improving the reliability of video playing.

[0296] Exemplarily, the third time point can be the same as or different from the first time point and the second time point.

[0297] In an embodiment, after the sending of the second video generated based on the first video to the client in step S900, the video processing method further includes:

[0298] Receiving a clipping request for the second video sent by the client, the clipping request including clipping data, the clipping data being generated based on the pre-operation of the client on the second video.

[0299] Clipping processing is performed on the second video based on the clipping data.

[0300] In this embodiment, the user can clip the second video during the playing of the second video. In order to prevent the electronic device installed with the client from being unable to effectively clip the second video due to insufficient resources, the clipping request for the second video sent by the client is received, and the second video is clipped based on the clipping data. Since the cloud server has abundant resources, the video quality of the second video after the clipping processing of the cloud server is high, thereby improving the effect of video processing. At the same time, since the client only needs to send the clipping request before the clipping processing of the second video, the time of data transmission between the client and the cloud server is reduced, thereby improving the efficiency of video processing.

[0301] The embodiment of the present disclosure provides a video processing method applied to a cloud server, as shown in FIG. 12, which includes:

[0302] S1100, receive a plurality of first images respectively photographed by a plurality of cameras with different view directions in the camera.

[0303] S1110, stitch, anti-shake and achromatic process the plurality of first images to obtain a third image.

[0304] S1120, perform transcoding processing with different code rates on the third image to obtain a first sub-image and a second sub-image.

[0305] S1130, split the first sub-image and the second sub-image according to a preset manner to obtain segments of the first sub-image and the second sub-image in a plurality of time periods.

[0306] S1140, in response to a playing instruction sent by the client, determine a third time of playing the second image according to the playing instruction.

[0307] S1150, send a segment corresponding to the third time in the first sub-image to the client.

[0308] S1160, determine a bandwidth of a network environment in which the client is located.

[0309] S1170, in a case where the bandwidth of the network environment in which the client is located is less than a preset bandwidth, determine a first time of playing the second image.

[0310] S1180, send a segment corresponding to the first time in the first sub-image to the client.

[0311] S1190, in a case where the bandwidth of the network environment in which the client is located is greater than or equal to the preset bandwidth, determine a second time of playing the second image.

[0312] S1200, send a segment corresponding to the second time in the second sub-image to the client.

[0313] In this embodiment, after the camera captures a plurality of first images through a plurality of cameras with different view directions, the plurality of first images are received. The plurality of first images are spliced, anti-shake and achromatic processed to synthesize the plurality of first images to obtain a third image with a panoramic or wide-angle view. The third image is transcoded with different code rates to reduce the volume of the image to obtain first and second sub-images with different volumes. The first and second sub-images are segmented in a preset manner to obtain segments of the first and second sub-images in a plurality of time periods, so that the corresponding segments are sent according to the time of playing the second image. In response to the playing instruction sent by the client, the third time of playing the second image is determined, and the segment corresponding to the third time in the first sub-image is sent to the client to realize the starting playing of the second image. During the playing of the second image, the bandwidth of the network environment where the client is located is determined, and the corresponding image is sent according to the bandwidth of the network environment. In the case that the bandwidth of the network environment where the client is located is less than the preset bandwidth, the first time of playing the second image is determined, and the segment corresponding to the first time in the first sub-image is sent to the client. In the case that the bandwidth of the network environment where the client is located is greater than or equal to the preset bandwidth, the second time of playing the second image is determined, and the segment corresponding to the second time in the second sub-image is sent to the client. During the preprocessing of the first image, the volume of the image is reduced by adjusting one or more of the encoding format, projection format and code rate of the image, and the bandwidth required for the panoramic / wide-angle second image is low, thereby reducing the possibility of image playing being stuck. At the same time, since the first image is preprocessed in the cloud server, the quality of the second image is better than that of the first image, thereby improving the effect of image playing. Moreover, since the volume of the second image is small, the second image occupies less storage space of the cloud server, thereby reducing the occupation of resources of the cloud server.

[0314] The embodiment of the present disclosure provides an image processing method applied to a client, as shown in FIG. 13, the method comprises:

[0315] S1300, receiving a playing instruction of a second image in a cloud server, and sending a playing request to the cloud server based on the playing instruction, the second image being a panoramic image or a wide-angle image, and the second image being generated based on a first image.

[0316] S1400, receiving and playing the second image sent by the cloud server, and the bandwidth required for the second image being less than the bandwidth required for the first image.

[0317] In this embodiment, a playing instruction of the second image in the cloud server is received, and a playing request is sent to the cloud server based on the playing instruction, so that the cloud server sends the second image in response to the playing request. The second image sent by the cloud server is received and played to realize the playing of the second image. Since the panoramic / wide-angle second image is generated based on the first image, the volume of the second image is small, and the required bandwidth is low, thereby reducing the possibility of image playing lag. At the same time, since the first image is preprocessed in the cloud server, the quality of the second image is better than that of the first image, thereby improving the effect of image playing.

[0318] In an embodiment, the second image is obtained based on preprocessing of the first image.

[0319] The preprocessing includes transcoding processing, which is used to adjust one or more of the encoding format, the projection format, and the code rate to reduce the volume of the image.

[0320] In this embodiment, the volume of the image is reduced by adjusting one or more of the encoding format, the projection format, and the code rate, and the required bandwidth of the panoramic / wide-angle second image is low, thereby reducing the possibility of image playing lag.

[0321] In an embodiment, the receiving of the second image sent by the cloud server and the playing in step S1400 can be determined in the following manner:

[0322] The second image is adjusted from a cubic panoramic image or a cubic wide-angle image to a spherical panoramic image or a spherical wide-angle image and played.

[0323] In this embodiment, when the cubic panoramic image or the cubic wide-angle image is played, there may be distortion of the image at different viewing angles, which affects the effect of image playing. By adjusting the second image from a cubic panoramic image or a cubic wide-angle image to a spherical panoramic image or a spherical wide-angle image and playing, the distortion of the image during image playing is eliminated, thereby improving the effect of image playing.

[0324] In an embodiment, the second image includes a first sub-image and a second sub-image, and the volume of the first sub-image is smaller than that of the second sub-image. The receiving of the second image sent by the cloud server and the playing in step S1400 can also be determined in the following manner:

[0325] In the case where the bandwidth of the network environment where the client is located is less than the preset bandwidth, the first sub-image sent by the cloud server is received and played.

[0326] In the case where the bandwidth of the network environment where the client is located is greater than or equal to the preset bandwidth, the second sub-image sent by the cloud server is received and played.

[0327] In the embodiment, when the bandwidth of the network environment where the client is located is less than the preset bandwidth, the client cannot smoothly play the second video with high definition, receives and plays the first sub-video sent by the cloud server. When the bandwidth of the network environment where the client is located is greater than or equal to the preset bandwidth, the client can smoothly play the second video with high definition, receives and plays the second sub-video sent by the cloud server. By receiving and playing different second videos according to the network environment, the second video cannot be smoothly played or the definition of the played second video is low, thereby reducing the possibility of image playing being stuck and improving the effect of image playing.

[0328] In an embodiment, when the second video is a video, the first sub-video and the second sub-video are both composed of segments in multiple time periods. The receiving and playing of the first sub-video sent by the cloud server in the above step is determined by the following method:

[0329] The segment corresponding to the first time in the first sub-video sent by the cloud server is received and played, and the first time is the time when the second video is played.

[0330] The receiving and playing of the second sub-video sent by the cloud server in the above step is determined by the following method:

[0331] The segment corresponding to the second time in the second sub-video sent by the cloud server is received and played, and the second time is the time when the second video is played.

[0332] In the embodiment, since the first sub-video and the second sub-video are both composed of segments in multiple time periods, when the first sub-video or the second sub-video sent by the cloud server is received, the segments can be received one by one. In order to reduce the time required for playing the first sub-video or the second sub-video, the segment corresponding to the first time or the second time, i.e., the segment corresponding to the first time or the second time, is preferentially received and played. By receiving and playing the segment corresponding to the first time in the first sub-video or the segment corresponding to the second time in the second sub-video, only one segment needs to be received to play the second video, thereby reducing the possibility of image playing being stuck.

[0333] In an embodiment, the second video includes the first sub-video and the second sub-video, and the volume of the first sub-video is less than the volume of the second sub-video. When the second video starts to play, the first sub-video sent by the cloud server is received and played.

[0334] In the embodiment, since the second video is not stored in the client when the second video starts to be played, the second video needs to be received before it can be played. To successfully start the second video, a first sub-video with a small volume is received and played when the second video starts to be played. By receiving the first sub-video when the second video starts to be played, the user is prevented from waiting for a long time, thereby improving the reliability of video playing.

[0335] In an embodiment, when the second video is a video, the first sub-video is composed of segments in multiple time periods. The receiving and playing of the first sub-video sent by the cloud server in the step is determined by the following method:

[0336] The segment corresponding to the third time point in the first sub-video sent by the cloud server is received and played, and the third time point is the time point corresponding to the playing request.

[0337] In the embodiment, since the first sub-video is composed of segments in multiple time periods, the first sub-video sent by the cloud server can be received segment by segment. To reduce the time required for starting the second video, the segment corresponding to the time point that the user needs to watch, i.e., the segment corresponding to the playing request, is preferentially received and played. By receiving and playing the segment corresponding to the third time point in the first sub-video, only one segment needs to be received to successfully start the second video, thereby improving the reliability of video playing.

[0338] In an embodiment, during the playing of the second video, the image processing method further includes:

[0339] Caching the part of the second video that has been played.

[0340] In the embodiment, by caching the part of the second video that has been played, the part can be played quickly without receiving the second video when it is played again, thereby improving the user experience.

[0341] In an embodiment, after the receiving and playing of the second video sent by the cloud server in step S1400, the image processing method further includes:

[0342] Based on the pre-operation on the second video, a clip request containing clip data is generated.

[0343] The clip request is sent to the cloud server to perform clip processing on the second video by the cloud server.

[0344] In this embodiment, during the playing of the second video, the user can edit the second video. Based on the pre-operation on the second video, an editing request containing editing data is generated. To prevent the electronic device installed with the client from having insufficient resources to effectively edit the second video, the editing request is sent to the cloud server to edit the second video through the cloud server. Since the cloud server has abundant resources, the video quality of the second video after editing by the cloud server is high, thereby improving the effect of video processing. At the same time, since the pre-operation on the second video is performed before the editing processing, the client only needs to send the editing request to reduce the data transmission time between the client and the cloud server, thereby improving the efficiency of video processing.

[0345] Exemplarily, the pre-operation is an operation that is planned to be performed but not actually performed. The pre-operation can be an editing operation. After the user performs the pre-operation on the second video through the client, the pre-operation is not actually performed on the client. That is, there is no second video after editing. After the cloud server edits the second video, the pre-operation is actually performed on the cloud server. That is, the second video is the video after editing.

[0346] The embodiment of the present disclosure provides a video processing method applied to a client, as shown in FIG. 14, the method comprises:

[0347] S1500, receiving a playing instruction of a second video in a cloud server, and sending a playing request to the cloud server based on the playing instruction.

[0348] S1510, receiving a segment corresponding to the third moment in the first sub-video sent by the cloud server when the second video starts playing.

[0349] S1520, playing the segment corresponding to the third moment in the first sub-video after being adjusted from a cubic panoramic video to a spherical panoramic video.

[0350] S1530, detecting the bandwidth of the network environment.

[0351] S1540, receiving the segment corresponding to the first moment in the first sub-video sent by the cloud server in the case that the bandwidth of the network environment is less than a preset bandwidth.

[0352] S1550, playing the segment corresponding to the first moment in the first sub-video after being adjusted from a cubic panoramic video to a spherical panoramic video.

[0353] S1560, receiving the segment corresponding to the second moment in the second sub-video sent by the cloud server in the case that the bandwidth of the network environment is greater than or equal to the preset bandwidth.

[0354] S1570, playing the segment corresponding to the second time in the second sub-video after adjusting the segment from the cubic panoramic video to the spherical panoramic video.

[0355] S1580, caching the played part of the second video.

[0356] In this embodiment, a playing instruction of the second video in the cloud server is received, and a playing request is sent to the cloud server based on the playing instruction to play the second video on the client. When the second video starts playing, the segment corresponding to the third time in the first sub-video sent by the cloud server is received, and the segment corresponding to the third time in the first sub-video is played after being adjusted from the cubic panoramic video to the spherical panoramic video to realize the starting of the second video. The bandwidth of the network environment in which the client is located is detected to receive the corresponding video according to the bandwidth of the network environment. In the case where the bandwidth of the network environment in which the client is located is less than the preset bandwidth, the segment corresponding to the first time in the first sub-video sent by the cloud server is received, and the segment is played after being adjusted from the cubic panoramic video to the spherical panoramic video to make the second video play smoothly. In the case where the bandwidth of the network environment in which the client is located is greater than or equal to the preset bandwidth, the segment corresponding to the second time in the second sub-video sent by the cloud server is received, and the segment is played after being adjusted from the cubic panoramic video to the spherical panoramic video to play the second video with high clarity. The played part of the second video is cached for calling when the part is played again. Since the panoramic / wide-angle second video is an image after adjustment in one or more of the encoding format, projection format, and code rate, the volume of the second video is small and the required bandwidth is low, thereby reducing the possibility of image playing being stuck. At the same time, since the first video is preprocessed in the cloud server, the quality of the second video is better than that of the first video, thereby improving the effect of image playing.

[0357] The embodiment of the present disclosure provides an image processing method, as shown in FIG. 15, the method comprises:

[0358] S1600, the cloud server receives a plurality of first images respectively photographed by a plurality of cameras with different framing directions in the camera.

[0359] S1610, the cloud server performs stitching, anti-shake and achromatic processing on the plurality of first images to obtain a third image.

[0360] S1620, the cloud server performs transcoding processing with different code rates on the third image to obtain a first sub-video and a second sub-video.

[0361] S1630, the cloud server divides the first sub-video and the second sub-video according to a preset mode to obtain segments of the first sub-video and the second sub-video in a plurality of time periods.

[0362] S1640, the client receives a playing instruction of the second image in the cloud server, and sends a playing request to the cloud server based on the playing instruction.

[0363] S1650, in response to the playing request sent by the client, the cloud server determines a third time of playing the second image according to the playing request.

[0364] S1660, the cloud server sends a segment corresponding to the third time in the first sub-image to the client.

[0365] S1670, the client plays the segment corresponding to the third time in the first sub-image after adjusting the segment from the cubic panoramic image to the spherical panoramic image.

[0366] S1680, the cloud server determines a bandwidth of a network environment in which the client is located.

[0367] S1690, the cloud server determines the first time or the second time of playing the second image according to the bandwidth of the network environment in which the client is located.

[0368] S1700, the cloud server sends the segment corresponding to the first time in the first sub-image or the segment corresponding to the second time in the second sub-image to the client.

[0369] S1710, the client plays the segment corresponding to the first time in the first sub-image or the segment corresponding to the second time in the second sub-image after adjusting the segment from the cubic panoramic image to the spherical panoramic image.

[0370] In this embodiment, the cloud server receives a plurality of first images respectively captured by a plurality of cameras with different framing directions, and performs stitching, anti-shake and achromatic processing on the plurality of first images to obtain a third image with a panoramic / wide-angle. The cloud server performs transcoding processing with different code rates on the third image, and splits the obtained first sub-image and second sub-image according to a preset manner to obtain segments of the first sub-image and the second sub-image in a plurality of time periods to reduce the volume of the segments sent to the client. The client receives a playing instruction for the second image in the cloud server, and sends a playing request to the cloud server based on the playing instruction to play the second image. In response to the playing request sent by the client, the cloud server sends the segment corresponding to the third time in the first sub-image to the client according to the playing request to successfully start playing the second image. The client plays the segment corresponding to the third time in the first sub-image after adjusting the cubic panoramic image to a spherical panoramic image to avoid distortion of the picture played by the second image. The cloud server determines the bandwidth of the network environment in which the client is located, and sends the corresponding segment in the first sub-image or the second sub-image to the client to play the second image smoothly or in high definition. The client plays the segment corresponding to the first time in the first sub-image or the segment corresponding to the second time in the second sub-image after adjusting the cubic panoramic image to a spherical panoramic image to avoid distortion of the picture played by the second image. In the process of preprocessing the first image, the volume of the image is reduced by adjusting one or more of the encoding format, projection format and code rate of the image, and the bandwidth required for the panoramic / wide-angle second image is low, thereby reducing the possibility of image playback freezing. At the same time, since the first image is preprocessed in the cloud server, the quality of the second image is better than that of the first image, thereby improving the effect of image playback. Moreover, since the volume of the second image is small, the second image occupies less storage space in the cloud server, thereby reducing the occupation of resources in the cloud server.

[0371] In the process of image playback, the user can edit the image through the client, and process or share the edited image through the cloud server.

[0372] Then, the method for video derivation in the image processing scene of the present disclosure is described. The image file includes a first video.

[0373] The embodiment of the present disclosure provides a video processing method applied to a cloud server, as shown in FIG. 16, the method comprises the following steps:

[0374] S1800, in response to the processing task sent by the client based on the first video, obtaining a parameter set corresponding to the processing task.

[0375] S1900, processing the first video based on the parameter set to obtain a second video, wherein the client can be in an off state during the processing.

[0376] In this embodiment, in response to the processing task sent by the client based on the first video, the parameter set corresponding to the processing task is obtained, and the first video is processed by the parameter set to process the second video. Since the first video is processed in the cloud server, the client can be in an off state, thereby improving the user experience. At the same time, since the cloud server has abundant resources, the second video processed by the cloud server has high quality, thereby improving the effect of video processing. Moreover, since the client only needs to send the parameter set before processing the second video to reduce the data transmission time between the client and the cloud server, the efficiency of video processing is improved.

[0377] In an embodiment, the parameter set is generated based on a pre-operation of the client on the first video in the cloud server, and the pre-operation is an operation that is planned to be executed but not actually executed.

[0378] In this embodiment, after the user performs the pre-operation on the first video in the cloud server through the client, the video after the pre-operation is processed by the cloud server, and the client generates a processing task. The first video is processed by the pre-operation that is planned to be executed but not actually executed, so that the first video can be processed in the cloud server rather than in the client, thereby improving the effect of video processing.

[0379] Illustratively, the pre-operation can be a clipping operation. After the user performs the pre-operation on the first video through the client, the pre-operation is not actually executed in the client. That is, there is no video after the pre-operation on the first video. After the second video is processed in the cloud server, the pre-operation is actually executed in the cloud server. That is, the second video is the video after the pre-operation on the first video.

[0380] Illustratively, the processing task, the first video and the second video are bound to the same account, so that the user can perform the pre-operation on the first video and play the second video in the clients of different electronic devices.

[0381] In an embodiment, after the processing of the first video based on the parameter set in step S1900 to obtain the second video, the video processing method further comprises:

[0382] The obtained second video is delivered to the client.

[0383] In the process of delivering the second video to the client, the client does not need to be opened.

[0384] In the embodiment, after the second video is processed, the second video is sent to the client, so that the user plays or downloads the second video through the client. Since the second video is sent to the client in a non-perceptual manner without opening the client, the user experience is improved.

[0385] In an embodiment, the sending of the obtained second video to the client in the above step can be determined by the following method:

[0386] The link address corresponding to the second video is sent to the client, so that the client downloads or plays the second video based on the link address.

[0387] In the embodiment, by sending the link address corresponding to the second video to the client, the user only needs to click the link address on the client to download or play the second video, thereby reducing the complexity of downloading or playing the second video, and improving the user experience.

[0388] In an embodiment, the sending of the obtained second video to the client in the above step can also be determined by the following method:

[0389] The thumbnail corresponding to the second video is sent to the client, so that the client downloads or plays the second video based on the thumbnail.

[0390] In the embodiment, by sending the thumbnail corresponding to the second video to the client, the user only needs to click the thumbnail on the client to download or play the second video, thereby reducing the complexity of downloading or playing the second video, and improving the user experience. Moreover, since the thumbnail can intuitively reflect the picture of the second video, sending the thumbnail can avoid the user from downloading or playing the second video by mistake, thereby improving the reliability of video processing.

[0391] For example, for the processed second video, the second video can be stored in a different directory from the first video in the cloud server, so as to avoid the user from downloading or playing the first video by mistake.

[0392] In an embodiment, when the number of processing tasks is multiple, multiple second videos corresponding to the multiple processing tasks are processed in parallel.

[0393] Each processing task corresponds to a parameter set.

[0394] In the embodiment, since the cloud server has abundant resources, when the number of processing tasks is multiple, multiple second videos are processed in parallel. By processing the second videos in parallel according to the corresponding parameter sets, the time required for processing the second videos is reduced, thereby improving the efficiency of video processing.

[0395] In an embodiment, as shown in FIG. 17, the processing of the first video based on the parameter set in step S1900 to obtain the second video is determined in the following manner:

[0396] S1910, determining the rendering data based on the parameter set.

[0397] S1920, processing the first video based on the rendering data to obtain the second video.

[0398] In the embodiment, the rendering data is determined based on the parameter set since the corresponding parameter set is different under different pre-operations. The first video is processed based on the rendering data to perform the pre-operation on the first video to obtain the second video. The first video is processed based on the rendering data determined based on the parameter set, and the rendering data can be quickly and accurately added to the first video to perform the pre-processing on the first video, thereby improving the efficiency of video processing.

[0399] In an embodiment, the determination of the rendering data based on the parameter set in step S1910 is determined in the following manner:

[0400] In the case where the type of the parameter set is the first type, the data in the parameter set is transcoded to obtain the rendering data.

[0401] In the case where the type of the parameter set is the second type, a preset program is called to load the parameter set for rendering to obtain the rendering data.

[0402] In the embodiment, in the case where the type of the parameter set is the first type, the pre-operation is implemented in a simple manner without algorithm processing, and the data in the parameter set is transcoded to obtain the rendering data. In the case where the type of the parameter set is the second type, the pre-operation is implemented in a complex manner with algorithm processing, and the preset program is called to load the parameter set for rendering to obtain the rendering data. The rendering data is obtained in the corresponding manner according to the type of the parameter set, which can reduce the complexity of obtaining the rendering data and avoid errors of the rendering data, thereby improving the reliability of video processing.

[0403] For example, the first type can be a time cutting type, for example, a type corresponding to an operation of adjusting the time length of the first video or cutting the first video into multiple segments. The second type can be a type of playing at a speed, a type of selecting a view angle, for example, a type corresponding to an operation of adjusting the playing rate of the first video or adjusting the view angle of the first video at different time.

[0404] In an embodiment, as shown in FIG. 18, the determination of the rendering data by calling the preset program to load the parameter set for rendering in the above step is determined in the following manner:

[0405] S1911, integrating a preset kernel in the preset program.

[0406] S1912, loading the page of the preset program by the preset kernel.

[0407] S1913, rendering the page of the preset program by the preset kernel based on the parameter set.

[0408] S1914, obtaining the rendering data rendered from the preset program.

[0409] In this embodiment, the preset kernel is integrated in the preset program, and the preset kernel can perform rendering of a picture, acceleration of a graphics processor, transmission of data, and display of a graphical user interface, so that the cloud server supports the same rendering mode as the electronic device. The page of the preset program is loaded by the preset kernel, so that the page can display and update the rendered picture. The page is rendered by the preset kernel based on the parameter set, and the rendered picture is displayed and updated on the page to generate rendering data. After the rendering of the page is completed, the rendering data rendered from the preset program is obtained to process the first video by using the rendering data. The rendering data is obtained by rendering the page of the preset program by the preset kernel, and the cloud server can achieve the same rendering effect as the electronic device, thereby improving the reliability of video processing.

[0410] In an embodiment, the preset program is a browser, the preset kernel is a Chromium kernel, and the page of the preset program is a page made based on an HTML5 language.

[0411] In this embodiment, since the cloud server cannot support the same rendering mode as the electronic device on the page made based on the HTML5 language, the kernel of the browser needs to be adjusted to make the cloud server achieve the same rendering effect as the electronic device. By setting the kernel of the browser as the Chromium kernel, the cloud server can render the page of the browser in the same rendering mode as the electronic device, thereby improving the reliability of video processing.

[0412] For example, in the Chromium kernel, a rendering process (Render process) responsible for rendering, a graphics processor process responsible for graphics processor acceleration, and a main process (Browser process) for managing a graphical user interface and data input and output can be integrated. Since the page of the browser needs to be dynamically updated during rendering by the Chromium kernel, JavaScript object registration can be used to enable interaction between JavaScript and Native.

[0413] For example, as shown in FIG. 19-1, the picture rendered by the page of the browser by the Chromium kernel can be a dashboard picture. As shown in FIG. 19-2, after the second video processing, the picture of the second video is a picture obtained by adding the dashboard picture to the corresponding picture of the first video.

[0414] In an embodiment, as shown in FIG. 20, the processing of the first video based on the rendering data in step S1920 to obtain the second video is determined by the following method:

[0415] S1921, the first video is unpacked and decoded to obtain a plurality of first video frame data.

[0416] S1922, according to the rendering data, each first video frame data is rendered to obtain a plurality of second video frame data.

[0417] S1923, each second video frame data is encoded and packaged to obtain the second video.

[0418] In this embodiment, the first video is unpacked and decoded to obtain a plurality of first video frame data, so as to split the first video into a plurality of video frames. According to the rendering data, each first video frame data is rendered to obtain a plurality of second video frame data, so as to add the rendering data to each video frame. Each second video frame data is encoded and packaged to obtain the second video, so as to combine each video frame after rendering. By adding the rendering data to the first video frame by frame, it is avoided that some video frames are missed to affect the user's watching, thereby improving the reliability of video processing.

[0419] Exemplarily, the first video frame data can be YUV data.

[0420] In an embodiment, the storage protocol of the parameter set is Protocol Buffers protocol.

[0421] In this embodiment, by storing the parameter set in Protocol Buffers protocol, the parameter set can be parsed on different types of devices and can be transmitted at a faster speed, thereby improving the reliability of video processing.

[0422] In an embodiment, the parameter set includes one or more of the following: speed playback data, perspective selection data of panoramic video, time clipping data, dynamic map data and picture-in-picture data.

[0423] In this embodiment, the user can fast or slow play the first video to present different picture effects by the speed play data. The user can directly watch the wonderful viewfinder picture in the panoramic video without angle selection of the panoramic video by the view angle selection data of the panoramic video. The user can cut the wonderful segment in the first video to select the wonderful picture in the first video by the time cutting data. The dynamic map can be superimposed on the first video to increase different special effects in the first video by the dynamic map data. The multiple pictures with different angles in the first video can be displayed at the same time to allow the user to overview the first video by the picture-in-picture data. Since the parameter set includes one or more of the multiple data, the second video can present the corresponding picture under the action of the parameter set, thereby improving the video processing effect.

[0424] In an embodiment, the speed play data is generated by the user's speed play operation on the first video during the playing of the first video on the client.

[0425] In this embodiment, the user can fast or slow play the wonderful picture to adjust the picture playing effect and process by the speed play operation during the playing of the first video on the client, thereby improving the video processing effect.

[0426] Exemplarily, the speed play operation can be that the user clicks the speed play button to select the corresponding playing rate, or the user slides the speed play bar to select the corresponding playing rate.

[0427] In an embodiment, the view angle selection data is generated by the user's view angle selection operation on the first video during the playing of the first video on the client.

[0428] In this embodiment, the user can select and process the wonderful view angle in the panoramic video during the playing of the first video on the client, thereby improving the video processing effect.

[0429] Exemplarily, the view angle selection operation can be that the user drags the picture of the first video to adjust the view angle of the picture, or the user slides the picture of the first video to adjust the view angle of the picture.

[0430] In an embodiment, the time cutting data is generated by the user's cutting operation on the first video at different time points during the playing of the first video on the client.

[0431] In this embodiment, the user can retain and process the wonderful segment by the cutting operation during the playing of the first video on the client, thereby improving the video processing effect.

[0432] Exemplarily, the clipping operation can be to enable the user to click different time points of the progress bar, and to retain or delete a segment between two adjacent time points.

[0433] In an embodiment, the dynamic map data is generated by the user performing a dynamic map adding operation on the first video during the playing of the first video on the client.

[0434] In this embodiment, since the user can add a dynamic map to a picture with a feature to improve the effect of the picture and process during the playing of the first video on the client, the effect of video processing is improved.

[0435] Exemplarily, the dynamic map adding operation can enable the user to select a dynamic map to be added and set the dynamic map at a corresponding position in the first video.

[0436] In an embodiment, the picture-in-picture data is generated by the user performing a picture-in-picture operation on the first video during the playing of the first video on the client.

[0437] In this embodiment, since the user displays pictures with different view directions at the same video frame to increase the visual range of the picture and process during the playing of the first video on the client, the effect of video processing is improved.

[0438] Exemplarily, the picture-in-picture operation can enable the user to select a picture-in-picture setting and select a picture corresponding to a view angle of the picture-in-picture to be set.

[0439] In an embodiment, during the processing of the second video, the video processing method further includes:

[0440] Every interval of a preset time, determine the progress of the second video processing.

[0441] In response to a query request sent by the client, send the progress of the second video processing to the client.

[0442] In this embodiment, since the user can query the progress of the second video processing, the progress of the second video processing is determined every interval of a preset time. In response to a query request sent by the client, the progress of the second video processing is sent to the client, so that the user can view the progress of the second video processing through the client. By determining and sending the progress of the second video processing, the user can estimate the time required for the second video processing, thereby improving the reliability of video processing. At the same time, since the progress of the second video processing is determined once every interval of a preset time, the resources of the cloud server are avoided from being occupied by frequent determinations, thereby further improving the reliability of video processing.

[0443] Exemplarily, the preset time can be in a range of 1s to 60s. The preset time can be 2s, 10s, 30s, etc.

[0444] Exemplarily, every interval of a preset time, in addition to the progress of the second video processing can be determined, the remaining time of the second video processing can also be determined. In response to the query request sent by the client, in addition to the progress of the second video processing can be sent to the client, the remaining time of the second video processing can also be sent to the client so that the user determines the time to be waited.

[0445] In an embodiment, after the parameter set corresponding to the processing task is acquired in step S1800, the video processing method further comprises:

[0446] adding the processing task corresponding to the parameter set to the processing queue.

[0447] The processing of the first video based on the parameter set in step S1900 to obtain the second video can also be determined in the following way:

[0448] obtaining the second video based on the parameter set in the processing queue and the first video.

[0449] After the processing of the first video based on the parameter set in step S1900 to obtain the second video, the video processing method further comprises:

[0450] deleting the processing task from the processing queue.

[0451] In this embodiment, since the cloud server can process multiple second videos in parallel, to avoid confusion in the processing of the second video, the processing task corresponding to the parameter set is added to the processing queue so that the second video corresponds to a unique processing task. In the process of processing the second video, the second video is obtained based on the parameter set in the processing queue and the first video to avoid confusion in the processing of the second video. After the second video is obtained, the processing task is deleted from the processing queue to avoid repeated processing of the second video and occupation of the resources of the cloud server. By processing the second video based on the processing task in the processing queue, each second video is processed only once to avoid occupation of the resources of the cloud server and to avoid omission of the second video, thereby improving the reliability of video processing.

[0452] The embodiment of the present disclosure provides a video processing method applied to a cloud server, as shown in FIG. 21, the method comprises:

[0453] S2000, in response to the processing task sent by the client based on the first video, acquiring the parameter set corresponding to the processing task.

[0454] S2010, adding the processing task corresponding to the parameter set to the processing queue.

[0455] S2020, in the case where the type of the parameter set in the processing queue is a first type, transcoding the data of the parameter set to obtain rendering data.

[0456] S2030, in the case where the type of the parameter set in the processing queue is the second type, integrating a preset kernel in the preset program.

[0457] S2040, loading a page of the preset program by the preset kernel.

[0458] S2050, rendering the page of the preset program by the preset kernel based on the parameter set.

[0459] S2060, obtaining rendering data rendered from the preset program.

[0460] S2070, performing decapsulation and decoding on the first video to obtain a plurality of first video frame data.

[0461] S2080, rendering each first video frame data according to the rendering data to obtain a plurality of second video frame data.

[0462] S2090, encoding and encapsulating each second video frame data to obtain a second video.

[0463] S2100, deleting the processing task from the processing queue.

[0464] S2110, sending a link address corresponding to the second video to the client.

[0465] In this embodiment, in response to the processing task sent by the client based on the first video, the parameter set corresponding to the processing task is obtained to obtain the data corresponding to the pre-operation. The processing task corresponding to the parameter set is added to the processing queue to process the second video based on the processing queue. In the case that the type of the parameter set in the processing queue is the first type, the data of the parameter set is transcoded to obtain the rendering data. In the case that the type of the parameter set in the processing queue is the second type, the preset kernel is integrated in the preset program, and the rendering is performed on the page of the preset program based on the preset kernel to obtain the rendering data. The first video is unpacked and decoded to obtain a plurality of first video frame data, so as to split the first video into a plurality of video frames. According to the rendering data, each first video frame data is rendered to obtain a plurality of second video frame data. Each second video frame data is encoded and packaged to obtain the second video, so that each video frame of the second video has a corresponding rendering effect. The processing task is deleted from the processing queue to avoid repeated processing of the second video. The link address corresponding to the second video is sent to the client to enable the user to download the second video through the client. Since the first video is processed in the cloud server, the client can be in an off state, thereby improving the user experience. At the same time, since the cloud server has rich resources, the second video processed by the cloud server has high quality, thereby improving the effect of video processing. Moreover, since the parameter set is only needed to be sent by the client before processing the second video to reduce the data transmission time between the client and the cloud server, the efficiency of video processing is improved.

[0466] The embodiment of the present disclosure provides a video processing method, which is applied to a client, as shown in FIG. 22, the method comprises:

[0467] S2200, in response to the pre-operation of the first video in the cloud server, a parameter set corresponding to the pre-operation is generated, and the pre-operation is an operation that is planned to be executed but not actually executed.

[0468] S2300, in response to the processing instruction of the pre-operation of the first video, a processing task is generated, and the processing task is sent to the cloud server, the processing task includes the parameter set, the cloud server is used to process the first video based on the parameter set to obtain the second video, and in the processing process, the client can be in an off state.

[0469] In this embodiment, in response to the pre-operation on the first video in the cloud server, the user performs the pre-operation on the first video, and a parameter set corresponding to the pre-operation is generated. In response to the processing instruction on the second video, a processing task is generated and sent to the cloud server to make the cloud server prepare the processing of the second video. Since the first video is processed in the cloud server, the client can be in an off state, thereby improving the user experience. At the same time, since the cloud server has abundant resources, the second video processed by the cloud server has high quality, thereby improving the effect of video processing. Moreover, since the client only needs to send the parameter set before processing the second video to reduce the data transmission time between the client and the cloud server, the efficiency of video processing is improved.

[0470] In an embodiment, after the processing task is sent to the cloud server in step S2300, the video processing method further includes:

[0471] receiving a link address corresponding to the second video sent by the cloud server.

[0472] based on the link address, downloading or playing the second video.

[0473] In this embodiment, since the cloud server sends the link address corresponding to the second video to the client after processing the second video, the link address corresponding to the second video sent by the cloud server is received. Based on the link address, the user can download or play the second video. By downloading or playing the second video in the form of a link address, the way of downloading or playing the second video is simple, thereby improving the user experience.

[0474] For example, in addition to receiving the link address corresponding to the second video sent by the cloud server, a thumbnail corresponding to the second video sent by the cloud server can also be received. Based on the thumbnail, the second video is downloaded or played.

[0475] In an embodiment, before receiving the link address corresponding to the second video sent by the cloud server in the above step, the video processing method further includes:

[0476] sending a query request to the cloud server every interval of a preset time.

[0477] receiving the progress of the processing of the second video sent by the cloud server.

[0478] displaying the progress of the processing of the second video.

[0479] In this embodiment, since the user can want to query the progress of the second video processing, a query request is sent to the cloud server every interval preset time. In response to the query request sent by the client, the cloud server sends the progress of the second video processing to the client, and the progress of the second video processing sent by the cloud server is received and displayed. By receiving and displaying the progress of the second video processing, the user can estimate the time required for the second video processing, thereby improving the reliability of the video processing. At the same time, since the query request is sent every interval preset time, the use of the electronic device is not affected by frequent queries, thereby further improving the reliability of the video processing.

[0480] Exemplarily, in addition to receiving and displaying the progress of the second video processing sent by the cloud server, the remaining time of the second video processing sent by the cloud server can also be received and displayed.

[0481] The embodiment of the present disclosure provides a video processing method, which is applied to a client, as shown in FIG. 23, the method comprises:

[0482] S2400, in response to the pre-operation of the first video in the cloud server, a parameter set corresponding to the pre-operation is generated.

[0483] S2410, in response to the processing instruction of the pre-operation of the first video, a processing task is generated and sent to the cloud server.

[0484] S2420, a query request is sent to the cloud server every interval preset time.

[0485] S2430, the progress of the second video processing sent by the cloud server is received.

[0486] S2440, the progress of the second video processing is displayed.

[0487] S2450, the link address corresponding to the second video sent by the cloud server is received.

[0488] S2460, based on the link address, the second video is downloaded.

[0489] In this embodiment, in response to the pre-operation on the first video in the cloud server, the user performs the pre-operation on the first video, and a parameter set corresponding to the pre-operation is generated. In response to the processing instruction on the second video, a processing task is generated and sent to the cloud server for processing the second video by the cloud server. During the processing of the second video, a query request is sent to the cloud server every interval of a preset time. The progress of the processing of the second video sent by the cloud server is received and displayed, so that the user knows the progress of the processing of the second video. After the processing of the second video, a link address corresponding to the second video sent by the cloud server is received, so that the user knows that the processing of the second video is completed and can be downloaded. Since the first video is processed in the cloud server, the client can be in a closed state, thereby improving the user experience. At the same time, since the cloud server has rich resources, the second video processed by the cloud server has high quality, thereby improving the effect of video processing. Moreover, since the client only needs to send the parameter set before processing the second video to reduce the data transmission time between the client and the cloud server, the efficiency of video processing is improved.

[0490] The embodiment of the present disclosure provides a video processing method, as shown in FIG. 24, the method comprises:

[0491] S2500, in response to the pre-operation on the first video in the cloud server, the client generates a parameter set corresponding to the pre-operation.

[0492] S2510, in response to the processing instruction of the pre-operation on the first video, the client generates a processing task.

[0493] S2520, the client sends the processing task to the cloud server.

[0494] S2530, the cloud server processes the first video based on the parameter set in the processing task, and obtains the second video.

[0495] S2540, the cloud server sends a link address corresponding to the second video to the client.

[0496] S2550, the client displays the link address.

[0497] S2560, in response to the click operation on the link address, the client downloads the second video.

[0498] In this embodiment, in response to the pre-operation on the first video in the cloud server, the user performs the pre-operation on the first video, and the client generates a parameter set corresponding to the pre-operation. In response to the processing instruction of the second video, the user needs to process the second video, and the client generates and sends the processing task to the cloud server. The cloud server processes the first video based on the parameter set to obtain the second video, and sends the link address of the second video to the client. The client displays the link address and downloads the second video after clicking the link address. Since the first video is processed in the cloud server, the client can be in an off state, thereby improving the user experience. At the same time, since the cloud server has abundant resources, the second video processed by the cloud server has high quality, thereby improving the effect of video processing. Moreover, since the client only needs to send the parameter set before processing the second video to reduce the data transmission time between the client and the cloud server, the efficiency of video processing is improved.

[0499] Finally, the method for sharing a video in an image processing scenario of the present disclosure is described. The image file includes a first video, and the first video is a target video.

[0500] In one example embodiment, a video sharing method is provided, applied to a cloud server. As shown in FIG. 25, the video sharing method includes:

[0501] S2600, in response to the sharing task sent by the client, obtaining sharing data corresponding to the sharing task, the sharing data including data for determining the display effect of the target video.

[0502] In step S2600, the client may, for example, be a platform or application supporting functions such as video uploading, video editing, and video sharing. The client can send a sharing task to the cloud server according to the user's sharing requirements. Different sharing tasks correspond to different target videos and sharing operations on the target videos. When the cloud server receives or recognizes the sharing task sent by the client, it obtains the sharing data corresponding to the sharing task.

[0503] The sharing data is generated in the client, and the sharing data includes data for determining the display effect of the target video, that is, the video data of the target video does not actually change when the sharing data is generated, nor does it have the display effect expected to be displayed in the subsequent playback process at this time. Instead, the display effect expected to be displayed by the target video under the corresponding sharing task can be determined in the subsequent process, so as to display the determined display effect when the target video is played on the access end.

[0504] Specifically, the user operation is acquired in the process of playing the target video on the client, the playing of the target video is controlled based on the user operation, the playing path data of the target video is recorded when the target video is played, the playing path includes playing perspective, playing speed, playing time length, playing mode, playing special effect, etc., and the sharing data is generated based on the recorded playing path data. The display effect on the client is the display effect that the user wants to share. For example, the perspective data that the user wants to share is acquired on the client, the operation mode of the user is that the user displays the perspective on the client, and then the client automatically records the displayed perspective data. When the access end accesses, the perspective data is directly used to make the target video display the corresponding perspective to the sharer.

[0505] In step S2700, the access end may be a browser or a platform supporting video playing function. When the access end accesses the sharing task, the cloud server can send the acquired sharing data to the access end, so that the access end can play the target video according to the sharing data, and display the display effect determined by the sharing data in the process of playing the target video, so as to apply the display effect to the target video.

[0506] In step S2700, the access end may be a browser or a platform supporting video playing function. When the access end accesses the sharing task, the cloud server can send the acquired sharing data to the access end, so that the access end can play the target video according to the sharing data, and display the display effect determined by the sharing data in the process of playing the target video, so as to apply the display effect to the target video.

[0507] For example, if the user who shares the video wants to control the playing speed of the target video, the corresponding sharing operation can be performed on the target video through the client, and the corresponding sharing data can be generated according to the sharing operation. When the user sends the sharing task through the client, the cloud server can acquire the sharing data corresponding to the sharing task. When the user who is the object of video sharing accesses the sharing task through the access end, the cloud server can send the sharing data to the access end. Since the sharing data includes data for determining the display effect of the target video, the display effect can be determined according to the sharing data when the target video is played on the access end, and the target video can be played at the playing speed controlled by the video sharer.

[0508] It can be understood that, unlike the related art of sharing the completed edited video, the video sharing method of the present application actually shares the original target video and the corresponding sharing data, and adds the display effect determined by the sharing data to the target video when the target video is played, without the need for local download and re-upload of the target video, thereby reducing the transcoding work.

[0509] In this embodiment, when the client sends the sharing task, the sharing data corresponding to the sharing task is obtained, and when the sharing task is accessed by the access end, the sharing data is sent to the access end, so that the display effect is displayed when the target video is played by the access end, and the sharing of the target video and the addition of the display effect are realized. The sharing data includes data for determining the display effect of the target video, and the display effect can be applied to the target video through the sharing data when the target video is played by the access end, without repeated downloading and uploading or complex transcoding process of the target video, thereby reducing the consumption of computing resources and time and improving the user experience.

[0510] In some embodiments, as shown in FIG. 26, the sharing data is used to perform the following steps in the access end:

[0511] S2810, based on the sharing data, determine the video playing instruction information, which can be recognized by the player of the access end.

[0512] In step S2810, after receiving the sharing data sent by the cloud server, the access end can determine the video playing instruction information which can be recognized by the player of the access end according to the sharing data. The video playing instruction information can control the player to play the video in a specific mode or effect. For example, the video playing instruction information can control the player to play the video at a specific playback speed.

[0513] S2820, based on the video playing instruction information, control the player to play the target video, so that the target video displays the display effect corresponding to the sharing data.

[0514] In step S2820, the access end can control the player to play the target video in the manner indicated by the video playing instruction information according to the video playing instruction information. Since the video playing instruction information corresponds to the sharing data, and the sharing data includes data for determining the display effect of the target video, the target video can display the display effect corresponding to the sharing data, so as to realize the display of the display effect in the target video.

[0515] In this embodiment, after receiving the sharing data sent by the cloud server, the access end can determine the video playing instruction information which can be recognized by the player of the access end according to the sharing data, and control the player to play the target video in the manner indicated by the video playing instruction information according to the video playing instruction information, so that the target video displays the display effect corresponding to the sharing data, and realizes the display of the display effect in the target video. The display effect is applied to the target video through the sharing data when the target video is played by the access end, thereby reducing the consumption of computing resources and time and improving the user experience.

[0516] In some embodiments, the cloud server is in communication connection with the shooting device, and the target video is shot by the shooting device and uploaded to the cloud server.

[0517] The cloud server is in communication connection with the shooting device, which may, for example, include a mobile phone, a camera or other electronic device with a video shooting function. The shooting device can automatically upload the shot target video to the cloud server in real time, or upload the shot target video to the cloud server based on a user's upload operation, thereby realizing storage of the target video in the cloud server.

[0518] In this embodiment, the cloud server is in communication connection with the shooting device, and the shooting and uploading of the target video can be realized through the shooting device, so that the target video can be stored in the cloud server, facilitating subsequent sharing of the target video and saving storage space of the target video in the shooting device, thereby improving user experience.

[0519] In some embodiments, the display effect includes any one or a combination of any multiple of the following effects: a fast playback effect, a view selection effect, a time length reduction effect, a direction information display effect, a picture-in-picture effect, a color enhancement effect, and a shake reduction effect.

[0520] The display effect displayed when the target video is played at the access end can include any one or a combination of any multiple of the following effects: a fast playback effect, a view selection effect, a time length reduction effect, a direction information display effect, a picture-in-picture effect, a color enhancement effect, and a shake reduction effect. Different display effects correspond to different sharing operations and different types of sharing data, and the corresponding display effect can be determined according to different types of sharing data to add different display effects to the target video.

[0521] The fast playback effect may, for example, correspond to a sharing operation for controlling the playback speed of the target video. When the display effect includes the fast playback effect, the sharing data includes fast playback data, and the target video displays the fast playback effect, the target video can be played at different speeds, such as 0.5 times, 1.5 times, 2 times, etc., to realize acceleration or deceleration of video playback.

[0522] The view selection effect may, for example, correspond to a sharing operation for controlling the current view of the target video. When the display effect includes the view selection effect, the sharing data includes view selection data, and the target video displays the view selection effect, the target video can play video content under different shooting views corresponding to a panoramic video, to realize selection of the current playback view.

[0523] The time length reduction effect may correspond to a sharing operation of cropping the target video. When the display effect includes the time length reduction effect, the sharing data includes time length reduction data. When the target video displays the time length reduction effect, only part of the video content in the complete target video can be played to reduce the video time length.

[0524] The orientation information display effect may correspond to a sharing operation of displaying orientation information. When the display effect includes the orientation information display effect, the sharing data includes orientation information display data. When the target video displays the orientation information display effect, the orientation information corresponding to the video content can be displayed in a specific area in the target video to realize visual display of the orientation information.

[0525] The picture-in-picture effect may correspond to a sharing operation of displaying a picture-in-picture. When the display effect includes the picture-in-picture effect, the sharing data includes picture-in-picture data. When the target video has the picture-in-picture effect, different video content can be displayed in a specific area in the target video to realize synchronous display of additional video content.

[0526] The color enhancement effect may correspond to a sharing operation of enhancing color. When the display effect includes the color enhancement effect, the sharing data includes algorithm data. When the target video displays the color enhancement effect, the color of the target video can be adjusted to make the video picture color of the target video more rich and realistic.

[0527] The anti-shake effect may correspond to a sharing operation of stabilizing the picture. When the display effect includes the anti-shake effect, the sharing data includes algorithm data. When the target video displays the anti-shake effect, the picture jitter of the target video can be reduced or eliminated to some extent to make the video picture of the target video more stable.

[0528] In this embodiment, any one or a combination of multiple of the speed play effect, the view angle selection effect, the time length reduction effect, the orientation information display effect, the picture-in-picture effect, the color enhancement effect, and the anti-shake effect is used as the display effect when the target video is played on the access terminal, which can meet the sharing demand of the video sharer, add rich and diverse and powerful display effects to the target video when the video sharing object plays the target video on the access terminal, and improve the user experience.

[0529] In some embodiments, if the display effect includes the speed play effect, the sharing data includes speed play data.

[0530] If the display effect displayed when the target video is played on the access terminal includes the speed play effect, the sharing data obtained and sent to the access terminal by the cloud server includes speed play data, and the speed play data is generated according to the sharing operation of controlling the play speed of the target video.

[0531] As shown in FIG. 27, the speed play data is used to perform the following steps in the access end:

[0532] In step S2910, based on the speed play data, the target video includes a plurality of preset video segments and video segment information corresponding to each preset video segment, and the video segment information is used to represent the start time, end time and play speed of the corresponding preset video segment.

[0533] In step S2910, after the access end receives the speed play data sent by the cloud server, the speed play data can be parsed, the completed target video is split into a plurality of preset video segments, and the video segment information corresponding to each preset video segment is obtained. The video segment information is used to represent the start time, end time and set play speed of the corresponding preset video segment in the target video, so that each preset video segment has a corresponding play speed.

[0534] In step S2920, based on the video segment information, the target video is played at the play speed corresponding to the current play time.

[0535] In step S2920, when playing the target video in the access end, the target video can be played at the play speed corresponding to the current play time of the target video according to the video segment information, so that the target video displays the speed play effect.

[0536] For example, according to the speed play data, the preset video segments are four, the start time and end time of the four preset video segments in the target video are 0-90 seconds, 90-180 seconds, 180-270 seconds and 270-360 seconds respectively, and the play speeds of the four preset video segments are 1 times, 0.5 times, 1.5 times and 2 times respectively. When playing the target video, if the current play time of the target video is 150 seconds, it can be determined that the current play time is located in the second preset video segment, and the target video can be played at 0.5 times according to the video segment information of the second preset video segment.

[0537] In this embodiment, if the display effect displayed when the access end plays the target video includes the speed play effect, the sharing data includes the speed play data, the access end can determine the plurality of preset video segments included in the target video and the video segment information corresponding to each preset video segment according to the speed play data sent by the cloud server, and play the target video at the play speed corresponding to the current play time according to the video segment information. The speed play effect is applied to the target video when the target video is played in the access end, which reduces the consumption of computing resources and time and improves the user experience.

[0538] In some embodiments, the video segment information is also used to represent the actual play duration of the corresponding preset video segment.

[0539] Since each preset video segment has a corresponding playing speed, the actual playing time length of each preset video segment is different from the original playing time length of the preset video segment in the target video, and the video segment information corresponding to each preset video segment is also used to represent the actual playing time length of the preset video segment. The actual playing time length of a preset video segment can be calculated by subtracting the start time of the preset video segment from the end time of the preset video segment in the target video, and then dividing the obtained difference by the playing speed of the preset video segment.

[0540] The video segment information is also used to perform the following steps in the access terminal:

[0541] Based on the video segment information, the actual playing time corresponding to the current playing time is determined, and the actual playing time is displayed when the target video is played.

[0542] According to the video segment information, the actual playing time corresponding to the current playing time of the target video can be determined, and the actual playing time is displayed when the target video is played, so that the user can directly observe the actual playing time of the target video after acceleration or deceleration. For example, it is determined that the preset video segment in which the current playing time of the target video is located is the Nth preset video segment, the current playing time is subtracted from the start time of the Nth preset video segment in the target video, then the obtained difference is divided by the playing speed corresponding to the Nth preset video segment, to obtain the actual playing time length of the preset video segment from the start time to the current playing time, and finally the actual playing time length is added to the actual playing time length of the first to N-1th preset video segments to obtain the result, which is the actual playing time corresponding to the current playing time.

[0543] In this embodiment, the video segment information is also used to represent the actual playing time length of the corresponding preset video segment, and the actual playing time corresponding to the current playing time can be determined according to the video segment information, and the actual playing time is displayed when the target video is played, so that the user can intuitively observe the actual playing time of the target video after adding the speed-up playing effect, which facilitates the user to understand the actual time length of playing the target video and improves the user experience.

[0544] In some embodiments, if the display effect includes a perspective selection effect, the target video is a panoramic video, and the sharing data includes perspective selection data.

[0545] If the display effect carried by the target video when played at the access end includes a perspective selection effect, the target video stored in the cloud server is a panoramic video with multiple different shooting angles, and the sharing data obtained by the cloud server and sent to the access end includes perspective selection data. The perspective selection data is generated according to a sharing operation for controlling the current perspective of the target video. The sharing operation for controlling the current perspective of the target video may be, for example, an operation of freely selecting the field of view (FOV) of the panoramic video by double-finger manipulation or shaking and rotating the device corresponding to the client. The perspective selection data may be, for example, Freecapture data.

[0546] As shown in FIG. 28, the perspective selection data is used to perform the following steps in the access end:

[0547] S3010, determining the current perspective corresponding to the current playing time based on the perspective selection data.

[0548] In step S3010, the target video corresponds to different perspective selection data at different current playing times. After the access end receives the perspective selection data sent by the cloud server, the access end can analyze the perspective selection data to determine the current perspective corresponding to the current playing time, i.e., the playing perspective of the panoramic video corresponding to the current playing time.

[0549] It should be noted that if the current perspective corresponding to a certain current playing time cannot be determined according to the perspective selection data, the perspective corresponding to the time closest to the current playing time can be used as the current perspective corresponding to the current playing time, so as to avoid the lack of the current perspective causing the target video to be unable to be played.

[0550] S3020, playing the target video in the current perspective corresponding to the current playing time.

[0551] In step S3020, the target video is played in the current perspective corresponding to the current playing time of the target video when the target video is played at the access end, so that the target video displays the perspective selection effect.

[0552] In this embodiment, if the display effect displayed when the target video is played at the access end includes a perspective selection effect, the sharing data includes perspective selection data. The access end can determine the current perspective corresponding to the current playing time according to the perspective selection data sent by the cloud server, and play the target video in the current perspective corresponding to the current playing time. The perspective selection effect is applied to the target video when the target video is played at the access end, which reduces the consumption of computing resources and time and improves the user experience.

[0553] In some embodiments, if the display effect includes a time reduction effect, the sharing data includes time reduction data.

[0554] If the display effect displayed when the target video is played at the access end includes the time length reduction effect, the sharing data obtained by the cloud server and sent to the access end includes time length reduction data, the time length reduction data is generated according to the sharing operation of the cropped target video, and the time length reduction data may be, for example, Trim data.

[0555] Before sending the time length reduction data to the access end, the video sharing method further includes:

[0556] Based on the time length reduction data and the initial playlist file corresponding to the target video, a target playlist file is determined, and the target playlist file is added to the time length reduction data, the initial playlist file includes address information of at least one initial slice file, and the target playlist file includes address information of at least one target slice file.

[0557] The playlist file may be, for example, an M3U8 file in the video playlist format based on the HLS protocol, and the slice file may be, for example, a TS file. The playlist file includes file links of at least one slice file, and the links point to addresses of respective HLS video streams, so that the playlist file can be used to guide online playing of the video.

[0558] Before sending the time length reduction data to the access end, the cloud server can classify and judge the sharing data. If it is identified that the sharing data includes time length reduction data, the target playlist file is determined according to the time length reduction data and the initial playlist file corresponding to the target video, and the determined target playlist file is added to the time length reduction data. The cloud server can send the target playlist file to the access end at the same time in subsequent sending of the sharing data.

[0559] For example, the time length reduction data can be parsed, and the parsing result can be matched with the initial M3U8 file. According to the sharing operation of the cropped target video, a new M3U8 file is generated by extracting the part of data retained by the cropping, and is sent to the access end at the same time as the time length reduction data in the subsequent.

[0560] The time length reduction data and the target playlist file are used to perform the following steps in the access end:

[0561] Based on the time length reduction data and the target playlist file, the target video is played.

[0562] After the access end receives the time length reduction data and the target playlist file sent by the cloud server, the time length reduction data and the target playlist file can be parsed, and the target video can be played according to the parsing result when the target video is played at the access end. When the target video is played, only the video content corresponding to the cropping range can be played, so that the target video displays the time length reduction effect.

[0563] In this embodiment, if the display effect displayed when the access end plays the target video includes the time length reduction effect, the sharing data includes the time length reduction data, the cloud server can determine the target playlist file according to the obtained time length reduction data and the initial playlist file corresponding to the target video, and the access end can play the target video according to the time length reduction data and the target playlist file sent by the cloud server, and the time length reduction effect is applied to the target video when the access end plays the target video, which reduces the consumption of computing resources and time and improves the user experience. In addition, the target playlist file is used as the basis for playing the target video, which can automatically select the optimal code rate and video quality according to the network bandwidth of the access end, thereby providing a smoother playing experience.

[0564] In some embodiments, the time length reduction data and the target playlist file are also used to perform the following steps in the access end:

[0565] Based on the time length reduction data and the target playlist file, the actual playing time corresponding to the current playing time is determined, and the actual playing time is displayed when the target video is played.

[0566] Since only the part of the video content retained after the cutting is played when the target video is played, the time length reduction effect is displayed when the access end plays the target video, so that the current playing time of the target video is different from the actual playing time. The actual playing time corresponding to the current playing time of the target video can be determined according to the time length reduction data and the target playlist file, and the actual playing time is displayed when the target video is played, so that the user can directly observe the actual playing time of the target video after the cutting.

[0567] In this embodiment, the access end can determine the actual playing time corresponding to the current playing time according to the time length reduction data and the target playlist file, and display the actual playing time when the target video is played, so that the user can directly observe the actual playing time of the target video after the cutting, which facilitates the user to understand the actual time length of the played target video and improves the user experience.

[0568] In some embodiments, if the display effect includes the orientation information display effect, the sharing data includes the orientation information display data.

[0569] If the display effect displayed when the access end plays the target video includes the orientation information display effect, the sharing data obtained and sent to the access end by the cloud server includes the orientation information display data, and the orientation information display data is generated according to the sharing operation of displaying the orientation information. The orientation information display data may, for example, be Dashboard data.

[0570] As shown in FIG. 29, the orientation information display data is used to perform the following steps in the access end:

[0571] S3110, display data based on the orientation information, determine the current playing time corresponding to the orientation data.

[0572] In step S3110, the target video corresponds to different orientation information display data at different current playing time. After the access terminal receives the orientation information display data sent by the cloud server, the orientation information display data can be parsed to determine the orientation data corresponding to the current playing time. The orientation data can represent the orientation information of the current playing time. The orientation data can be obtained according to the GPS information or TBOX information in the tail of the target video file, for example.

[0573] It should be noted that if the orientation data corresponding to a certain current playing time cannot be determined according to the orientation information display data, the orientation data corresponding to the time closest to the current playing time can be used as the orientation data corresponding to the current playing time, so as to avoid the lack of orientation data causing the target video cannot be played.

[0574] S3120, in playing the target video, display the orientation data corresponding to the current playing time in the first preset area.

[0575] In step S3120, when the access terminal plays the target video, the orientation data corresponding to the current playing time can be displayed in the first preset area of the target video, so that the target video has an orientation information display effect. For example, a dynamic map containing orientation data can be generated according to the orientation information display data, and the dynamic map containing orientation data can be drawn above the layer of the first preset area of the target video through the layer drawing function of the player.

[0576] In this embodiment, if the display effect displayed when the access terminal plays the target video includes the orientation information display effect, the sharing data includes the orientation information display data. The access terminal can determine the orientation data corresponding to the current playing time according to the orientation information display data sent by the cloud server, and display the orientation data corresponding to the current playing time in the first preset area when playing the target video. The orientation information display effect is applied to the target video when the access terminal plays the target video, which reduces the consumption of computing resources and time and improves the user experience.

[0577] In some embodiments, the orientation data includes any one or a combination of latitude and longitude data, altitude data, direction data, and path data.

[0578] The azimuth data corresponding to the current playing time in the first preset area when playing the target video can include any one or a combination of multiple of latitude and longitude data, altitude data, direction data, and path data. The latitude and longitude data, altitude data, direction data, and path data can all represent the azimuth information of the shooting device when the video is shot, so that the user can observe the azimuth information corresponding to the video content in the first preset area of the target video when playing the target video on the access end.

[0579] In this embodiment, any one or a combination of multiple of latitude and longitude data, altitude data, direction data, and path data is used as the azimuth data, so that the user can observe multiple azimuth information corresponding to the video content in the first preset area of the target video when playing the target video on the access end, ensuring the comprehensiveness and accuracy of the azimuth information display effect and improving the user experience.

[0580] In some embodiments, if the display effect includes a picture-in-picture effect, the sharing data includes picture-in-picture data.

[0581] If the display effect displayed when the access end plays the target video includes a picture-in-picture effect, the sharing data obtained and sent to the access end by the cloud server includes picture-in-picture data, which is generated according to the sharing operation of displaying the picture-in-picture.

[0582] As shown in FIG. 30, the picture-in-picture data is used to perform the following steps in the access end:

[0583] S3210, determining the picture-in-picture picture corresponding to the current playing time based on the picture-in-picture data.

[0584] In step S3210, after the access end receives the picture-in-picture data sent by the cloud server, the picture-in-picture data can be parsed to determine whether the current playing time has a corresponding picture-in-picture picture.

[0585] S3220, displaying the picture-in-picture picture corresponding to the current playing time in the second preset area when playing the target video.

[0586] In step S3220, when the access end plays the target video, if the current playing time has a corresponding picture-in-picture picture, the picture-in-picture picture corresponding to the current playing time is displayed in the second preset area of the target video. For example, the picture-in-picture picture corresponding to the current playing time can be determined according to the picture-in-picture data, and then the picture-in-picture picture is rendered on the picture of the target video in the form of a small window corresponding to the second preset area.

[0587] In the embodiment, if the display effect displayed when the access end plays the target video includes a picture-in-picture effect, the sharing data includes picture-in-picture data, and the access end can determine the picture-in-picture picture corresponding to the current playing time according to the picture-in-picture data sent by the cloud server, and display the picture-in-picture picture corresponding to the current playing time in the second preset area when playing the target video. The picture-in-picture effect is applied to the target video when the access end plays the target video, which reduces the consumption of computing resources and time and improves the user experience.

[0588] In some embodiments, the target video is a panoramic video, and the played target video and the picture-in-picture picture both have corresponding current perspectives, and the current perspective corresponding to the played target video is different from the current perspective corresponding to the picture-in-picture picture.

[0589] The target video is a panoramic video with video content of multiple different shooting angles, and the played target video and the picture-in-picture picture displayed in the second preset area both have corresponding current perspectives, and the current perspective corresponding to the played target video is different from the current perspective corresponding to the picture-in-picture picture, so that the target video and the picture-in-picture picture can respectively play and display the video content of the panoramic video under different shooting perspectives.

[0590] In the embodiment, the target video is a panoramic video, and the played target video and the picture-in-picture picture both have corresponding current perspectives, and the played target video and the displayed picture-in-picture picture correspond to different current perspectives, respectively. The picture-in-picture effect of the target video can simultaneously play and display the video content of the panoramic video under different shooting perspectives, improving the user experience.

[0591] In some embodiments, if the display effect includes a color enhancement effect, or if the display effect includes an anti-shake effect, or if the display effect includes a color enhancement effect and an anti-shake effect, the sharing data includes algorithm data.

[0592] If the display effect included by the target video played by the access end includes any one or both of a color enhancement effect and an anti-shake effect, the sharing data obtained and sent by the cloud server to the access end includes algorithm data, which is generated according to the sharing operation of enhancing color or picture anti-shake. For example, the algorithm data can be output through an algorithm database of a related algorithm according to the sharing operation of enhancing color or picture anti-shake.

[0593] Before sending the algorithm data to the access end, the video sharing method further includes:

[0594] Transcoding the algorithm data.

[0595] Before the algorithm data is sent to the access end, the algorithm data needs to be transcoded, and the transcoded algorithm data is sent to the access end subsequently. When the access end plays the target video, the sharing data dependent on the algorithm does not need to be transcoded again, and the algorithm data received can be directly used for playing the target video, so that the target video can display the color enhancement effect or the anti-shake effect corresponding to the algorithm data.

[0596] In this embodiment, if the display effect displayed when the access end plays the target video includes any one or both of the color enhancement effect and the anti-shake effect, the algorithm data is included in the sharing data. The cloud server can send the transcoded algorithm data to the access end subsequently by transcoding the algorithm data, so that the access end can directly use the received algorithm data to apply the color enhancement effect or the anti-shake effect to the target video when playing the target video, without transcoding, thereby improving the response speed of playing the target video with the color enhancement effect or the anti-shake effect.

[0597] In some embodiments, the video sharing method further includes:

[0598] Based on the target video and the sharing data, a sharing link is generated.

[0599] After the cloud server obtains the sharing data corresponding to the sharing task, the cloud server can generate a sharing link based on the target video corresponding to the sharing task and the sharing data. The user as the video sharer can share the sharing link to the video sharing object through the client or other platforms. The sharing link can be, for example, address information for accessing the sharing task, and the sharing link can also be an interface for accessing the sharing task.

[0600] The access end accesses the sharing task in the following manner:

[0601] Based on the sharing link, a request for playing the target video is initiated to the cloud server.

[0602] If the user as the video sharing object wants to access the sharing task, the user can initiate a request for playing the target video to the cloud server based on the sharing link generated by the cloud server and provided by the video sharer. After receiving the request, the cloud server sends the sharing data to the access end, so that the access end can play the target video and make the target video display the display effect.

[0603] In this embodiment, the cloud server can generate a sharing link based on the target video and the sharing data, so that the access end can initiate a request for playing the target video to the cloud server based on the sharing link, providing a basis for accessing the sharing task, realizing sharing of the target video, and applying the display effect to the target video through the sharing data when the access end plays the target video, thereby reducing the consumption of computing resources and time and improving user experience.

[0604] In an example embodiment, a video sharing method is provided, which is applied to a cloud server. As shown in FIG. 31, the video sharing method comprises the following steps:

[0605] S3300, in response to the sharing task sent by the client, obtaining sharing data corresponding to the sharing task, the sharing data comprising data for determining display effects of the target video, the sharing data comprising any one or any combination of multiple of the following: speed playback data, view selection data, time reduction data, position information display data, picture-in-picture data, and algorithm data.

[0606] S3310, if the sharing data comprises time reduction data, determining a target playlist file based on the time reduction data and an initial playlist file corresponding to the target video, and adding the target playlist file to the time reduction data.

[0607] S3320, if the sharing data comprises algorithm data, transcoding the algorithm data.

[0608] S3330, generating a sharing link based on the target video and the sharing data.

[0609] S3340, in response to access of the sharing task by an access end, sending the sharing data to the access end, so that the access end displays the display effects when playing the target video.

[0610] In the example embodiment, when the client sends the sharing task, the sharing data corresponding to the sharing task is obtained, and the sharing data is sent to the access end when the access end accesses the sharing task, so that the access end displays the display effects when playing the target video, thereby realizing sharing of the target video and adding of the display effects. The sharing data comprises data for determining display effects of the target video, and the display effects can be applied to the target video through the sharing data when the access end plays the target video, without the need for repeated downloading and uploading of the target video or complex transcoding process, thereby reducing consumption of computing resources and time and improving user experience.

[0611] In an example embodiment, a video sharing method is provided, which is applied to a client. The client can be, for example, a platform or an application supporting functions such as video uploading, video editing, and video sharing. As shown in FIG. 32, the video sharing method comprises the following steps:

[0612] S3400, generating sharing data based on a sharing operation of a user on a target video, the sharing data comprising data for determining display effects of the target video.

[0613] In step S3400, the cloud server may be a platform supporting data storage, information interaction, and multi-user sharing, etc. The user may perform a sharing operation on the target video stored in the cloud server through the client. The sharing operation may be a pre-operation, for example, a planned operation but not a real operation, for determining the display effect expected by the target video. The client may generate sharing data according to the sharing operation of the user on the target video, so that the sharing data can be used to determine the display effect of the target video.

[0614] In step S3500, the cloud server may be a platform supporting data storage, information interaction, and multi-user sharing, etc. The user may perform a sharing operation on the target video stored in the cloud server through the client. The sharing operation may be a pre-operation, for example, a planned operation but not a real operation, for determining the display effect expected by the target video. The client may generate sharing data according to the sharing operation of the user on the target video, so that the sharing data can be used to determine the display effect of the target video.

[0615] In step S3500, the cloud server may be a platform supporting data storage, information interaction, and multi-user sharing, etc. The user may perform a sharing operation on the target video stored in the cloud server through the client. The sharing operation may be a pre-operation, for example, a planned operation but not a real operation, for determining the display effect expected by the target video. The client may generate sharing data according to the sharing operation of the user on the target video, so that the sharing data can be used to determine the display effect of the target video.

[0616] In the embodiment, the client may generate sharing data for determining the display effect of the target video according to the sharing operation of the user on the target video, and send a sharing task to the cloud server. The cloud server may obtain the sharing data corresponding to the sharing task, and send the sharing data to the access end when the sharing task is accessed by the access end, so that the display effect is displayed when the target video is played by the access end. The sharing of the target video and the addition of the display effect are realized. The client generates the sharing data according to the sharing operation, and applies the sharing operation and the display effect on the target video through the sharing data when the target video is played by the access end. The repeated download and upload of the target video or the complex transcoding process is not needed, the consumption of the computing resources and time is reduced, and the user experience is improved.

[0617] In some embodiments, as shown in FIG. 33, the sharing data is generated based on the sharing operation of the user on the target video, including:

[0618] In step S3410, the sharing operation performed by the user during the playing of the target video is recorded.

[0619] In step S3410, the sharing operation performed by the user during the playing of the target video is recorded.

[0620] In step S3420, the planned clipping data is generated based on the sharing operation.

[0621] In step S3420, the client can generate the corresponding plan clip data according to the recorded sharing operation, so that the plan clip data can represent the sharing operation performed on the target video.

[0622] S3430, obtaining sharing data based on the plan clip data.

[0623] In step S3430, since the plan clip data is directly generated by the client according to the sharing operation, the plan clip data may have characteristics such as complex data format and difficult to parse, therefore, the corresponding sharing data can be determined according to the generated plan clip data, realizing the generation of sharing data and making the sharing data have the advantages of fast transmission and parsing speed.

[0624] In this embodiment, the client records the sharing operation performed by the user during the playing of the target video, generates the plan clip data according to the sharing operation, and obtains the sharing data according to the plan clip data, realizing the generation of the sharing data and providing a basis for the cloud server to obtain the sharing data.

[0625] In some other embodiments, as shown in FIG. 34, based on the sharing operation of the user on the target video, the sharing data is generated, including:

[0626] S3440, playing the target video based on the sharing operation, and recording the playing path during the playing of the target video.

[0627] In step S3440, the client can control the player to play the target video according to a specific playing path according to the sharing operation of the user, and record the playing path during the playing of the target video in real time. The playing path includes: playing angle, playing speed, playing time length, playing mode, playing special effect, etc.

[0628] S3450, generating plan clip data based on the recorded playing path.

[0629] In step S3450, the client can generate the corresponding plan clip data according to the recorded playing path, so that the plan clip data can represent the sharing operation performed on the target video and the playing path during the playing of the target video in the client.

[0630] S3460, obtaining sharing data based on the plan clip data.

[0631] In step S3460, since the planned clip data is generated directly by the client based on the playback path, the planned clip data may have characteristics such as complex data format and difficulty in parsing. Therefore, the corresponding sharing data can be determined based on the generated planned clip data, thus realizing the generation of sharing data and enabling the sharing data to have advantages such as fast transmission and parsing speed.

[0632] In this embodiment, the client plays the target video according to the sharing operation, records the playback path during the playback of the target video, generates planned editing data according to the sharing operation, and then obtains sharing data according to the planned editing data, thus realizing the generation of sharing data and providing a basis for the cloud server to obtain sharing data.

[0633] In some embodiments, the shared data is obtained based on the planned clipping data, including:

[0634] The planned clip data is converted into binary data format to obtain the shared data.

[0635] The client can perform data format conversion on the generated planned clip data to convert it into binary data format, resulting in binary shareable data. For example, the planned clip data can be converted into the agreed-upon binary proto format, ensuring that the converted shareable data still represents the sharing operation performed on the target video or the playback path of the target video on the client. When a sharing task is subsequently sent through the client, the binary shareable data can be uploaded to the cloud server, allowing the cloud server to retrieve the shareable data.

[0636] In this embodiment, data format conversion processing is performed to make the shared data format binary, ensuring that the shared data format is easy to transmit, store and parse, and improve the response speed of playing the target video.

[0637] In some embodiments, the sharing operation includes any one or any combination of the following operations: speed-up playback clip operation, perspective selection clip operation, duration reduction clip operation, orientation information display clip operation, picture-in-picture clip operation, color enhancement clip operation, and image stabilization clip operation.

[0638] As mentioned earlier, the sharing operation is used to determine the desired display effect of the target video. The sharing operation may include a speed-up playback clipping operation to control the playback speed of the target video. When the sharing operation includes a speed-up playback clipping operation, the corresponding generated sharing data includes speed-up playback data, and the display effect displayed on the access terminal when playing the target video includes the speed-up playback effect.

[0639] The sharing operation can include a perspective selection clip operation for controlling a current perspective of the target video. When the sharing operation includes the perspective selection clip operation, the corresponding generated sharing data includes perspective selection data, and the display effect displayed by the access terminal when playing the target video includes a perspective selection effect.

[0640] The sharing operation can include a duration reduction clip operation for cutting the target video. When the sharing operation includes the duration reduction clip operation, the corresponding generated sharing data includes duration reduction data, and the display effect displayed by the access terminal when playing the target video includes a duration reduction effect.

[0641] The sharing operation can include a direction information display clip operation for displaying direction information. When the sharing operation includes the direction information display clip operation, the corresponding generated sharing data includes direction information display data, and the display effect displayed by the access terminal when playing the target video includes a direction information display effect.

[0642] The sharing operation can include a picture-in-picture clip operation for displaying a picture-in-picture. When the sharing operation includes the picture-in-picture clip operation, the corresponding generated sharing data includes picture-in-picture data, and the display effect displayed by the access terminal when playing the target video includes a picture-in-picture effect.

[0643] The sharing operation can include a color enhancement clip operation for enhancing color. When the sharing operation includes the color enhancement clip operation, the corresponding generated sharing data includes algorithm data, and the display effect displayed by the access terminal when playing the target video includes a color enhancement effect.

[0644] The sharing operation can include a stabilization clip operation for image stabilization. When the sharing operation includes the stabilization clip operation, the corresponding generated sharing data includes algorithm data, and the display effect displayed by the access terminal when playing the target video includes a stabilization effect.

[0645] In this embodiment, any one or any combination of the plurality of the speed playback clip operation, the perspective selection clip operation, the duration reduction clip operation, the direction information display clip operation, the picture-in-picture clip operation, the color enhancement clip operation, and the stabilization clip operation is used as the sharing operation. The corresponding sharing data can be generated according to different sharing operations to display different display effects when the target video is played by the access terminal. The sharing needs of the video sharer can be met, and rich and diverse and powerful display effects can be added to the target video when the target video is played by the video sharing object through the access terminal, thereby improving the user experience.

[0646] In one example embodiment, a video sharing method is provided for an access terminal. As shown in FIG. 35, the video sharing method includes:

[0647] S3600, based on the sharing link, initiating a request to the cloud server to play the target video.

[0648] S3610, receiving the sharing data sent by the cloud server, the sharing data including any one or any combination of multiple of the following: the fast playback data, the view selection data, the time reduction data, the orientation information display data, the picture-in-picture data, and the algorithm data.

[0649] S3620, if the sharing data includes the fast playback data, determining, based on the fast playback data, a plurality of preset video segments included in the target video and video segment information corresponding to each preset video segment, the video segment information being used to represent the start time, the end time, and the playback speed of the corresponding preset video segment.

[0650] S3630, playing the target video at the playback speed corresponding to the current playback time based on the video segment information.

[0651] S3640, determining the actual playback time corresponding to the current playback time based on the video segment information, and displaying the actual playback time when playing the target video.

[0652] S3650, if the sharing data includes the view selection data, determining the current view corresponding to the current playback time based on the view selection data.

[0653] S3660, playing the target video at the current view corresponding to the current playback time.

[0654] S3670, if the sharing data includes the time reduction data, playing the target video based on the time reduction data and the target playlist file.

[0655] S3680, determining the actual playback time corresponding to the current playback time based on the time reduction data and the target playlist file, and displaying the actual playback time when playing the target video.

[0656] S3690, if the sharing data includes the orientation information display data, determining the orientation data corresponding to the current playback time based on the orientation information display data.

[0657] S3700, displaying the orientation data corresponding to the current playback time in a first preset area when playing the target video.

[0658] S3710, if the sharing data includes the picture-in-picture data, determining the picture-in-picture picture corresponding to the current playback time based on the picture-in-picture data.

[0659] S3720, displaying the picture-in-picture picture corresponding to the current playback time in a second preset area when playing the target video.

[0660] In the embodiment, the access end can play the target video according to the shared data by receiving the shared data sent by the cloud server, so that the target video can display the display effect determined by the shared data, and the multiple display effects can be applied to the target video when the target video is played on the access end without repeated download and upload or complex transcoding process, thereby reducing the consumption of computing resources and time and improving user experience.

[0661] In one example embodiment, a camera is provided, comprising a processor and a memory, the memory storing a computer program, the processor implementing the steps of any of the above methods when executing the computer program.

[0662] In one example embodiment, a cloud server is provided, comprising a processor and a memory, the memory storing a computer program, the processor being configured to:

[0663] receiving a first image to be processed.

[0664] in response to a play request sent by a client, sending a second image generated based on the first image to the client to make the client play the second image, the bandwidth required by the second image being less than the bandwidth required by the first image.

[0665] In one embodiment, the processor is configured to:

[0666] preprocessing the first image to obtain the second image.

[0667] The preprocessing includes transcoding processing for adjusting one or more of the encoding format, the projection format and the code rate to reduce the volume of the image.

[0668] In one embodiment, the number of first images is multiple, and the multiple first images are respectively captured by multiple cameras with different framing directions in the camera. The processor is configured to:

[0669] performing synthesis processing on the multiple first images to obtain a third image, the third image being a spherical panoramic image or a spherical wide-angle image.

[0670] performing transcoding processing on the third image to obtain the second image, the second image being a cubic panoramic image or a cubic wide-angle image.

[0671] The bandwidth required by the second image is less than the bandwidth required by the third image.

[0672] In one embodiment, in the process of transcoding the third image, the encoding format of the third image is converted to a preset encoding format, the projection format of the third image is converted from a spherical format to a cubic format, and the code rate of the third image is reduced.

[0673] In an embodiment, the second image includes a first sub-image and a second sub-image. The processor is configured to:

[0674] perform transcoding with different code rates on the third image to obtain the first sub-image and the second sub-image.

[0675] wherein a volume of the first sub-image is smaller than a volume of the second sub-image.

[0676] In an embodiment, in a case where the second image is a video, the processor is configured to:

[0677] segment the first sub-image and the second sub-image according to a preset manner to obtain segments of the first sub-image and the second sub-image in a plurality of time periods.

[0678] In an embodiment, the processor is configured to:

[0679] perform stitching, anti-shake, and achromatic processing on the plurality of first images to obtain the third image.

[0680] In an embodiment, the second image includes a first sub-image and a second sub-image, and a volume of the first sub-image is smaller than a volume of the second sub-image. The processor is configured to:

[0681] determine a bandwidth of a network environment in which the client is located.

[0682] in a case where the bandwidth of the network environment in which the client is located is smaller than a preset bandwidth, send the first sub-image to the client.

[0683] in a case where the bandwidth of the network environment in which the client is located is greater than or equal to the preset bandwidth, send the second sub-image to the client.

[0684] In an embodiment, in a case where the second image is a video, the first sub-image and the second sub-image are each composed of segments in a plurality of time periods. The processor is configured to:

[0685] determine a first time at which the second image is played.

[0686] send, to the client, a segment of the first sub-image corresponding to the first time.

[0687] determine a second time at which the second image is played.

[0688] send, to the client, a segment of the second sub-image corresponding to the second time.

[0689] In an embodiment, the processor is configured to:

[0690] determine the preset bandwidth according to a volume of the second sub-image.

[0691] In an embodiment, the second image includes a first sub-image and a second sub-image, and a volume of the first sub-image is smaller than a volume of the second sub-image. When the second image starts to be played, the processor is configured to send the first sub-image to the client.

[0692] In an embodiment, when the second image is a video, the first sub-image is composed of segments in multiple time periods. The processor is configured to:

[0693] According to the play request, a third time point of playing the second image is determined.

[0694] A segment corresponding to the third time point in the first sub-image is sent to the client.

[0695] In an embodiment, the processor is configured to:

[0696] Receive a clip request for the second image sent by the client, the clip request including clip data, the clip data being generated based on a pre-operation of the client on the second image.

[0697] Based on the clip data, the second image is processed.

[0698] In an embodiment, the processor is configured to implement the steps of the above video processing method or video sharing method when executing the computer program.

[0699] In one example embodiment, an electronic device is provided, on which a client as described above is installed, including a processor and a memory, the memory storing a computer program, when the computer program instructions are executed by the processor, the processor is configured to:

[0700] Receive a play instruction for a second image in a cloud server, and send a play request to the cloud server based on the play instruction, the second image being a panoramic image or a wide-angle image, the second image being generated based on a first image.

[0701] Receive and play the second image sent by the cloud server, the bandwidth required by the second image being less than the bandwidth required by the first image.

[0702] In an embodiment, the second image is obtained based on a pre-processing of the first image.

[0703] The pre-processing includes transcoding processing, which is used to adjust one or more of the encoding format, the projection format, and the code rate, to reduce the volume of the image.

[0704] In an embodiment, the processor is configured to:

[0705] Adjust the second image from a cubic panoramic image or a cubic wide-angle image to a spherical panoramic image or a spherical wide-angle image and play it.

[0706] In an embodiment, the second video includes a first sub-video and a second sub-video, and a volume of the first sub-video is smaller than a volume of the second sub-video. The processor is configured to:

[0707] In a case where a bandwidth of a network environment in which the client is located is less than a preset bandwidth, the first sub-video sent by the cloud server is received and played.

[0708] In a case where the bandwidth of the network environment in which the client is located is greater than or equal to the preset bandwidth, the second sub-video sent by the cloud server is received and played.

[0709] In an embodiment, in a case where the second video is a video, the first sub-video and the second sub-video are both composed of segments in multiple time periods. The processor is configured to:

[0710] The segment corresponding to the first time in the first sub-video sent by the cloud server is received and played, and the first time is a time at which the second video is played.

[0711] The segment corresponding to the second time in the second sub-video sent by the cloud server is received and played, and the second time is a time at which the second video is played.

[0712] In an embodiment, the second video includes a first sub-video and a second sub-video, and a volume of the first sub-video is smaller than a volume of the second sub-video. When the second video starts to be played, the processor is configured to receive and play the first sub-video sent by the cloud server.

[0713] In an embodiment, during playing of the second video, the processor is configured to:

[0714] Cache a part of the second video that has been played.

[0715] In an embodiment, the processor is configured to:

[0716] Generate a clip request containing clip data based on pre-operation on the second video.

[0717] Send the clip request to the cloud server to perform clip processing on the second video by the cloud server.

[0718] In an embodiment, the processor is configured to implement steps of the above video processing method or video sharing method when executing a computer program.

[0719] Exemplarily, the electronic device is, for example, a mobile phone, a computer, a camera, or the like.

[0720] In one example embodiment, a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of any of the above methods is provided. The computer readable storage medium can be a read only memory (ROM), a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disc, an optical data storage device, etc.

[0721] In one example embodiment, a computer program product comprising a computer program which, when executed by a processor, implements the steps of any of the above methods is provided.

[0722] As shown in FIG. 36, a structural block diagram of a computer device that can be a cloud server, an electronic device, or a camera of the present disclosure will now be described. The computer device 100 includes a computing unit 101 that can perform various appropriate actions and processes in accordance with a computer program stored in a ROM 102 or a computer program loaded from a storage unit 108 into a RAM 103. Various programs and data required for the operation of the computer device 100 can also be stored in the RAM 103. The computing unit 101, the ROM 102, and the RAM 103 are connected to each other through a bus 104. An input / output (I / O) interface 105 is also connected to the bus 104.

[0723] A plurality of components in the computer device 100 are connected to the I / O interface 105, including an input unit 106, an output unit 107, the storage unit 108, and a communication unit 109. The input unit 106 can be any type of device that can input information to the computer device 100, and can receive inputted digital or character information, and generate key signal inputs related to user settings and / or function controls of the computer device 100, and can include, but is not limited to, a mouse, a keyboard, a touch screen, a track pad, a track ball, a joystick, a microphone, and / or a remote controller. The output unit 107 can be any type of device that can present information, and can include, but is not limited to, a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 108 can include, but is not limited to, a magnetic disk, an optical disk. The communication unit 109 allows the computer device 100 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks, and can include, but is not limited to, a modem, a network card, an infrared communication device, a wireless communication transceiver, and / or a chipset, such as a Bluetooth™ device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.

[0724] The computing unit 101 can be various general and / or special purpose processing components with processing and computing capabilities. Some examples of the computing unit 101 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 101 performs various methods and processes described above. For example, in some embodiments, the methods described above can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 108. In some embodiments, part or all of the computer program can be loaded and / or installed onto the computer device 100 via the ROM 102 and / or the communication unit 109. When the computer program is loaded onto the RAM 103 and executed by the computing unit 101, one or more steps of the methods described above can be performed. Alternatively, in other embodiments, the computing unit 101 can be configured to perform the methods described above by any other appropriate means, such as by means of firmware.

[0725] The computer device 100 can be implemented with one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, micro-controllers, microprocessors, or other electronic components, for performing the methods described above.

[0726] Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. It is intended that the specification and examples be considered as exemplary only, with the true scope and spirit of the application being indicated by the following claims. Different embodiments of or examples described herein as performing particular

[0727] It is to be understood that the application is not limited to the precise construction described in the specification and shown in the drawings, and that various modifications and changes can be made by those skilled in the art without departing from the scope of the application. The scope of the application is limited only by the claims that follow. Industrial Applicability

[0728] In the image processing method, the cloud server, the electronic device and the storage medium provided by the embodiments of the present disclosure, a first image to be processed is received, and a second image is generated based on the first image. In response to a playing request sent by a client, the second image with a panorama / wide angle is sent to the client, so that the client can play the second image at a lower bandwidth. By generating the second image based on the first image, the bandwidth required by the second image with the panorama / wide angle is lower than the bandwidth required by the first image, thereby reducing the possibility of image playing being stuck. At the same time, since the first image is preprocessed in the cloud server, the quality of the second image is better than that of the first image, thereby improving the effect of image playing.

Claims

1. An image processing method applied to a cloud server, wherein, The image processing method includes: Receive the first image to be processed; In response to a playback request sent by the client, a second image generated based on the first image is sent to the client so that the client can play the second image. The bandwidth required for the second image is less than that required for the first image. The second image is a panoramic image or a wide-angle image.

2. The image processing method according to claim 1, wherein, After receiving the first image to be processed, the image processing method further includes: The first image is preprocessed to obtain the second image; The preprocessing includes transcoding, which is used to adjust one or more of the encoding format, projection format, and bitrate to reduce the image size.

3. The image processing method according to claim 2, wherein, The first image is multiple, and is captured by multiple cameras with different viewing directions in the camera; the preprocessing of the first image to obtain the second image includes: Multiple first images are combined to obtain a third image, which is a spherical panoramic image or a spherical wide-angle image; The transcoding process is performed on the third image to obtain the second image, which is a cube panoramic image or a cube wide-angle image. The bandwidth required for the second image is less than that required for the third image.

4. The image processing method according to claim 3, wherein, During the transcoding process of the third image, the encoding format of the third image is converted to a preset encoding format, the projection format of the third image is converted from a spherical format to a cubic format, and the bit rate of the third image is reduced.

5. The image processing method according to claim 3, wherein, The second image includes a first sub-image and a second sub-image; the transcoding process performed on the third image to obtain the second image includes: The third image is subjected to transcoding processing with different bit rates to obtain the first sub-image and the second sub-image; The volume of the first sub-image is smaller than the volume of the second sub-image.

6. The image processing method according to claim 5, wherein, When the second image is a video, after preprocessing the first image to obtain the second image, the image processing method further includes: The first sub-image and the second sub-image are segmented according to a preset method to obtain segments of the first sub-image and the second sub-image in multiple time periods.

7. The image processing method according to claim 3, wherein, The process of combining multiple first images to obtain a third image includes: The third image is obtained by stitching together multiple first images, stabilizing them, and removing color differences.

8. The image processing method according to claim 1, wherein, The second image includes a first sub-image and a second sub-image, wherein the volume of the first sub-image is smaller than the volume of the second sub-image; the step of sending the second image generated based on the first image to the client includes: Determine the bandwidth of the network environment in which the client is located; If the bandwidth of the network environment where the client is located is less than the preset bandwidth, the first sub-image is sent to the client; If the bandwidth of the network environment where the client is located is greater than or equal to the preset bandwidth, the second sub-image is sent to the client.

9. The image processing method according to claim 8, wherein, When the second image is a video, both the first sub-image and the second sub-image are composed of segments from multiple time periods; sending the first sub-image to the client includes: Determine the first moment when the second image is played; Send the segment in the first sub-image corresponding to the first time point to the client; Sending the second sub-image to the client includes: Determine the second moment when the second image is played; The segment in the second sub-image corresponding to the second time point is sent to the client.

10. The image processing method according to claim 8, wherein, Sending the second image generated based on the first image to the client further includes: The preset bandwidth is determined based on the volume of the second sub-image.

11. The image processing method according to claim 1, wherein, The second image includes a first sub-image and a second sub-image, wherein the volume of the first sub-image is smaller than the volume of the second sub-image; when the second image starts playing, the first sub-image is sent to the client.

12. The image processing method according to claim 11, wherein, When the second image is a video, the first sub-image consists of segments from multiple time periods; sending the first sub-image to the client includes: Based on the playback request, determine the third moment for the playback of the second image; The segment in the first sub-image corresponding to the third time point is sent to the client.

13. The image processing method according to any one of claims 1 to 12, wherein, After sending the second image generated based on the first image to the client, the image processing method further includes: The system receives a clipping request for the second image sent by the client, the clipping request including clipping data generated based on the client's pre-operation on the second image; Based on the editing data, the second image is edited.

14. An image processing method applied to a client, wherein, The image processing method includes: Receive a playback instruction for a second image in a cloud server, and send a playback request to the cloud server based on the playback instruction. The second image is a panoramic image or a wide-angle image, and the second image is generated based on the first image. The system receives and plays the second image sent by the cloud server, wherein the bandwidth required for the second image is less than that required for the first image.

15. The image processing method according to claim 14, wherein, The second image is obtained by preprocessing the first image; The preprocessing includes transcoding, which is used to adjust one or more of the encoding format, projection format, and bitrate to reduce the image size.

16. The image processing method according to claim 14, wherein, The step of receiving and playing the second image sent by the cloud server includes: Adjust the second image from a cube panoramic image or a cube wide-angle image to a spherical panoramic image or a spherical wide-angle image and play it.

17. The image processing method according to claim 14, wherein, The second image includes a first sub-image and a second sub-image, wherein the volume of the first sub-image is smaller than the volume of the second sub-image; receiving and playing the second image sent by the cloud server includes: If the bandwidth of the network environment where the client is located is less than the preset bandwidth, the first sub-image sent by the cloud server is received and played. If the bandwidth of the network environment where the client is located is greater than or equal to the preset bandwidth, the client receives and plays the second sub-image sent by the cloud server.

18. The image processing method according to claim 17, wherein, When the second image is a video, both the first sub-image and the second sub-image are composed of segments from multiple time periods; receiving and playing the first sub-image sent by the cloud server includes: Receive and play the segment from the first sub-image sent by the cloud server that corresponds to the first moment, where the first moment is the moment when the second image is played; The step of receiving and playing the second sub-image sent by the cloud server includes: The system receives and plays the segment from the second sub-image that corresponds to the second time point, which is the moment when the second image is played, sent by the cloud server.

19. The image processing method according to claim 14, wherein, The second image includes a first sub-image and a second sub-image, wherein the volume of the first sub-image is smaller than the volume of the second sub-image; when the second image starts playing, the first sub-image sent by the cloud server is received and played.

20. The image processing method according to any one of claims 14 to 19, wherein, During the playback of the second image, the image processing method further includes: Cache the portion of the second video that has already been played.

21. The image processing method according to any one of claims 14 to 19, wherein, After receiving and playing the second image sent by the cloud server, the image processing method further includes: Based on the pre-operation on the second image, a clipping request containing clipping data is generated; The editing request is sent to the cloud server so that the second image can be edited by the cloud server.

22. A cloud server, comprising a memory and a processor, wherein the memory stores a computer program, When the computer program instructions are executed by the processor, the processor is configured to: Receive the first image to be processed; In response to a playback request sent by the client, a second image generated based on the first image is sent to the client so that the client can play the second image, wherein the bandwidth required by the second image is less than the bandwidth required by the first image.

23. The cloud server according to claim 22, wherein, The processor is configured to: The first image is preprocessed to obtain the second image; The preprocessing includes transcoding, which is used to adjust one or more of the encoding format, projection format, and bitrate to reduce the image size.

24. The cloud server according to claim 23, wherein, The first image is multiple, and is captured by multiple cameras with different framing directions in the camera; the processor is configured to: Multiple first images are combined to obtain a third image, which is a spherical panoramic image or a spherical wide-angle image; The transcoding process is performed on the third image to obtain the second image, which is a cube panoramic image or a cube wide-angle image. The bandwidth required for the second image is less than that required for the third image.

25. The cloud server according to claim 24, wherein, During the transcoding process of the third image, the encoding format of the third image is converted to a preset encoding format, the projection format of the third image is converted from a spherical format to a cubic format, and the bit rate of the third image is reduced.

26. The cloud server according to claim 24, wherein, The second image includes a first sub-image and a second sub-image; the processor is configured to: The third image is subjected to transcoding processing with different bit rates to obtain the first sub-image and the second sub-image; The volume of the first sub-image is smaller than the volume of the second sub-image.

27. The cloud server according to claim 26, wherein, When the second image is a video, the processor is configured to: The first sub-image and the second sub-image are segmented according to a preset method to obtain segments of the first sub-image and the second sub-image in multiple time periods.

28. The cloud server according to claim 24, wherein, The processor is configured to: The third image is obtained by stitching together multiple first images, stabilizing them, and removing color differences.

29. The cloud server according to claim 22, wherein, The second image includes a first sub-image and a second sub-image, wherein the volume of the first sub-image is smaller than the volume of the second sub-image; the processor is configured to: Determine the bandwidth of the network environment in which the client is located; If the bandwidth of the network environment where the client is located is less than the preset bandwidth, the first sub-image is sent to the client; If the bandwidth of the network environment where the client is located is greater than or equal to the preset bandwidth, the second sub-image is sent to the client.

30. The cloud server according to claim 29, wherein, In the case that the second image is a video, both the first sub-image and the second sub-image are composed of segments from multiple time periods; the processor is configured to: Determine the first moment when the second image is played; Send the segment in the first sub-image corresponding to the first time point to the client; Determine the second moment when the second image is played; The segment in the second sub-image corresponding to the second time point is sent to the client.

31. The cloud server according to claim 29, wherein, The processor is configured to: The preset bandwidth is determined based on the volume of the second sub-image.

32. The cloud server according to claim 22, wherein, The second image includes a first sub-image and a second sub-image, wherein the volume of the first sub-image is smaller than the volume of the second sub-image; when the second image begins to play, the processor is configured to send the first sub-image to the client.

33. The cloud server according to claim 32, wherein, In the case that the second image is a video, the first sub-image consists of segments from multiple time periods; the processor is configured to: Based on the playback request, determine the third moment for the playback of the second image; The segment in the first sub-image corresponding to the third time point is sent to the client.

34. The cloud server according to any one of claims 22 to 33, wherein, The processor is configured to: The system receives a clipping request for the second image sent by the client, the clipping request including clipping data generated based on the client's pre-operation on the second image; Based on the editing data, the second image is edited.

35. An electronic device comprising a memory and a processor, wherein the memory stores a computer program and has a client installed, wherein, When the computer program instructions are executed by the processor, the processor is configured to: Receive a playback instruction for a second image in a cloud server, and send a playback request to the cloud server based on the playback instruction. The second image is a panoramic image or a wide-angle image, and the second image is generated based on the first image. The system receives and plays the second image sent by the cloud server, wherein the bandwidth required for the second image is less than that required for the first image.

36. The electronic device according to claim 35, wherein, The second image is obtained by preprocessing the first image; The preprocessing includes transcoding, which is used to adjust one or more of the encoding format, projection format, and bitrate to reduce the image size.

37. The electronic device according to claim 35, wherein, The processor is configured to: Adjust the second image from a cube panoramic image or a cube wide-angle image to a spherical panoramic image or a spherical wide-angle image and play it.

38. The electronic device according to claim 35, wherein, The second image includes a first sub-image and a second sub-image, wherein the volume of the first sub-image is smaller than the volume of the second sub-image; the processor is configured to: If the bandwidth of the network environment where the client is located is less than the preset bandwidth, the first sub-image sent by the cloud server is received and played. If the bandwidth of the network environment where the client is located is greater than or equal to the preset bandwidth, the client receives and plays the second sub-image sent by the cloud server.

39. The electronic device according to claim 38, wherein, In the case that the second image is a video, both the first sub-image and the second sub-image are composed of segments from multiple time periods; the processor is configured to: Receive and play the segment from the first sub-image sent by the cloud server that corresponds to the first moment, where the first moment is the moment when the second image is played; The system receives and plays the segment from the second sub-image that corresponds to the second time point, which is the moment when the second image is played, sent by the cloud server.

40. The electronic device according to claim 35, wherein, The second image includes a first sub-image and a second sub-image, wherein the volume of the first sub-image is smaller than the volume of the second sub-image; when the second image begins to play, the processor is configured to receive and play the first sub-image sent by the cloud server.

41. The electronic device according to any one of claims 35 to 40, wherein, During the playback of the second video, the processor is configured to: Cache the portion of the second video that has already been played.

42. The electronic device according to any one of claims 35 to 40, wherein, The processor is configured to: Based on the pre-operation on the second image, a clipping request containing clipping data is generated; The editing request is sent to the cloud server so that the second image can be edited by the cloud server.

43. A computer-readable storage medium having a computer program stored thereon, wherein, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 21.

Citation Information

Patent Citations

  • Method and device for transcoding panoramic video

    CN105898339A

  • Panoramic video transmission method and device and computer readable storage medium

    CN109756540A

  • Live broadcast method and device, electronic equipment and storage medium

    CN118175354A

  • Method and system for transforming and delivering video file content for mobile devices

    WO2010062761A1