Video publishing method and system, electronic equipment and storage medium

By transcoding the video, it adapts to the screen resolution of the target video receiver, the problem of network traffic and storage space waste caused by too small screen resolution of the user-side device is solved, and more efficient video release is achieved.

CN120547375APending Publication Date: 2025-08-26GUANGZHOU SHIZHEN INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410183965.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-02-19
Publication Date
2025-08-26

AI Technical Summary

Technical Problem

In the existing video publishing system, the screen resolution of the user-side device is too small, resulting in long video download time, wasted network traffic and large storage space.

Method used

According to the screen resolution of the target video receiver and the display data of the video component, the video is transcoded to generate a video adapted to the target video receiver.

Benefits of technology

It saves network traffic on the target video receiver and reduces performance and storage space.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120547375A_ABST
    Figure CN120547375A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a video publishing method and system, an electronic device and a storage medium, a first video displayed by a first video component is published through a video publishing end, a server transcodes the first video according to a target video receiving end identifier and display data of the first video component to obtain a second video, and the second video is transmitted to the server. The transcoded second video can be adapted to the target video receiving end corresponding to the target video receiving end identifier, so that the network traffic of the target video receiving end is saved, the performance occupation of the target video receiving end is reduced, and the storage space occupation of the target video receiving end is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of Internet technology, and in particular to a video publishing method, system, electronic device, and storage medium. Background Art

[0002] Video publishing refers to uploading a produced video to a server, which then sends it to users for viewing. In existing video publishing systems, the videos that users download and watch are often the original videos uploaded when the video was published.

[0003] However, since the screen resolution of some user-end devices is too small, downloading the original video for viewing will result in a long video download time, waste of network traffic, and large performance and storage space usage. Summary of the Invention

[0004] In order to overcome the problems existing in the related art, the present application provides a video publishing method, system, electronic device and storage medium, which can save network traffic, reduce performance occupancy and reduce storage space occupancy.

[0005] According to a first aspect of an embodiment of the present application, a video publishing method is provided, comprising the following steps:

[0006] Receive at least one first video uploaded by a video publishing end, display data of a first video component, and an identifier of a target video receiving end for receiving the first video; wherein the display data of the first video component is used to indicate a display layout of the first video component displaying the first video on the video publishing end;

[0007] Obtaining display data of a second video component according to the target video receiving terminal identifier and the display data of the first video component; wherein the display data of the second video component is used to indicate a display layout of the second video component displaying the second video at the target video receiving terminal;

[0008] According to the display data of the second video component, the first video is transcoded to obtain the second video, and the second video is sent to the target video receiving end corresponding to the target video receiving end identifier for display.

[0009] According to a second aspect of an embodiment of the present application, a video publishing system is provided, comprising a video publishing terminal, a server, and a plurality of video receiving terminals; the video publishing terminal and the plurality of video receiving terminals are respectively connected to the server for communication;

[0010] In response to a video publishing operation on the video publishing interface, the video publishing end sends the uploaded at least one first video, display data of the first video component, and an identifier of a target video receiving end for receiving the first video to the server; wherein the display data of the first video component is used to indicate a display layout of the first video component displaying the first video on the video publishing end;

[0011] The server obtains display data of the second video component according to the target video receiving terminal identifier and the display data of the first video component; wherein the display data of the second video component is used to indicate the display layout of the second video component displaying the second video on the target video receiving terminal;

[0012] The server transcodes the first video according to the display data of the second video component to obtain the second video, and sends the second video to the target video receiving end corresponding to the target video receiving end identifier for display.

[0013] According to a third aspect of an embodiment of the present application, an electronic device is provided, including a display, a processor and a memory; the memory stores a computer program, and the computer program is suitable for being loaded by the processor and executing the video publishing method as described above.

[0014] According to a fourth aspect of an embodiment of the present application, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the video publishing method as described above is implemented.

[0015] The embodiment of the present application transcodes the first video according to the target video receiving end identifier and the display data of the first video component to obtain the second video, so that the transcoded second video can adapt to the target video receiving end corresponding to the target video receiving end identifier, thereby saving the network traffic of the target video receiving end, reducing the performance occupancy of the target video receiving end, and reducing the storage space occupancy of the target video receiving end.

[0016] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application.

[0017] For better understanding and implementation, the present invention is described in detail below with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1 This is a flow chart of a video publishing method according to one embodiment of the present application;

[0019] Figure 2 This is a schematic block diagram of the structure of a video publishing system shown in one embodiment of the present application;

[0020] Figure 3This is a schematic block diagram of the structure of an electronic device shown in one embodiment of the present application. DETAILED DESCRIPTION

[0021] In order to make the objectives, technical solutions and advantages of the present application clearer, the embodiments of the present application will be described in further detail below with reference to the accompanying drawings.

[0022] It should be clear that the embodiments described are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments of the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the embodiments of the present application.

[0023] When the following description refers to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. In the description of this application, it should be understood that the terms "first", "second", "third", etc. are only used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence, nor can they be understood as indicating or implying relative importance. For those of ordinary skill in the art, the specific meanings of the above terms in this application can be understood according to the specific circumstances. The singular forms of "a", "said" and "the" used in this application and the appended claims are also intended to include the plural forms, unless the context clearly indicates other meanings. The words "if" / "if" used herein can be interpreted as "at the time of" or "when" or "in response to determination".

[0024] In addition, in this application, unless otherwise specified, "plurality" refers to two or more. "And / or" describes the relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can mean: A exists alone, A and B exist simultaneously, or B exists alone. The character " / " generally indicates that the associated objects are in an "or" relationship.

[0025] The video publishing system of the embodiment of the present application can be applied to the content promotion and publicity scenario of the cloud screen. Among them, the cloud screen can be understood as an intelligent device with a display screen, and the content promotion and publicity scenarios of the cloud screen specifically include display screen promotion in shopping malls, desktop customization of meetings, and advertising machine advertising. In the display screen promotion scenario of a shopping mall, users can upload customized video content to the server, which is published to multiple cloud screens in the shopping mall through the server, and the video content is displayed through the video windows in each cloud screen to achieve the publicity effect of the video content. Among them, the customized video content can be the introduction information of the goods in the shopping mall and the promotion information of activities, etc. In the process of realizing the present invention, the inventor found that: for the cloud screen that displays video content, the resolution of the video window that displays the video content in the cloud screen is far lower than the video resolution of the video uploaded by the user. The cloud screen downloads the video uploaded by the user from the server, which will result in a long video download time, waste network traffic, and large performance occupancy and storage space occupancy.

[0026] To this end, the embodiment of the present application transcodes the first video according to the target video receiving end identifier and the display data of the first video component to obtain the second video, so that the transcoded second video can adapt to the target video receiving end corresponding to the target video receiving end identifier, thereby saving the network traffic of the target video receiving end, reducing the performance occupancy of the target video receiving end, and reducing the storage space occupancy of the target video receiving end.

[0027] Based on this, the present application proposes a video publishing method, system, storage medium and electronic device.

[0028] See also Figure 1 The video publishing method provided in the embodiment of the present application includes:

[0029] S10: Receive at least one first video uploaded by the video publishing end, display data of the first video component, and an identifier of a target video receiving end for receiving the first video; wherein the display data of the first video component is used to indicate a display layout of the first video component displaying the first video on the video publishing end.

[0030] The video publishing terminal displays a video publishing interface. Specifically, the video publishing interface includes but is not limited to a component selection area, a component display area, and a component control area. The component selection area is used to select and add various components, including but not limited to video components, text components, and image components. The component display area is used to display component content, and the component control area is used to control the preview, saving, and publishing of component content.

[0031] In an embodiment of the present application, a video publisher can choose to add at least one video component in the component selection area. After adding at least one video component, the component display area displays at least one first video component. Among them, the component display area can be a blank area, and the first video component is a video playback window. The video publisher can adjust the display data of the first video component. The display data of the first video component includes the display position, width ratio, height ratio and display style of the first video component in the component display area. Specifically, the video publisher can drag the first video component to change the position coordinates of the first video component in the component display area. The video publisher can scale the first video component and change the background color, transparency and other display styles of the first video component.

[0032] The component control area displays controls for previewing, saving, and publishing component content. A video publisher can trigger the preview control to preview the component content in the component display area, and trigger the save control to save the component content locally. A video publisher can publish a video in the video publishing interface, publishing the first video to the target video receiving terminal via the server. The video publishing operation triggers the publish control.

[0033] Specifically, the component control area displays a video upload control and a video receiving end list. The video publisher triggers the video upload control and uploads a first video for each first video component. The first video can be a video stored locally by the video publisher, or a video downloaded from the Internet by the video publisher. The video content in the first video can be introduction information of goods in the mall and promotion information of activities, etc. The video receiving end list includes several video receiving end identifiers, and the several video receiving end identifiers are used to uniquely identify the video receiving end. The video receiving end identifier can be the name, number, etc. of the video receiving end. The video receiving end can be each cloud screen in the mall. The video publisher can select the target video receiving end identifier to receive the first video from several video receiving end identifiers, and then click the publishing control. The video publisher responds to the triggering operation of the publishing control by the video publisher and sends the uploaded at least one first video, the display data of the first video component, and the target video receiving end identifier to receive the first video to the server.

[0034] S20: Obtain display data of the second video component according to the target video receiving end identifier and the display data of the first video component; wherein the display data of the second video component is used to indicate the display layout of the second video component displaying the second video at the target video receiving end.

[0035] The display data of the second video component includes the display position, width, height and display style of the second video component at the target video receiving end. The second video is the video played in the second video component.

[0036] In an embodiment of the present application, the server obtains the screen resolution of the target video receiving terminal based on the target video receiving terminal identifier. Based on the screen resolution of the target video receiving terminal and the width ratio and height ratio of the first video component, the width and height of the second video component at the target video receiving terminal are obtained. Based on the screen resolution of the target video receiving terminal and the position coordinates of the first video component, the position coordinates of the second video component at the target video receiving terminal are obtained. The display style of the second video component is consistent with that of the first video component.

[0037] S30: According to the display data of the second video component, the first video is transcoded to obtain a second video, and the second video is sent to the target video receiving end corresponding to the target video receiving end identifier for display.

[0038] Among them, the width and height of the second video component displayed on the target video receiving end determine the upper limit of the video resolution of the video played on the target video receiving end.

[0039] In an embodiment of the present application, a target resolution adapted to the second video component is determined based on the width and height of the second video component. The resolution of the first video is compared with the target resolution. If the resolution of the first video is greater than the target resolution, the first video is transcoded to obtain a second video with the target resolution. If the resolution of the first video is less than the target resolution, the first video is not transcoded and is directly used as the second video.

[0040] By applying the embodiment of the present application, the first video is transcoded according to the target video receiving end identifier and the display data of the first video component to obtain the second video, so that the transcoded second video can adapt to the target video receiving end corresponding to the target video receiving end identifier, thereby saving the network traffic of the target video receiving end, reducing the performance occupancy of the target video receiving end, and reducing the storage space occupancy of the target video receiving end.

[0041] In an optional embodiment, the display data of the first video component includes a first ratio of a width of the first video component to a width of the video publishing interface, and a second ratio of a height of the first video component to a height of the video publishing interface; step S20 includes steps S201 to S203, which are specifically as follows:

[0042] S201: Obtaining a screen resolution of a target video receiving end according to a target video receiving end identifier.

[0043] The first ratio and the second ratio are the percentages of the width and height of the first video component to the size of the video publishing interface, respectively. For example, if the size of the video publishing interface is 1920x 1080 and the size of the first video component is 960x 540, then the percentages of the width and height of the first video component to the size of the video publishing interface are both 0.5.

[0044] In an embodiment of the present application, the video receiving end is a cloud screen. Before several cloud screens communicate with the server, the cloud screens need to be bound to the server first, and information such as the name, serial number, and screen resolution of the cloud screens need to be uploaded to the server. The server will save this information.

[0045] S202: Determine the width of the second video component according to the screen resolution of the target video receiving end and the first ratio.

[0046] The target video receiving end is a target cloud screen, and the screen resolution of the target video receiving end includes the horizontal pixel count and the vertical pixel count of the target cloud screen.

[0047] In this embodiment of the present application, the width of the second video component is obtained by multiplying the horizontal pixel count of the target cloud screen by the first ratio. For example, if the screen resolution of the target cloud screen is 1080P and the first ratio is 0.5, the width of the second video component is 960.

[0048] S203: Determine the height of the second video component according to the screen resolution of the target video receiving end and the second ratio.

[0049] In this embodiment of the present application, the second ratio of the vertical pixel count of the target cloud screen is multiplied to obtain the height of the second video component. For example, if the screen resolution of the target cloud screen is 1080P and the second ratio is 0.5, the height of the second video component is 540.

[0050] The step of performing video transcoding on the first video according to the display data of the second video component to obtain the second video in step S30 includes steps S301 to S302, which are specifically as follows:

[0051] S301: Determine a target video resolution according to a width of the second video component, a height of the second video component, and a mapping relationship between a preset video component size and a video resolution.

[0052] Among them, in the preset mapping relationship between video component size and video resolution, one video component size corresponds to a unique video resolution.

[0053] In an embodiment of the present application, the width and height of the second video component are compared with the preset video component size, the preset video component size closest to the second video component is determined, and the video resolution corresponding to the video component size is used as the target video resolution.

[0054] S302: Perform video transcoding on the first video according to the target video resolution to obtain a second video.

[0055] In an embodiment of the present application, the video resolution of the first video is transcoded into a target video resolution to obtain a second video.

[0056] Based on the width and height of the second video component and the mapping relationship between the preset video component size and the video resolution, the target video resolution can be automatically and quickly determined.

[0057] In an optional embodiment, step S301 includes steps S3011 to S3012, which are specifically as follows:

[0058] S3011: Determine the maximum value from the width of the second video component and the height of the second video component.

[0059] In an embodiment of the present application, the server compares the size of the width of the second video component and the height of the second video component. If the second video component is 960*540, the maximum value is 960.

[0060] S3012: Determine the target video resolution according to the numerical range where the maximum value is located and the mapping relationship between the preset numerical area and the video resolution.

[0061] Among them, in the mapping relationship between the preset numerical area and the video resolution, one numerical area corresponds to a unique video resolution.

[0062] In an embodiment of the present application, the maximum value m of the width and height of the second video component is taken for matching. If 0 < m <= 640, the target video resolution is 480P; if 480 < m <= 1280, the target video resolution is 720P; if 1280 < m <= 1920, the target video resolution is 1080P; if 1920 < m <= 4096, the target video resolution is 4K.

[0063] For example, if the uploaded first video is a 4K video, a 720P second video is transcoded. The target video receiver with the second video component width and height of 2048*1080 plays the 4K first video, and the target video receivers with the second video component width and height of 960*540 and 640*360 play the 720P video.

[0064] If the uploaded first video is a 1080P video, a 720P second video is transcoded. The target video receiver with the second video component width and height of 2048*1080 plays the 1080P first video, and the target video receivers with the second video component width and height of 960*540 and 640*360 play the 720P second video.

[0065] Based on the maximum value of the width and height of the second video component and the mapping relationship between the preset numerical area and the video resolution, the target video resolution can be automatically and quickly determined.

[0066] In an optional embodiment, step S302 includes step S3021, which is specifically as follows:

[0067] S3021: Perform video transcoding on the first video according to the target video resolution, the preset bit rate, and the preset encoding format to obtain a second video.

[0068] In the embodiment of the present application, considering that different cloud screens have different video decoding capabilities, some low-performance cloud screens may not support high-bitrate videos or video formats, resulting in unsuccessful video decoding and abnormal video playback. To this end, the server transcodes the first video into a second video with a universal bitrate and universal encoding format to avoid playback anomalies in the second video. Specifically, the universal bitrate is less than or equal to 10Mps, and the universal encoding format is H.264.

[0069] Optionally, the server can also limit the frame rate, packaging format, pixel format, maximum video resolution, and video compression rate of the second video to maximize the compatibility of the second video on different cloud screens and avoid playback anomalies of the second video. For example, the frame rate is less than 30fps, the packaging format is MP4, the maximum video resolution is 4K, the pixel format is not converted by default, and the video compression rate is not converted below main.

[0070] In an optional embodiment, before sending the second video to the target video receiving end corresponding to the target video receiving end identifier for display, steps S1 to S4 are included, which are specifically as follows:

[0071] S1: Generate a first video identifier based on the first video; generate a web page link based on the display data of the first video component and the first video identifier; and send the web page link to a target video receiving end corresponding to the target video receiving end identifier.

[0072] The first video identifier is used to identify the storage location of the first video on the server. The first video identifier can be a video link or a video address.

[0073] In an embodiment of the present application, when the video publisher publishes the first video, the server generates a web link and sends it to the target cloud screen. Specifically, after receiving the first video sent by the video publisher, the server saves the first video and generates a first video identifier. After receiving the display data of the first video component sent by the video publisher, the server generates a web link based on the display data of the first video component and the first video identifier, and sends the web link to the target cloud screen.

[0074] S2: Generate a second video identifier based on the second video; and establish an association relationship among the first video identifier, display data of the second video component, and the second video identifier.

[0075] The second video identifier is used to identify the storage location of the second video in the server 20. The second video identifier can be a video link or a video address.

[0076] Among them, in the association relationship among the first video identifier, the display data of the second video component and the second video identifier, the first video identifier and the display data of the second video component jointly determine a unique second video identifier.

[0077] In an embodiment of the present application, after transcoding the first video, the server obtains the second video, saves the second video, and generates a second video identifier.

[0078] Since there can be multiple first videos and multiple target video receiving terminals, there can also be multiple second videos stored on the server. By establishing an association between the first video identifier, the display data of the second video component, and the second video identifier, the corresponding second video identifier can be determined based on the first video identifier and the display data of the second video component, thereby determining the second video corresponding to the second video identifier.

[0079] S3: Receive a video playback request sent by the target video receiving end. The video playback request is a response by the target video receiving end to a trigger operation on a web page link, and obtains the display data of the first video component according to the web page link; determines the display data of the second video component according to the display data of the first video component; and generates according to the display data of the second video component and the first video identifier.

[0080] In an embodiment of the present application, a user clicks a web link on the target cloud screen to access the web page corresponding to the web link. The web page displays a second video component. Specifically, the target cloud screen responds to the click operation on the web link, parses the web link, obtains the display data of the first video component and the first video identifier. The screen resolution of the target cloud screen is obtained, and the second video component is displayed according to the display data of the first video component and the screen resolution of the target cloud screen. The process of determining the display data of the second video component according to the display data of the first video component is consistent with the process of the server obtaining the display data of the second video component, and will not be repeated here.

[0081] S4: Parse the video playback request, determine the corresponding second video identifier according to the first video identifier and the display data and the association relationship of the second video component; and send the second video corresponding to the second video identifier to the target video receiving end.

[0082] In an embodiment of the present application, the server stores multiple second videos, each of which corresponds to a unique second video identifier. The server searches for the corresponding second video identifier based on the first video identifier and the display data of the second video component carried in the video playback request, and sends the second video corresponding to the second video identifier to the target video receiving terminal.

[0083] Among them, considering that in the server, a first video can be transcoded into multiple second videos with different video resolutions, the server can only determine which second video to return if the target cloud screen provides the first video identifier corresponding to the first video and the width and height of the second video component at the same time.

[0084] For example, if there are two video components on the video publishing interface, one video component accounts for 100% of the width and height of the video publishing interface, and the other video component accounts for 10% of the width and height of the video publishing interface. If the first video is 4K, the video component with a width and height of 100% should play the second video in 1080P, and the video component with a width and height of 10% should play the second video in 420P. Since the first videos corresponding to the two video components are the same, only the first video identifier is sent to the server, and the server may return 1080P or 420P. Therefore, the first video identifier and the width and height of the second video component are sent to the server, and the server can return the corresponding second video to each second video component.

[0085] By receiving the video playback request sent by the target cloud screen, the server can accurately return the corresponding second video to the target cloud screen.

[0086] In an optional embodiment, step S4 includes steps S401 to S402, which are specifically as follows:

[0087] S401: Parse the video playback request and determine whether a corresponding second video identifier is found based on the first video identifier, display data of the second video component, and the association relationship.

[0088] S402: When the corresponding second video identifier is found, the corresponding second video is determined according to the second video identifier; and the second video is sent to a target video receiving end.

[0089] In an embodiment of the present application, when the server starts video transcoding, the target cloud screen will also receive a web link. When the target cloud screen responds to the trigger operation of the web link and sends a video playback request to the server, the server may be performing video transcoding, or the video transcoding may be completed, or the video transcoding may have failed. Therefore, after receiving the video playback request, the server will determine whether the corresponding second video identifier is queried. If the corresponding second video identifier is queried, it means that the second video has been transcoded, and the second video is sent to the target cloud screen so that the second video component of the target cloud screen plays the second video. If the corresponding second video identifier is not queried, the video transcoding status is detected and the video transcoding status is returned to the second video component of the target receiving end. Specifically, if the first video is being transcoded, the second video component displays "Video Preparing"; if the first video transcoding fails, the second video component displays "Video Abnormal".

[0090] The server can automatically and quickly send the second video to the target cloud screen by determining whether the corresponding second video identifier is found.

[0091] See also Figure 2 The video publishing system 1 provided in the embodiment of the present application includes a video publishing terminal 10, a server 20 and a plurality of video receiving terminals; the video publishing terminal 10 and the plurality of video receiving terminals 30 are respectively connected to the server 20 for communication;

[0092] In response to a video publishing operation on the video publishing interface, the video publishing terminal 10 transmits at least one uploaded first video, display data of the first video component, and an identifier of a target video receiving terminal for receiving the first video to the server 20; wherein the display data of the first video component is used to indicate a display layout of the first video component displaying the first video on the video publishing terminal 10;

[0093] The server 20 obtains display data of the second video component according to the target video receiving terminal identifier and the display data of the first video component; wherein the display data of the second video component is used to indicate the display layout of the second video component displaying the second video at the target video receiving terminal;

[0094] The server 20 performs video transcoding on the first video according to the display data of the second video component to obtain a second video, and sends the second video to the target video receiving end corresponding to the target video receiving end identifier for display.

[0095] The specific process of the above system embodiment is consistent with the method embodiment and will not be repeated here.

[0096] In an optional embodiment, before the server 20 sends the second video to the target video receiving end corresponding to the target video receiving end identifier for display, the server 20 includes the following steps:

[0097] The server 20 generates a first video identifier based on the first video; generates a web link based on the display data of the first video component and the first video identifier; and sends the web link to the target video receiving end corresponding to the target video receiving end identifier;

[0098] The server 20 generates a second video identifier based on the second video; establishes an association relationship between the first video identifier, the display data of the second video component, and the second video identifier;

[0099] The target video receiving end displays the web link; in response to a triggering operation on the web link, obtains display data of the first video component according to the web link; determines display data of the second video component according to the display data of the first video component; generates a video play request according to the display data of the second video component and the first video identifier; and sends the video play request to the server;

[0100] The server 20 parses the video playback request, determines the corresponding second video identifier based on the first video identifier, the display data of the second video component, and the association relationship; and sends the second video corresponding to the second video identifier to the target video receiving end.

[0101] The steps of the above system embodiment can be referred to steps S1 to S4 in the method embodiment, which will not be repeated here.

[0102] In an optional embodiment, the video publishing system 1 further includes:

[0103] Each time the second video is played, the target video receiving end saves the first video identifier, the second video identifier, and the display data of the second video component corresponding to the second video into a cache.

[0104] In an embodiment of the present application, the target cloud screen will cache web page data and save the first video identifier, the second video identifier and the display data of the second video component corresponding to the second video into the cache. Specifically, it is cached in the form of an index key-value pair, the first video identifier corresponding to the second video is the index key, and the second video identifier corresponding to the second video and the display data of the second video component are the values ​​of the index key. For example, {key: first video identifier, result: [url: 1080P second video identifier (corresponding to the second video 1080p) width: 1920, height: 1090}, {url: second video identifier (corresponding to the second video 720P) width: 1280, height: 720}]}.

[0105] In an offline state, the target video receiving end searches for a corresponding second video identifier from a cache according to display data of the current video component and the current first video identifier; and obtains a corresponding second video according to the corresponding second video identifier.

[0106] In the offline state, it is impossible to query the server 20 for the corresponding second video identifier. At this time, the target cloud screen needs to match the second video identifier cached locally.

[0107] In an embodiment of the present application, the target cloud screen uses the current first video identifier to query the second video identifier set corresponding to the current first video identifier from the index key-value pair, and then compares the display data of the current video component with the display data of the second video component in the second video identifier set to determine the display data of the second video component closest to the display data of the current video component, and determines the second video identifier corresponding to the display data of the closest second video component as the queried second video identifier.

[0108] The target cloud screen can play the second video in an offline state by caching web page data.

[0109] In an optional embodiment, in an offline state, the target video receiving end queries the corresponding second video identifier from the cache according to the display data of the current video component and the current first video identifier, including:

[0110] The target video receiving end queries the corresponding second video identification set according to the current first video identification; wherein the second video identification set includes a plurality of second video identifications and the width and height of the second video component corresponding to each second video identification;

[0111] The target video receiving end determines the maximum value between the width of the current video component and the height of the current video component, and calculates the difference between the maximum value and the maximum value between the width of the second video component corresponding to each second video identifier and the height of the corresponding second video component;

[0112] The target video receiving end uses the second video identifier with the smallest difference as the second video identifier to be searched from the cache for a match.

[0113] In an embodiment of the present application, the maximum value n of the width and height of the current video component is first determined. If the current video component is 1800x 1200, then n is 1800. Then, the maximum value of the width of the second video component corresponding to the cached second video identifier and the height of the corresponding second video component and the difference between n are calculated, and the second video identifier with the smallest difference is determined as the matching second video identifier. For the second video identifier (corresponding to the second video 1080P), the maximum value is 1920, and for the second video identifier (corresponding to the second video 720P), the maximum value is 1280. The differences with n are 120 and 520 respectively. The second video identifier corresponding to the second video 1080P should be taken.

[0114] By comparing the maximum value of the width and height of the current video component with the maximum value of the width and height of the second video components in the second video identifier set, the second video identifier of the current video component can be automatically and quickly determined.

[0115] This application also provides a device embodiment that can be used to execute the content of the video publishing method in the embodiment of this application. For details not disclosed in the device embodiment of this application, please refer to the content of the video publishing method in the embodiment of this application.

[0116] See also Figure 3 The present application further provides an electronic device 300, which can be a computer, a video publishing device, etc. In an exemplary embodiment of the present application, the electronic device 300 is a video publishing device, which includes: at least one processor 301, at least one memory 302, at least one display, at least one network interface 303, a user interface 304, and at least one communication bus 305.

[0117] The user interface 304 is mainly used to provide an input interface for the user and obtain data input by the user. Optionally, the user interface can also include a standard wired interface or a wireless interface.

[0118] The network interface 303 may optionally include a standard wired interface or a wireless interface (such as a WI-FI interface).

[0119] The communication bus 305 is used to realize the connection and communication between these components.

[0120] Among them, the processor 301 may include one or more processing cores. The processor uses various interfaces and lines to connect the various parts of the entire electronic device, and performs various functions of the electronic device and processes data by running or executing instructions, programs, code sets or instruction sets stored in the memory, and calling data stored in the memory. Optionally, the processor can be implemented in the form of at least one hardware of digital signal processing (DSP), field programmable gate array (FPGA), and programmable logic array (PLA). The processor can integrate one or more combinations of a central processing unit (CPU), a graphics processing unit (GPU), and a modem. Among them, the CPU mainly processes the operating system, user interface, and application programs; the GPU is responsible for rendering and drawing the content to be displayed by the display layer; and the modem is used to handle wireless communications. It is understandable that the above-mentioned modem may not be integrated into the processor and may be implemented separately through a chip.

[0121] Among them, the memory 302 may include a random access memory (RAM) or a read-only memory (Read-Only Memory). Optionally, the memory includes a non-transitory computer-readable storage medium. The memory can be used to store instructions, programs, codes, code sets or instruction sets. The memory may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as a touch function, a sound playback function, an image playback function, etc.), instructions for implementing the above-mentioned various method embodiments, etc.; the data storage area may store data involved in the above-mentioned various method embodiments, etc. The memory may also be optionally at least one storage device located away from the aforementioned processor. As Figure 3 As shown, the memory as a computer storage medium may include an operating system, a network communication module, a user interface module, and an operating application program.

[0122] The processor can be used to call the application of the video publishing method of the video publishing device stored in the memory, and specifically execute the method steps of the above-mentioned embodiment. The specific execution process can be referred to the specific description shown in the method embodiment, which will not be repeated here.

[0123] This application also provides a computer-readable storage medium storing a computer program, which contains instructions suitable for being loaded by a processor and executing the method steps of the above-described embodiments. The specific execution process can be referred to the specific description of the embodiments and is not described in detail here. The device containing the storage medium can be a personal computer, laptop computer, smartphone, tablet computer, video distribution device, or other electronic device.

[0124] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to the partial description of the method embodiments. The device embodiments described above are merely illustrative, wherein the components described as separate parts may or may not be physically separated, and the parts shown as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the present application scheme. A person of ordinary skill in the art can understand and implement it without paying any creative work.

[0125] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0126] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing device to work in a specific way, so that the instructions stored in the computer-readable memory produce a product including an instruction device, which implements the function selected in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 function selected in a box or multiple boxes.

[0127] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 steps for the function selected in a box or multiple boxes.

[0128] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0129] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0130] Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0131] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.

[0132] The above are merely embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.

Claims

1. A video publishing method, characterized in that: The steps include: Receive at least one first video uploaded by a video publishing end, display data of a first video component, and an identifier of a target video receiving end for receiving the first video; wherein the display data of the first video component is used to indicate a display layout of the first video component displaying the first video on the video publishing end; Obtaining display data of a second video component according to the target video receiving terminal identifier and the display data of the first video component; wherein the display data of the second video component is used to indicate a display layout of the second video component displaying the second video on the target video receiving terminal; According to the display data of the second video component, the first video is transcoded to obtain a second video, and the second video is sent to the target video receiving end corresponding to the target video receiving end identifier for display.

2. The video publishing method according to claim 1, wherein: Before sending the second video to the target video receiving end corresponding to the target video receiving end identifier for display, the method includes the following steps: Generate a first video identifier based on the first video; generate a webpage link based on the display data of the first video component and the first video identifier; and send the webpage link to a target video receiving end corresponding to the target video receiving end identifier; generating a second video identifier according to the second video; Establishing an association relationship among the first video identifier, the display data of the second video component, and the second video identifier; receiving a video play request sent by the target video receiving end, wherein the video play request is a response by the target video receiving end to a triggering operation on the web page link, obtaining display data of the first video component according to the web page link; and determining display data of the second video component according to the display data of the first video component; Generated according to the display data of the second video component and the first video identifier; Parsing the video playback request, and determining a corresponding second video identifier according to the first video identifier, the display data of the second video component, and the association relationship; The second video corresponding to the second video identifier is sent to the target video receiving end.

3. The video publishing method according to claim 1, wherein: The display data of the first video component includes a first ratio of a width of the first video component to a width of the video publishing interface, and a second ratio of a height of the first video component to a height of the video publishing interface; The step of obtaining display data of the second video component according to the target video receiving end identifier and the display data of the first video component includes: Obtaining a screen resolution of the target video receiving end according to the target video receiving end identifier; determining a width of the second video component according to a screen resolution of the target video receiving end and the first ratio; determining a height of the second video component according to a screen resolution of the target video receiving end and the second ratio; The step of performing video transcoding on the first video according to the display data of the second video component to obtain the second video includes: Determining a target video resolution according to the width of the second video component, the height of the second video component, and a mapping relationship between a preset video component size and a video resolution; According to the target video resolution, the first video is transcoded to obtain a second video.

4. The video publishing method according to claim 3, wherein: The step of determining the target video resolution according to the width of the second video component, the height of the second video component, and a mapping relationship between a preset video component size and a video resolution includes: determining a maximum value from a width of the second video component and a height of the second video component; The target video resolution is determined according to the numerical interval where the maximum value is located and the mapping relationship between the preset numerical range and the video resolution.

5. The video publishing method according to claim 3, wherein: The step of performing video transcoding on the first video according to the target video resolution to obtain the second video includes: The first video is transcoded according to the target video resolution, the preset bit rate and the preset encoding format to obtain a second video.

6. The video publishing method according to claim 2, wherein: parsing the video playback request, and determining a corresponding second video identifier according to the first video identifier, the display data of the second video component, and the association relationship; The step of sending the second video corresponding to the second video identifier to the target video receiving end includes: Parsing the video playback request, and determining whether a corresponding second video identifier is found based on the first video identifier, the display data of the second video component, and the association relationship; When the corresponding second video identifier is found, the corresponding second video is determined according to the second video identifier; and the second video is sent to the target video receiving end.

7. A video publishing system, characterized in that: It includes a video publishing end, a server and a plurality of video receiving ends; the video publishing end and the plurality of video receiving ends are respectively connected to the server for communication; The video publishing end sends, in response to a video publishing operation on a video publishing interface, at least one uploaded first video, display data of a first video component, and an identifier of a target video receiving end for receiving the first video to a server; wherein the display data of the first video component is used to indicate a display layout of the first video component displaying the first video on the video publishing end; The server obtains display data of a second video component according to the target video receiving terminal identifier and the display data of the first video component; wherein the display data of the second video component is used to indicate a display layout of the second video component displaying the second video on the target video receiving terminal; The server transcodes the first video according to the display data of the second video component to obtain a second video, and sends the second video to the target video receiving end corresponding to the target video receiving end identifier for display.

8. The video publishing system according to claim 7, characterized in that: Before the server sends the second video to the target video receiving end corresponding to the target video receiving end identifier for display, the server includes the following steps: The server generates a first video identifier based on the first video; and generates a webpage link based on the display data of the first video component and the first video identifier; Sending the webpage link to the target video receiving end corresponding to the target video receiving end identifier; The server generates a second video identifier according to the second video; Establishing an association relationship among the first video identifier, the display data of the second video component, and the second video identifier; The target video receiving end displays the web page link; In response to a triggering operation on the webpage link, obtaining display data of the first video component according to the webpage link; and determining display data of the second video component according to the display data of the first video component; generating a video play request according to the display data of the second video component and the first video identifier; and sending the video play request to a server; The server parses the video playback request and determines a corresponding second video identifier according to the first video identifier, the display data of the second video component, and the association relationship; The second video corresponding to the second video identifier is sent to the target video receiving end.

9. The video publishing system according to any one of claims 7 to 8, characterized in that: Also includes: Each time the second video is played, the target video receiving end saves the first video identifier, the second video identifier, and the display data of the second video component corresponding to the second video into a cache; In an offline state, the target video receiving end queries the corresponding second video identifier from the cache according to the display data of the current video component and the current first video identifier; and obtains the corresponding second video according to the corresponding second video identifier.

10. The video publishing system according to claim 9, characterized in that: The step of, in the offline state, the target video receiving end querying the corresponding second video identifier from the cache according to the display data of the current video component and the current first video identifier, includes: The target video receiving end queries the corresponding second video identification set according to the current first video identification; wherein the second video identification set includes a plurality of second video identifications and the width and height of the second video component corresponding to each second video identification; The target video receiving end determines the maximum value between the width of the current video component and the height of the current video component, and calculates the difference between the maximum value and the maximum value between the width of the second video component corresponding to each second video identifier and the height of the corresponding second video component; The target video receiving end uses the second video identifier with the smallest difference as the second video identifier to be searched from the cache for matching.

11. An electronic device comprising a display, a processor, and a memory; characterized in that: The memory stores a computer program, and the computer program is suitable for being loaded by the processor and executing the video publishing method according to any one of claims 1 to 6.

12. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the video publishing method according to any one of claims 1 to 6 is implemented.