Multimedia carousel method and device, electronic equipment, computer readable storage medium and computer program product
By reusing the multimedia data stream of the on-demand system in the carousel system, the resource consumption and stability problems of multimedia carousel in high concurrency scenarios are solved, and the effect of saving resources and improving user experience is achieved.
Patent Information
- Application Number
- CN202410190330.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-02-20
- Publication Date
- 2025-08-22
AI Technical Summary
The existing multimedia carousel technology consumes a lot of resources in high concurrency scenarios, affects system stability and user experience, and poses a risk of media leakage.
By multiplexing the multimedia data stream of the on-demand system in the carousel system, querying and sending multimedia data streams of various configurations that are adapted to the terminal, local transcoding of the terminal is avoided, resources are saved and stability is improved.
It significantly reduces the resource consumption brought by transcoding, improves the stability and user experience of the carousel system, and eliminates the risk of media leakage.
Smart Images

Figure CN120529112A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to Internet communication technology, and in particular to a multimedia carousel method, device, electronic device, computer-readable storage medium, and computer program product. Background Art
[0002] In the internet world, multimedia carousels have become an important medium for information dissemination, meeting the needs of various sectors, including e-commerce, entertainment, and education. Compared to on-demand content, carousels feature looping playback, enabling the dissemination of multimedia information.
[0003] In the carousel solution of the related art, the source video file is first uploaded to the carousel system through the network. When the user requests to play, the multimedia data stream adapted to the terminal is obtained through real-time transcoding; then, it is sent to the terminal for playback.
[0004] Due to the limitation of the terminal's own cache space, it is difficult to cache the entire multimedia data stream of the source video file. Therefore, each time it is played, it needs to be transcoded before it can be pushed to the terminal. In other words, the carousel system needs to transcode once every time the terminal plays it, which leads to a large consumption of resources of the carousel system. Especially in the scenario of high concurrency of carousel requests, it will affect the stability of the carousel system and the user experience. Summary of the Invention
[0005] The embodiments of the present application provide a multimedia carousel method, apparatus, electronic device, computer-readable storage medium, and computer program product, which can save resources of a carousel system and improve the stability of the carousel system.
[0006] The technical solution of the embodiment of the present application is implemented as follows:
[0007] The present invention provides a multimedia carousel method, which includes:
[0008] receiving a carousel request, wherein the carousel request is sent by the terminal when a display position of the terminal is triggered, the carousel request carries a target identifier of a target multimedia file, and the target multimedia file is a multimedia file associated with the display position;
[0009] Based on the target identifier, querying a video-on-demand system for multimedia data streams of multiple configurations corresponding to the target multimedia file, wherein the multimedia data streams of multiple configurations are generated by the video-on-demand system transcoding the target multimedia file in response to a video-on-demand request for the target multimedia file;
[0010] Determining a target multimedia data stream adapted to the terminal from the plurality of configured multimedia data streams;
[0011] The target multimedia data stream is sent to the terminal, wherein the target multimedia data stream is used to be played at the display position.
[0012] The present invention provides a multimedia carousel device, comprising:
[0013] a receiving module, configured to receive a carousel request, wherein the carousel request is sent by the terminal when a display position of the terminal is triggered, the carousel request carries a target identifier of a target multimedia file, and the target multimedia file is a multimedia file associated with the display position;
[0014] a query module configured to query, based on the target identifier, a plurality of configured multimedia data streams corresponding to the target multimedia file from the on-demand system, wherein the plurality of configured multimedia data streams are generated by the on-demand system transcoding the target multimedia file in response to a video-on-demand request for the target multimedia file;
[0015] a determination module, configured to determine a target multimedia data stream adapted to the terminal from the multimedia data streams of the multiple configurations;
[0016] The processing module is configured to send the target multimedia data stream to the terminal, wherein the target multimedia data stream is configured to be played at the display location.
[0017] An embodiment of the present application provides an electronic device, comprising:
[0018] a memory for storing computer-executable instructions;
[0019] The processor is configured to implement the multimedia carousel method provided in the embodiment of the present application when executing the computer executable instructions stored in the memory.
[0020] An embodiment of the present application provides a computer-readable storage medium storing a computer program or computer-executable instructions for implementing the multimedia carousel method provided in the embodiment of the present application when executed by a processor.
[0021] An embodiment of the present application provides a computer program product, including a computer program or computer-executable instructions. When the computer program or computer-executable instructions are executed by a processor, the multimedia carousel method provided in the embodiment of the present application is implemented.
[0022] The embodiments of the present application have the following beneficial effects:
[0023] When responding to a carousel request for a display position, the system queries the multimedia data streams of various configurations transcoded by the on-demand system when responding to the on-demand request, and sends an adapted target multimedia data stream to the terminal. Compared with the related art that performs transcoding every time a carousel request is responded to, on the one hand, it saves the real-time transcoding link and significantly reduces the resource consumption caused by transcoding, especially in the high concurrency scenario of carousel requests, which can significantly improve the stability of the carousel system. On the other hand, since the multimedia data stream sent to the terminal is adapted to the terminal, the effect of the terminal playing the multimedia data stream at the display position is ensured, and the user experience is guaranteed. On the other hand, since the multimedia data stream of the on-demand system is multiplexed, there is no need to introduce multimedia files locally in the carousel system as in the related art, eliminating the risk of local data leakage. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] Figure 1A 1 is a schematic diagram of the architecture of the multimedia carousel system 100 provided in an embodiment of the present application;
[0025] Figure 1B 1 is another schematic diagram of the architecture of the multimedia carousel system 100 provided in an embodiment of the present application;
[0026] Figure 2 2 is a schematic diagram of the structure of the on-demand system 200 provided in an embodiment of the present application;
[0027] Figure 3 3 is a structural diagram of a carousel system 300 provided in an embodiment of the present application;
[0028] Figure 4 6 is a schematic structural diagram of a live broadcast system 600 provided in an embodiment of the present application;
[0029] Figure 5 Schematic diagram of the structure of the carousel management server 320 provided in an embodiment of the present application;
[0030] Figure 6A This is a flowchart of a multimedia carousel method provided in an embodiment of the present application;
[0031] Figure 6B This is a flowchart of the carousel task processing provided by the embodiment of the present application;
[0032] Figure 6C This is a schematic diagram of a process for querying multimedia data streams of various configurations provided by an embodiment of the present application;
[0033] Figure 6D Schematic diagram of the flow of the on-demand transcoding method provided in an embodiment of the present application;
[0034] Figure 6E This is another flowchart of the on-demand transcoding method provided by an embodiment of the present application;
[0035] Figure 6F This is a flowchart of the audio and video detection provided by the embodiment of the present application;
[0036] Figure 6G 1 is a flow chart of sending a target multimedia data stream according to an embodiment of the present application;
[0037] Figure 6H 1 is a flow chart of obtaining an update detection result of a display position provided in an embodiment of the present application;
[0038] Figure 6I This is a flowchart of a method for obtaining fragments provided in an embodiment of the present application;
[0039] Figure 6J This is another flowchart of the multimedia carousel method provided in an embodiment of the present application;
[0040] Figure 7 This is a diagram of the on-demand transcoding architecture provided by an embodiment of the present application;
[0041] Figure 8A This is a schematic diagram of a block storage structure provided by an embodiment of the present application;
[0042] Figure 8B This is a schematic diagram of a file storage structure provided by an embodiment of the present application;
[0043] Figure 8C This is a schematic diagram of the object storage structure provided by an embodiment of the present application;
[0044] Figure 9 This is a schematic diagram of creating a carousel task provided by an embodiment of the present application;
[0045] Figure 10 This is a schematic diagram of the human-computer interaction interface of the terminal provided in an embodiment of the present application;
[0046] Figure 11 This is a diagram of the carousel system architecture provided by an embodiment of the present application;
[0047] Figure 12 This is a schematic diagram of system interaction provided by an embodiment of the present application;
[0048] Figure 13 This is a flow chart of the shard update strategy provided in an embodiment of the present application. DETAILED DESCRIPTION
[0049] In order to make the purpose, technical solutions and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limiting this application. All other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0050] In the following description, reference is made to “some embodiments”, which describes a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0051] In the following description, the "first / second / third" involved are merely terms to distinguish similar objects and do not represent a specific order for the objects. It can be understood that "first / second / third" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.
[0052] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program that has a predetermined function and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories) or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.
[0053] Unless otherwise specified, "at least one" mentioned below refers to one or more situations, and "a plurality of" may refer to two or more situations.
[0054] Unless otherwise defined, all technical and scientific terms used in the embodiments of the present application have the same meanings as those commonly understood by those skilled in the art. The terms used in the embodiments of the present application are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.
[0055] Before further describing the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations.
[0056] 1) On-demand, a multimedia file (such as video or audio) playback format, is used to push multimedia data based on the user's on-demand request. Each on-demand request is played a fixed number of times, which is one time. If the user needs to play again, they need to send another on-demand request.
[0057] 2) Carousel: A form of looping playback of existing multimedia files, achieving an effect similar to online "pseudo-live broadcast". There is no limit to the number of times each carousel request can be played. That is, for a carousel request, after playing the requested multimedia file or files once, it will continue to play the next one.
[0058] 3) Content Delivery Network (CDN) refers to a computer network system interconnected through the Internet. It uses the server closest to each user to send music, pictures, videos, applications, and other files to users faster and more reliably, providing high-performance, scalable, and low-cost network content delivery to users.
[0059] 4) Identity Document (ID), which is a unique code of a multimedia file and can be represented by at least one of numbers and letters.
[0060] 5) m3u8 file, a file format for describing multimedia playlists. It is a text-based format commonly used in streaming services, especially for the transmission of streaming media (HTTP Live Streaming, HLS) based on the Hypertext Transfer Protocol (HTTP).
[0061] 6) Transport Stream (TS), also known as multimedia data stream, is a standard format for transmitting and storing various data including video, audio and communication protocols, and is used in digital television broadcasting systems, etc.
[0062] 7) Segment, also known as TS segment, is the smallest transmission unit of multimedia data stream. Each segment can be decoded and played independently.
[0063] 8) The camera position, also known as the display position, is the carousel entrance on the terminal's video playback interface. A display position is associated with at least one (i.e., one or more) multimedia files. When the display position is triggered, the terminal will send a carousel request to the carousel system and play according to the multimedia data stream returned by the carousel system.
[0064] 9) Presentation Time Stamp (PTS), also known as timestamp, indicates the display time of the original frame obtained after decoding the compressed frame.
[0065] 10) Object storage is a data storage technology that differs from file storage and block storage. Unlike file storage, which stores data in files with a specific file system and block storage, which stores data in blocks with specific block devices, object storage stores data as objects across distributed, unordered storage devices.
[0066] 11) Buffer: A storage area maintained by the player for media data that has been downloaded but not yet played. When the buffer is low (e.g., below a data threshold), the player will speed up downloads or slow down playback to avoid playback lags. When the buffer is high (e.g., above a data threshold), the player can increase playback speed appropriately to keep up with real-time progress.
[0067] 12) Fragmented Moving Picture Experts Group 4 (FMP4) is a video and audio streaming format and an extension of the MPEG-4 Part 12 standard. Unlike traditional MP4, FMP4 divides media files into multiple fragments, each of which is a complete MP4 file containing media data, metadata, and index information.
[0068] 13) Configuration, i.e., parameters of the multimedia data stream. Different configurations correspond to different resolutions. For example, if the multimedia data stream is transcoded from a video file, the configuration includes at least the resolution and bitrate, and may also include the frame rate and keyframes per second. If the multimedia data stream is transcoded from an audio file, the configuration includes at least the bitrate and may also include the sampling rate.
[0069] During the implementation of this application, the applicant discovered that the related technology realizes the carousel of multimedia files through the following methods.
[0070] The first method is to use a director software such as a Software Development Kit (SDK) or third-party software to push the stream. First, after completing the on-demand video file that needs to be rotated, the director software pushes the on-demand file to a specified Internet Protocol (IP) address, transpacks it, and distributes it to the outside in the form of a pseudo-live broadcast. This method has the following technical problems: 1) It requires a lot of operational manpower and costs, and the person responsible for the rotation needs to manually maintain the rotation status at all times; 2) Repeated transcoding consumes a lot of resources; 3) The operation of downloading the video file to the local computer has the risk of media leakage for some on-demand videos with relatively high media confidentiality requirements, and the security is relatively low.
[0071] The second method is to pull and push the on-demand file stream, and the carousel business party builds its own director system. The director system transpacks the multimedia files to obtain the carousel stream and distributes it to the outside. The director system generally uses encoding tools (such as ffmepg) internally to implement it, and configures different parameters according to specific actual needs to perform more complex processing to meet usage requirements. Except for the different media sources and transpackaging executors, the subsequent process is basically the same as the first method. However, this method has the following technical problems: 1) A source file is still required as the input for transcoding to form a carousel stream with different clarity. When the number of carousel channels increases, transcoding consumes more resources; 2) This model must ensure that the resolution and encoding specifications of multiple videos are consistent, otherwise the playback end may experience abnormalities such as screen distortion and freezes, the carousel is less stable, and the user experience is poor.
[0072] Based on the above analysis, the applicant found that the multimedia carousel method of the related art consumes a lot of resources, which affects the stability of the carousel. In response to the above technical problems, the embodiments of the present application provide a multimedia carousel method, device, electronic device, computer-readable storage medium and computer program product, which can save the resources of the carousel system and improve the stability of the carousel system. The following describes an exemplary application of the electronic device provided by the embodiment of the present application. The electronic device provided by the embodiment of the present application can be implemented as various types such as laptop computers, tablet computers, desktop computers, set-top boxes, smart phones, smart speakers, smart watches, smart TVs and car terminals, and can also be implemented as a server.
[0073] In some embodiments, see Figure 1A , Figure 1A This is a schematic diagram of the architecture of the multimedia carousel system 100 provided in an embodiment of the present application. To implement multimedia carousel, the terminal 400 (illustrated as a human-computer interaction interface 410) interacts with the on-demand system 200 or the carousel system 300 through the network 500 to implement the playback of multimedia data streams. The network 300 can be a wide area network or a local area network, or a combination of the two. For example, the terminal 400 can send an on-demand request to the on-demand system 200 through the network 500 to obtain the multimedia data stream of the on-demand system 200; it can also send a carousel request to the carousel system through the network 500. In this case, the carousel system 300 sends a query instruction to the on-demand system 200 to obtain the multimedia data streams of various configurations transcoded by the on-demand system, and sends the target multimedia data stream corresponding to the target identifier of the target multimedia file carried in the carousel request to the terminal 400 through the network 500.
[0074] In some embodiments, see Figure 2 , Figure 2 2 is a schematic diagram of the structure of the on-demand system 200 provided in an embodiment of the present application. Figure 2The structure of the VOD system 200 shown includes VOD operation and maintenance equipment 210 , an upload server 220 , an access server 230 , a VOD transcoding server 240 , a VOD storage server 250 , an index server 260 , and a VOD streaming server 270 .
[0075] In some embodiments, see Figure 3 , Figure 3 is a structural diagram of a carousel system 300 provided in an embodiment of the present application. Figure 3 The structure of the carousel system 300 shown includes a carousel operation and maintenance device 310 , a carousel management server 320 , a task server 330 and a carousel source station 340 .
[0076] In some embodiments, see Figure 1B , Figure 1B This is another architectural diagram of the multimedia carousel system 100 provided in an embodiment of the present application. To support a multimedia carousel application, the terminal 400 (exemplarily showing a human-computer interaction interface 410) interacts with the on-demand system 200 or the carousel system 300 or the live broadcast system 600 through the network 500 to realize the playback of multimedia data streams. The network 300 can be a wide area network or a local area network, or a combination of the two. For example, the terminal 400 can send an on-demand request to the on-demand system 200 through the network 500 to obtain the multimedia data stream of the on-demand system 200; the terminal 400 can also send a carousel request to the carousel system through the network 500. At this time, the carousel system 300 sends a query instruction to the on-demand system 200 to obtain the multimedia data streams of various configurations transcoded by the on-demand system, and sends the multimedia data streams of various configurations to the terminal 400 through the network 500; the terminal 400 can also send a live broadcast request to the live broadcast system 600 through the network 500, and obtain the multimedia data stream through real-time transcoding of the live broadcast system 600.
[0077] In some embodiments, see Figure 4 , Figure 4 6 is a structural diagram of a live broadcast system 600 provided in an embodiment of the present application. Figure 3 The structure of the live broadcast system 600 shown includes a live broadcast operation and maintenance device 610, a live broadcast management server 620, a live broadcast streaming server 630, a live broadcast transcoding server 640, a live broadcast storage server 650 and a live broadcast source station 660.
[0078] In some embodiments, the terminal 400 is used to receive multimedia files uploaded by the business party; in response to the terminal display position being triggered, a configuration interface for the operation and maintenance party to configure the carousel task is displayed; in response to the user's triggering operation on the display position, a carousel request is sent to the carousel system, and a display position associated with the multimedia file is displayed, and the target multimedia data stream corresponding to the target multimedia file is played at the display position.
[0079] In some embodiments, the multimedia carousel method provided in the embodiments of the present application is applied to a carousel system 300, wherein the carousel management server 320 is used to receive a carousel request carrying an identifier of a target multimedia file sent by a user through a terminal 400; by multiplexing a plurality of configured multimedia data streams transcoded for the target multimedia file by a multiplexing on-demand system, based on the identifier of the target multimedia file, query a plurality of configured multimedia data streams corresponding to the target multimedia file from the on-demand system; determine a target multimedia data stream adapted to the terminal from the plurality of configured multimedia data streams; and send the target multimedia data stream to the terminal.
[0080] In some embodiments, the multimedia file processing method provided in the embodiments of the present application can be applied to an in-vehicle terminal. A user sends a carousel request for a target multimedia file to a server via the in-vehicle terminal. The server receives the carousel request sent by the user via the in-vehicle terminal. Based on the identifier of the target multimedia file, the server queries the on-demand system for multiple configured multimedia data streams corresponding to the target multimedia file. From the multiple configured multimedia data streams, the server determines a target multimedia data stream that is compatible with the terminal. The server then sends the target multimedia data stream to the in-vehicle terminal for playback at a display location on the in-vehicle terminal.
[0081] In some embodiments, the carousel management server 320 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms. The terminal and the server can be connected directly or indirectly through wired or wireless communication, which is not limited in the embodiments of the present application.
[0082] See also Figure 5 , Figure 5 is a structural diagram of the carousel management server 320 provided in an embodiment of the present application. Figure 5 The carousel management server 320 shown includes: at least one processor 321, a memory 323 and at least one network interface 322. The various components in the carousel management server 320 are coupled together via a bus system 324. It is understood that the bus system 324 is used to achieve connection and communication between these components. In addition to including a data bus, the bus system 324 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, the bus system 324 is not described in detail. Figure 5 Various buses are labeled as bus system 324 .
[0083] The processor 321 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., where the general-purpose processor can be a microprocessor or any conventional processor, etc.
[0084] The memory 323 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, optical drives, etc. The memory 323 may optionally include one or more storage devices physically located away from the processor 321.
[0085] The memory 323 includes volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory may be a read-only memory (ROM), and the volatile memory may be a random access memory (RAM). The memory 323 described in the embodiments of the present application is intended to include any suitable type of memory.
[0086] In some embodiments, the memory 323 can store data to support various operations, examples of which include programs, modules, and data structures, or a subset or superset thereof, as exemplified below.
[0087] Operating system 3231, including system programs for processing various basic system services and performing hardware-related tasks, such as the framework layer, core library layer, and driver layer, which are used to implement various basic services and process hardware-based tasks;
[0088] A network communication module 3232 is used to reach other electronic devices via one or more (wired or wireless) network interfaces 322. Exemplary network interfaces 322 include Bluetooth, Wi-Fi, and Universal Serial Bus (USB).
[0089] In some embodiments, the apparatus provided in the embodiments of the present application may be implemented in software. Figure 5 A multimedia carousel device 3233 stored in memory 323 is shown. This device can be software in the form of a program or plug-in, and includes the following software modules: a receiving module 32331, a query module 32332, a determination module 32333, and a processing module 32334. These modules are logical and can be arbitrarily combined or further separated according to the functions they implement. The functions of each module will be described below.
[0090] In some embodiments, the terminal or server can implement the multimedia carousel method provided in the embodiments of the present application by running various computer executable instructions or computer programs. For example, computer executable instructions can be microprogram-level commands, machine instructions or software instructions. The computer program can be a native program or software module in the operating system; it can be a native application (APPlication, APP), that is, a program that needs to be installed in the operating system to run, such as an audio and video playback APP; it can also be a small program that can be embedded in any APP, that is, a program that can be run only by downloading it to a browser environment. In short, the above-mentioned computer executable instructions can be instructions in any form, and the above-mentioned computer program can be an application, module or plug-in in any form.
[0091] The multimedia carousel method provided in the embodiment of the present application will be described in combination with the exemplary application and implementation of the server provided in the embodiment of the present application.
[0092] The following describes the multimedia carousel method provided by the embodiment of the present application. As mentioned above, the electronic device that implements the multimedia carousel method of the embodiment of the present application can be a terminal or a server, or a combination of the two. Therefore, the execution entity of each step will not be repeated below.
[0093] See also Figure 6A , Figure 6A This is a flowchart of the multimedia carousel method provided by the embodiment of the present application. Taking the carousel management server as the execution subject as an example, Figure 6A The steps shown are explained.
[0094] In step 101, a carousel request is received, wherein the carousel request is sent by the terminal when a display position of the terminal is triggered. The carousel request carries a target identifier of a target multimedia file, and the target multimedia file is a multimedia file associated with the display position.
[0095] In some embodiments, a carousel management server receives a carousel request sent by a terminal. The carousel management server is used to manage and configure carousel tasks. For example, it can be used to allow a carousel operation and maintenance device to create a carousel task and set carousel task-related information, such as the start time, end time, carousel title, and display position of the carousel.
[0096] In some embodiments, the multimedia carousel method is applied to a carousel system, which includes a task server. Figure 6B , Figure 6B This is a flow chart of the carousel task processing provided by the embodiment of the present application. Figure 6A Before step 101, the carousel task can be processed by Figure 6BSteps 201 to 203 are implemented as described below.
[0097] In step 201, a carousel task configured by a carousel operator is obtained, wherein the carousel task includes an identifier for instructing a display position to play at least one multimedia file in a loop, and the at least one multimedia file includes a target multimedia file.
[0098] In some embodiments, the carousel management server in the carousel system obtains the corresponding carousel task in response to the configuration operation of the operation and maintenance personnel on the carousel operation and maintenance equipment. The carousel task includes the association relationship between the display position and the multimedia file, and may also include the identification of the carousel task.
[0099] For example, in carousel task 1, display position 1 is used to play multimedia file 1 and multimedia file 2; in carousel task 2, display position 2 is used to play multimedia file 3 and multimedia file 4.
[0100] In some embodiments, obtaining the carousel task configured by the carousel operation and maintenance device can be achieved in the following way: receiving the identification of at least one multimedia file uploaded by the carousel operation and maintenance device, wherein the identification of at least one multimedia file is obtained by the carousel operation and maintenance device by displaying a human-computer interaction interface, wherein the human-computer interaction interface includes a control for setting the identification of at least one multimedia file.
[0101] In some embodiments, obtaining the carousel task configured by the carousel operation and maintenance party device also includes receiving the identifier of the carousel task uploaded by the carousel operation and maintenance party device, wherein the identifier of the carousel task is also obtained by the carousel operation and maintenance party device by displaying a human-computer interaction interface, wherein the human-computer interaction interface also includes a control for setting the identifier of the carousel task.
[0102] For example, see Figure 9 , Figure 9 This is a schematic diagram of creating a carousel task provided in an embodiment of the present application. Figure 9 The configuration interface shown includes a play type 901 , a task addition 902 , and a task display 903 , wherein the play type 901 includes a carousel task identifier 904 , and the task addition 902 is a control for setting the identifier of a multimedia file.
[0103] The embodiment of the present application configures carousel tasks through the carousel management server, so that the carousel system can respond to the control strategy of the server and realize the automation process of the carousel system. Compared with the related technology that requires a lot of manual operation costs, the real-time maintenance of the carousel status can significantly reduce the labor cost of the carousel, and at the same time effectively avoid the error rate caused by problems such as manual operation, thereby improving the user experience.
[0104] In some embodiments, the configuration operation of the carousel task by the carousel operation and maintenance device is displayed through a human-computer interaction interface, and the identification of the carousel task and the identification of at least one multimedia file associated with the display position in the carousel task are displayed on the human-computer interaction interface to distinguish different carousel tasks or multimedia files.
[0105] In step 202, the carousel task is written into the task server.
[0106] In some embodiments, the carousel system includes a carousel access layer, and the carousel tasks configured by the carousel operation and maintenance party equipment are recorded by the carousel access layer in the carousel system, and the carousel tasks are written into the task server in the carousel system.
[0107] In step 203, the carousel task is read from the task server, and the introduction information of the carousel task is obtained. The introduction information of at least one multimedia file included in the carousel task is sent to the terminal through the content distribution network, so that the terminal displays the introduction information at the display position.
[0108] In some embodiments, the multimedia file may be a video file or an audio file. If the multimedia file is a video file, the introduction information of the multimedia file includes the video cover, specifically the key frames of the video cover; if the multimedia file is an audio file, the introduction information of the multimedia file includes a content summary of the audio file.
[0109] In some embodiments, the task server can be implemented using data storage components of various storage technologies. The data storage components can be relational databases, such as Oracle database, MyStructured Query Language (MYSQL), Microsoft Structured Query Language Server (Microsoft SQL Server); or non-relational databases, such as Remote Dictionary Server (Redis), Bigtable, and Hadoop Database (HBase).
[0110] Continue to see Figure 6A , continue with step 101 above for explanation.
[0111] In step 102, based on the target identifier, a plurality of configured multimedia data streams corresponding to the target multimedia file are queried from the on-demand system, wherein the plurality of configured multimedia data streams are formed by the on-demand system transcoding the target multimedia file when responding to a on-demand request for the target multimedia file.
[0112] For example, the on-demand system can transcode to form a multimedia data stream with a 4K resolution and a bit rate of 5966 kilobits per second (Kbps), or a multimedia data stream with a 1080P resolution and a bit rate of 2327Kbps, or a multimedia data stream with a 720P resolution and a bit rate of 1247Kbps, etc.
[0113] The embodiment of the present application multiplexes the multimedia data stream of the on-demand system, and does not need to introduce multimedia files locally in the carousel system as in the related art, thereby eliminating the risk of local data leakage.
[0114] In some embodiments, the on-demand system includes an on-demand storage server and an index server. Figure 6C , Figure 6C This is a flowchart of querying multimedia data streams of various configurations provided in an embodiment of the present application. Figure 6A Step 102 can be achieved by Figure 6C Steps 1021 to 1022 are implemented as described below.
[0115] In step 1021, based on the target identifier, the index server is called to perform an index query operation to obtain a target index position associated with the target identifier, wherein the index server stores associations between different identifiers and different index positions.
[0116] In some embodiments, the identifiers of different multimedia files are associated with different index positions in the index server. Based on the target identifier of the target multimedia file, the index server can be called to perform an index query operation to query the target index position associated with the target identifier of the target multimedia file.
[0117] In step 1022, based on the target index position, the on-demand storage server is called to perform a data query operation to obtain the data located at the target index position as a multimedia data stream with multiple configurations corresponding to the target multimedia file, wherein different index positions store multimedia data streams with multiple configurations corresponding to different multimedia files.
[0118] In some embodiments, the data storage technology of the on-demand storage server can be implemented through file storage, block storage, object storage, etc. File storage stores data in files with a specific file system; block storage stores data in blocks with specific block devices; object storage stores data in the form of objects in distributed, unordered storage devices. An object can contain any type of data, including text, images, videos, etc.
[0119] In some embodiments, block storage is connected to the server via a storage area network (SAN). There are also various other block storage access methods, such as Infiniband (IB) technology and Ethernet-based Internet Small Computer System Interface (iSCSI). For the server, block storage provides a remotely accessible logical disk that is divided into small disks of different sizes and then mapped to the server via the SAN network. These remotely mapped small disks can be used as the server's operating system boot disk or as data disks. These data disks can be added to the operating system's file system or directly managed and used by applications such as databases.
[0120] For example, see Figure 8A , Figure 8A It is a schematic diagram of the block storage structure provided in an embodiment of the present application. Figure 8A The logical disk provided by the block storage shown is divided into five parts, including a data packet header 801A, a class directory 802A, a row target 803A, a row data 804A, and remaining available space 805A.
[0121] In some embodiments, file storage is also called shared file storage. A file storage typically includes a set of name servers and a set of data servers. The name servers store file indexes and metadata, while the data servers store files. These servers are interconnected via a local area network (LAN), and clients generally access the file storage via the LAN.
[0122] For example, see Figure 8B , Figure 8B It is a schematic diagram of the file storage structure provided in an embodiment of the present application. Figure 8B The diagram shows a name server 801B, a data server 802B, a local area network 803B, and a client terminal 804B. Name server 801B stores a file index 8011B and metadata 8012B, while data server 802B stores a data file 8021B. In response to a file query command from client terminal 804, the file index 8011B and metadata 8012B in name server 801B can be used to query data file 8021B in data server 802B via local area network 803.
[0123] In some embodiments, an object storage system typically includes a set of access nodes and a set of data nodes. Access nodes provide access interfaces, while data nodes are responsible for storing object indexes, metadata, and data. These nodes can form local object storage clusters over a local area network (LAN) or cross-site object storage clusters over a wide area network (WAN). Clients can directly access the object storage system over the WAN using applications using an application programming interface (API), eliminating reliance on the host server and operating system.
[0124] For example, see Figure 8C , Figure 8C This is a schematic diagram of the object storage structure provided by the embodiment of this application. Figure 8C As shown, in the on-demand storage server, data is stored in units of objects, and each object includes an index object, a data object, and a metadata object.
[0125] The following describes an implementation method in which the on-demand system transcodes the target multimedia file to form multimedia data streams with various configurations when responding to a on-demand request for the target multimedia file.
[0126] In some embodiments, see Figure 6D , Figure 6D Schematic diagram of the on-demand transcoding method provided in an embodiment of the present application. Figure 6A The transcoding in step 102 can be done by Figure 6D Steps 301 to 304 are implemented as described below.
[0127] In step 301, a target multimedia file uploaded by a VOD operation and maintenance party device is received, wherein the target multimedia file is obtained by the VOD operation and maintenance party device in response to a file upload operation.
[0128] In some embodiments, the target multimedia file may be a video file or an audio file.
[0129] For example, see Figure 7 , Figure 7 This is a diagram of the on-demand transcoding architecture provided by an embodiment of the present application. Figure 7 The business party 710 shown in the figure uploads the multimedia file to the on-demand middle station 720 of the on-demand system through the on-demand operation and maintenance party equipment, where the multimedia file includes the target multimedia file; the on-demand middle station 720 includes an access layer 721, a task queue 722, a media processing 723, other processing 724 and an indexing service 725.
[0130] In step 302, a video-on-demand transcoding task corresponding to the target multimedia file is created, and the video-on-demand transcoding task is sent to a task queue.
[0131] In some embodiments, in response to a VOD transcoding request from a business party through a VOD operation and maintenance party device, the VOD system creates a VOD transcoding task corresponding to the target multimedia file and sends the VOD transcoding task to a task queue.
[0132] For example, in response to the on-demand transcoding request from the business party through the on-demand operation and maintenance party's device, the on-demand system creates an on-demand transcoding task corresponding to the multimedia file, including an on-demand transcoding task corresponding to the target multimedia file. Figure 7 The upload service and access service in the access layer 721 are shown to send on-demand transcoding tasks corresponding to different business parties to the task queue 722. For example, if the multimedia file uploaded by business party 1 is the target multimedia file, then task 1 created for business party 1 is the on-demand transcoding task corresponding to the target multimedia file.
[0133] In step 303 , in response to the on-demand request for the target multimedia file, an on-demand transcoding task is scheduled from the task queue.
[0134] In some embodiments, in response to a video-on-demand request for a target multimedia file, the video-on-demand system schedules a video-on-demand transcoding task corresponding to the target multimedia file from a plurality of video-on-demand transcoding tasks in a task queue.
[0135] In some embodiments, the on-demand transcoding tasks may be scheduled in the order in which they were created, using a first-in, first-out principle. For example, if the on-demand transcoding tasks enter the task queue in the order of Task 1, then Task 2, the order in which they are scheduled is Task 1, then Task 2.
[0136] In some embodiments, the priority of the business partner affects the priority of on-demand transcoding tasks. For example, if Task 1 and Task 2 are created simultaneously, and Task 1's business partner has a higher priority than Task 2's business partner, then the time Task 1 enters the task queue will be reduced by a set value. That is, Task 1 enters the task queue before Task 2. In this case, the tasks are scheduled in the order of Task 1, then Task 2.
[0137] In step 304, the on-demand transcoding task is executed, wherein the on-demand transcoding task is used for the on-demand system to perform a transcoding operation on the target multimedia file to obtain multimedia data streams of various configurations corresponding to the target multimedia file.
[0138] For example, you can use Figure 7The media processing 723 shown executes the on-demand transcoding task to obtain multimedia data streams of various configurations corresponding to the multimedia files, including multimedia data streams of various configurations corresponding to the target multimedia files. The multimedia data streams of various configurations can also be stored in an object storage manner. At the same time, the media processing 723 can also perform a screenshot operation. For the multimedia data streams of various configurations obtained by on-demand transcoding, it can also be stored in an object storage manner. Figure 7 Other processing 724 shown is for push review, push source, multi-bitrate configuration, download, image plug-in, real-time screenshot and other operations. Figure 7 The indexing service 725 shown can perform transcoding operations on the target multimedia file according to the target identifier of the target multimedia file, and then, through the medium usage 730, use the playback scheduling method to play the target multimedia data stream corresponding to the target multimedia file on the player.
[0139] In some embodiments, see Figure 6E , Figure 6E This is another flowchart of the on-demand transcoding method provided in an embodiment of the present application. Figure 6D In step 304, the on-demand system can perform transcoding of the target multimedia file by Figure 6E Steps 401 to 404 are implemented as described below.
[0140] In step 401 , the target multimedia file is transcoded into a transcoded multimedia file that meets a preset resolution and a preset bit rate.
[0141] In some embodiments, the resolution and bit rate of the multimedia file are associated with the definition of the multimedia file, and files with different definition specifications are associated with different resolutions and bit rates.
[0142] For example, see Table 1 for the correlation between different definition specification files and different resolutions and bit rates.
[0143] Clarity specifications Resolution Bitrate 4k 3840×2160 5966Kbps 1080P 1920×1080 2327Kbps 720P 1280×720 1247Kbps HD 896×504 590Kbps Smooth 640×360 330Kbps
[0144] Table 1
[0145] In some embodiments, when the target multimedia file is an audio file, the target multimedia file is transcoded into a transcoded multimedia file that meets a preset bit rate.
[0146] In some embodiments, many streaming protocols support adaptive bitrates, such as HyperText Transfer Protocol Live Streaming (HLS) and Dynamic Adaptive Streaming over HyperText Transfer Protocol (DASH), which automatically select appropriate video quality based on network conditions. The player can dynamically switch between different bitrates based on download speed and buffer status for a smoother playback experience.
[0147] In some embodiments, artificial intelligence (AI) technology can be used to transcode a target multimedia file into a transcoded multimedia file with a preset resolution and a preset bit rate. For example, for a target multimedia file with a low resolution and bit rate, AI technology can be used to increase the resolution and bit rate of the target multimedia file; similarly, for a target multimedia file with a high resolution and bit rate, AI technology can be used to reduce the resolution and bit rate of the target multimedia file to adapt to the playback requirements of different players.
[0148] Artificial intelligence (AI) refers to the theories, methods, techniques, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, to perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that seeks to understand the essence of intelligence and produce new intelligent machines that can respond in a manner similar to human intelligence. AI also involves studying the design principles and implementation methods of various intelligent machines, enabling them to possess the capabilities of perception, reasoning, and decision-making.
[0149] Artificial intelligence (AI) technology is a comprehensive discipline encompassing a wide range of fields, encompassing both hardware and software technologies. Foundational AI technologies generally include sensors, specialized AI chips, cloud computing, distributed storage, big data processing, pre-trained models, operating / interaction systems, and mechatronics. Pre-trained models, also known as large models or basic models, can be fine-tuned and widely applied to downstream tasks across various AI disciplines. AI software technologies primarily encompass computer vision, speech processing, natural language processing, and machine learning / deep learning.
[0150] In step 402, a first review result of the transcoded multimedia file is obtained.
[0151] In some embodiments, the transcoded multimedia files may be submitted to a manual agent for review, and the multimedia files may be reviewed manually to obtain first review results corresponding to the multimedia files.
[0152] In some embodiments, a transcoded multimedia file can be audited using a pre-trained artificial intelligence model to obtain a first audit result corresponding to the multimedia file. The artificial intelligence model is obtained by training on sample violation files. For example, the model parameters of the artificial intelligence model are updated based on speech features or semantic features extracted from the sample violation files to obtain a pre-trained artificial intelligence model.
[0153] In step 403, in response to the first review result indicating that the content of the transcoded multimedia file is compliant, multiple configurations sent by the on-demand operation and maintenance party device for the transcoded multimedia file are obtained, and the transcoded multimedia file is transcoded into multimedia data streams of multiple configurations.
[0154] In some embodiments, when the multimedia file to be transcoded is a video file, the various configurations of the multimedia data stream obtained by transcoding are reflected in different resolutions and bit rates; in some embodiments, when the multimedia file to be transcoded is an audio file, the various configurations of the multimedia data stream obtained by transcoding are reflected in different sampling rates and bit rates.
[0155] As an example, the content compliance condition may include: the content does not include information that violates laws, regulations, and rules of social networks.
[0156] In step 404, the multimedia data streams of various configurations are stored in the on-demand storage server, and the association between the target index position and the target identifier of the target multimedia file is written in the index server according to the target index position for storing the multimedia data stream in the on-demand storage server.
[0157] In some embodiments, the on-demand storage server may store data in an object storage manner. Figure 8C , Figure 8C This is a schematic diagram of the object storage structure provided by the embodiment of this application. Figure 8C As shown, in the on-demand storage server, data is stored in objects, each of which contains an index object, a data object, and a metadata object. Multimedia data streams with various configurations are stored as data objects in the on-demand storage server; the various configurations and durations of the multimedia data streams are stored as metadata objects; and based on the index location of the multimedia data stream stored on the on-demand storage server, the association between the index location and the identifier of the target multimedia file is written to the index server as an index object.
[0158] In some embodiments, when the target multimedia file is a video file, the transcoding operation is performed by the on-demand system after determining that the error value of the target multimedia file is less than an error threshold, where the error value is the difference between the video duration and the audio duration of the target multimedia file.
[0159] In some embodiments, see Figure 6F , Figure 6F This is a flowchart of the audio and video detection provided by the embodiment of this application. Figure 6D Before the on-demand system transcodes the target multimedia file in step 304, it can execute Figure 6F Steps 501 to 503 perform audio and video detection on the target multimedia file, as described in detail below.
[0160] In step 501, the audio duration and video duration of the target multimedia file are detected.
[0161] In some embodiments, before the on-demand system transcodes the target multimedia file, it needs to perform audio and video detection on the target multimedia file, and determine whether to perform on-demand transcoding operation on the target multimedia file by detecting the audio duration and video duration of the target multimedia file.
[0162] In step 502, the difference between the audio duration and the video duration is determined as an error value for audio and video detection.
[0163] In some embodiments, the difference between the audio duration and the video duration obtained by audio and video detection is used as an error value for audio and video detection of the target multimedia file.
[0164] For example, the audio duration of target multimedia file 1 is 30 seconds and the video duration is 40 seconds, then the error value of the audio and video detection corresponding to target multimedia file 1 is 10 seconds; the audio duration of target multimedia file 2 is 35 seconds and the video duration is 38 seconds, then the error value of the audio and video detection corresponding to target multimedia file 2 is 3 seconds.
[0165] In step 503 , in response to the error value being less than the error threshold, on-demand transcoding is performed on the target multimedia file.
[0166] In some embodiments, in response to the error value being greater than or equal to an error threshold, the on-demand transcoding operation on the target multimedia file is stopped.
[0167] For example, if the error threshold is 5 seconds, then the error value of the target multimedia file 1 in the above example is 10 seconds, which is greater than the error threshold, and the on-demand transcoding operation of the target multimedia file 1 is stopped; in the above example, the error value of the target multimedia file 2 is 3 seconds, which is less than the error threshold, and the on-demand transcoding operation of the target multimedia file 2 can continue.
[0168] By performing audio and video detection on the target multimedia files to be transcoded, screening out multimedia files with a large difference between the audio duration and the video duration (greater than or equal to the error threshold), and stopping the on-demand transcoding operation, the resource consumption of the on-demand system can be reduced and resource utilization can be improved.
[0169] Continue to see Figure 6A , continue with step 102 above for explanation.
[0170] In step 103, a target multimedia data stream adapted to the terminal is determined from among the multimedia data streams of multiple configurations.
[0171] In some embodiments, determining a target multimedia data stream that is adapted to a terminal from multimedia data streams of multiple configurations can be achieved in the following manner: obtaining network status parameters and hardware configuration parameters of the terminal, and determining a multimedia data stream that is adapted to at least one of the network status parameters and hardware configuration parameters from multimedia data streams of multiple configurations as the target multimedia data stream; wherein the network status parameters are positively correlated with the resolution and bit rate of the multimedia data stream, and the hardware configuration parameters are positively correlated with the fragment size of the multimedia data stream.
[0172] In an embodiment of the present application, based on the network status parameters and hardware configuration parameters of the terminal, a multimedia data stream that is adapted to at least one of the network status parameters and hardware configuration parameters is determined from a plurality of configured multimedia data streams as the target multimedia data stream. Therefore, the multimedia data stream sent to the terminal is adapted to the terminal, ensuring the effect of the terminal playing the multimedia data stream at the display position and guaranteeing the user experience.
[0173] In step 104, a target multimedia data stream is sent to the terminal, wherein the target multimedia data stream is used for playing at the presentation location.
[0174] In some embodiments, the target multimedia data stream includes a plurality of segments. Figure 6G , Figure 6G This is a flow chart of sending a target multimedia data stream provided in an embodiment of the present application. Figure 6A Step 104 can be achieved by Figure 6G Steps 1041 to 1043 are implemented as described below.
[0175] In step 1041 , the display position is periodically detected to obtain an update detection result of the current period of the display position, wherein the update detection result indicates whether the display position has cached slices for a preset time period.
[0176] In some embodiments, see Figure 6H , Figure 6HThis is a flow chart of obtaining an update detection result of a display position provided in an embodiment of the present application. Figure 6G Step 1041 can be achieved by Figure 6H Steps 10411 to 10413 are implemented as described below.
[0177] In step 10411, the difference between the shard timestamp of the display position updated in the previous cycle and the current timestamp is determined as the shard time difference.
[0178] In some embodiments, the difference between the slice timestamp of the display position updated in the previous cycle and the current timestamp is used as the slice time difference, and the update detection result of the display position is determined based on the slice time difference.
[0179] For example, if the last time the fragment timestamp of display position 1 was updated in the previous cycle was 10:20, and the current display position is played at 10:19:30, the fragment time difference is 30 seconds; if the last time the fragment timestamp of display position 2 was updated in the previous cycle was 11:00, and the current display position is played at 10:58:30, the fragment time difference is 1 minute and 30 seconds.
[0180] In step 10412, in response to the sharding time difference being less than or equal to the preset duration, it is determined that the update detection result is that the display position has not cached shards for the preset duration.
[0181] In some embodiments, in response to the shard time difference being less than or equal to a preset duration, determining that the update detection result is that the display position has not cached shards for the preset duration indicates that a shard update operation is required for the display position.
[0182] For example, in the above example, if the preset duration is 1 minute and the shard time difference of display position 1 is 30 seconds, then the update detection result of display position 1 is determined to be that display position 1 has not cached shards for the preset duration, indicating that display position 1 needs to perform a shard update operation.
[0183] In step 10413, in response to the fragment time difference being greater than the preset duration, it is determined that the update detection result is that the display position has cached fragments for the preset duration.
[0184] In some embodiments, in response to the sharding time difference being greater than a preset duration, determining that the update detection result is that the display location has cached shards for the preset duration indicates that the display location does not need to perform a sharding update operation.
[0185] For example, in the above example, if the preset duration is 1 minute and the shard time difference of display position 2 is 1 minute and 30 seconds, the update detection result of display position 2 is determined to be that display position 2 has cached shards for the preset duration, indicating that display position 2 does not need to perform a shard update operation.
[0186] Continue to see Figure 6G, continue with step 1041 above for explanation.
[0187] For each current cycle in step 1041 , the processing of steps 1042 and 1043 is performed.
[0188] In some embodiments, the display location is associated with shard information, wherein the shard information includes a latest timestamp of the display location.
[0189] In step 1042, in response to the update detection result indicating that the presentation location has not cached segments for the preset duration, the latest timestamp of the presentation location after the last update is obtained based on the target identifier of the target multimedia file. The latest timestamp is the timestamp of the segment with the latest playback time cached by the presentation location after the last update.
[0190] In some embodiments, in response to the update detection result indicating that the display position has not cached the slices for a preset time period, that is, when the display position needs to perform a slice update operation, the latest timestamp of the display position after the last update is obtained according to the target identifier of the target multimedia file.
[0191] For example, a display position updated four shards in the previous cycle: shard 1, shard 2, shard 3, and shard 4. The timestamps for shard 1 are 10:00-10:05, shard 2 are 10:06-10:10, shard 3 are 10:10-10:15, and shard 4 are 10:16-10:20. Therefore, the latest timestamp for the display position after the previous cycle is the timestamp corresponding to shard 4.
[0192] In step 1043, a segment whose timestamp is after the latest timestamp and whose difference with the current timestamp is less than or equal to a preset duration is obtained from the target multimedia data stream, and the obtained segment is sent to the terminal, where the current timestamp is the timestamp of the segment currently being played at the display position.
[0193] For example, if the preset duration is 1 minute, a fragment whose timestamp is after the timestamp of fragment 4 in the above example and whose difference with the current timestamp is less than or equal to 1 minute is obtained from the target multimedia data stream and sent to the terminal.
[0194] The embodiment of the present application determines whether a display location needs to be updated based on the fragment information (timestamp and fragment identifier), thereby ensuring that the display location caches fragments of sufficient length, thereby ensuring smooth playback of the multimedia data stream on the terminal.
[0195] In some embodiments, the segment information further includes the latest segment identifier of the display position, wherein the latest segment identifier is the identifier of the segment with the latest playback time that has been cached by the display position.
[0196] For example, in the above example, the four segments whose display positions are updated are segment 1, segment 2, segment 3, and segment 4. The timestamps of segment 1 are 10:00-10:05, the timestamps of segment 2 are 10:06-10:10, the timestamps of segment 3 are 10:10-10:15, and the timestamps of segment 4 are 10:16-10:20. Among the four segments whose display positions are updated, the segment with the latest playback time is identified as segment 4.
[0197] See also Figure 6I , Figure 6I It is a flowchart of the method for obtaining fragments provided in an embodiment of the present application. Figure 6G Step 1043 can be achieved by Figure 6I Steps 10431 to 10434 are implemented as described below.
[0198] In step 10431, an index file of the target multimedia data stream is obtained, wherein the index file includes an association relationship between an identifier of a segment and an index position of the segment.
[0199] For example, in the index file, the association between the shard identifier and the shard's index position is: shard 1 corresponds to index position 1, shard 2 corresponds to index position 2, shard 3 corresponds to index position 3, shard 4 corresponds to index position 4, shard 5 corresponds to index position 5, and shard 6 corresponds to index position 6.
[0200] In some embodiments, the identification of the fragment is stored in the on-demand storage server of the on-demand system, and the association relationship between the identification of the fragment and the index position of the fragment can be recorded in the form of a list file. For example, the target multimedia data stream can be stored in the form of TS fragments, and the m3u8 file, as the list file corresponding to the target multimedia data stream, contains the URL address of the audio and video data in the TS fragments. According to the URL address of the audio and video data, the position of the target multimedia data stream can be queried.
[0201] In step 10432, the latest shard identifier updated in the previous cycle is obtained.
[0202] In some embodiments, the latest segment identifier of the display position currently being updated and detected, which was updated in the previous period, is obtained, wherein the latest segment identifier is the identifier of the segment with the latest playback time that has been cached by the display position.
[0203] For example, from the four shards updated in the previous cycle shown in the above example, the latest shard obtained is identified as shard 4.
[0204] In step 10433, based on the latest fragment identifier, the index position of the fragment whose timestamp is after the latest timestamp and whose difference with the current timestamp is less than or equal to the preset time length is queried from the index file.
[0205] In some embodiments, based on the latest fragment identifier of the display position, the index position of the fragment whose timestamp is after the latest timestamp and the difference with the current timestamp is less than or equal to a preset time length is queried from the index file.
[0206] For example, the index position of the fragment whose timestamp is after the timestamp of fragment 4 and whose difference with the current timestamp is less than or equal to the preset time length of 1 minute is queried from the index file as index position 5.
[0207] In step 10434, based on the index position of the queried shard, the shard whose timestamp is after the latest timestamp and whose difference with the current timestamp is less than or equal to the preset time length is obtained.
[0208] In some embodiments, based on the index position of the queried fragment, a fragment whose timestamp is after the latest timestamp and the difference with the current timestamp is less than or equal to a preset duration is obtained from the on-demand storage server of the on-demand system.
[0209] For example, according to the index position 5 of the queried fragment, the fragment corresponding to the index position 5 is obtained from the on-demand storage server of the on-demand system as fragment 5.
[0210] In some embodiments, the carousel system includes a carousel source station. A target multimedia data stream including multiple segments can be sent to a terminal in the following manner.
[0211] In some embodiments, the carousel source station is the original site for distributing multimedia data streams related to the carousel task, and is used to distribute the multimedia data streams to end users via a content distribution network or other distribution mechanisms to ensure that end users can receive the multimedia data streams quickly and stably.
[0212] First, the target multimedia data stream is stored in the carousel source station.
[0213] Then, the target multimedia data stream is obtained from the carousel source station, and the target multimedia data stream is sent to the terminal through the content distribution network.
[0214] The carousel system provided in the embodiment of the present application reuses the multimedia data streams of various configurations pre-stored in the on-demand system, and sends the multimedia data streams of different configurations directly to the content distribution network through the carousel source station, and then sends the matching multimedia data streams to the terminal via the content distribution network. Compared with the related art, for each carousel request, repeated transcoding is required to obtain the multimedia data stream corresponding to the multimedia file, which can avoid the waste of resources caused by real-time transcoding operations and effectively save system resources. Especially in the scenario of high concurrency of carousel requests, it will affect the stability of the carousel system and the user experience.
[0215] In some embodiments, see Figure 6J , Figure 6J This is another flowchart of the multimedia carousel method provided by the embodiment of the present application. Figure 6G Before step 1043, you can Figure 6J Steps 601 to 605 are implemented as described below.
[0216] In step 601, a second audit result of the target multimedia data stream is obtained, wherein the second audit result indicates whether the content of the currently played segment in the target multimedia data stream is compliant.
[0217] In some embodiments, the audit of whether the content of the currently played segment in the target multimedia data stream is compliant can be performed by detecting the content of the currently played segment in the target multimedia data stream based on information collected in real time. The real-time collected information includes incremental audit reference data generated after the first audit result, such as new compliance requirements.
[0218] It should be noted that the compliance review of the content of the currently playing segment in the target multimedia data stream is conducted after the first review results, based on the review requirements for incremental information. The second review method is the same as the first review, and can be manual or through an artificial intelligence model.
[0219] In step 602, when the second audit result indicates that the content of the currently played segment in the target multimedia data stream is non-compliant, and the display position is associated with multiple multimedia files including the target multimedia file, identifiers of other multimedia files in the multiple multimedia files are obtained, wherein the other multimedia files are multimedia files other than the target multimedia file in the multiple multimedia files.
[0220] For example, when the display position is associated with multimedia file 1 and multimedia file 2, if multimedia file 1 is the target multimedia data stream, and the second review result is that the currently played segment in multimedia file 1 is non-compliant, the identifier of multimedia file 2 is obtained.
[0221] In step 603, based on the identifiers of the other multimedia files, multiple configurations of other multimedia data streams are queried from the on-demand system, where the multiple configurations of other multimedia data streams are generated by the on-demand system transcoding the other multimedia files when responding to on-demand requests for the other multimedia files.
[0222] In some embodiments, based on the identification of other multimedia files, other multimedia data streams of various configurations are specifically queried from the on-demand storage server of the on-demand system.
[0223] For example, based on the identifier of multimedia file 2 in the above example, the multimedia data streams of various configurations corresponding to multimedia file 2 are queried from the on-demand system, wherein the multimedia data streams of various configurations corresponding to multimedia file 2 are formed by the on-demand system transcoding multimedia file 2 when responding to the on-demand request for multimedia file 2.
[0224] In step 604, a target other multimedia data stream adapted to the terminal is determined from a plurality of configured other multimedia data streams.
[0225] For example, a target multimedia data stream corresponding to the multimedia file 2 adapted to the terminal is determined from the multimedia data streams of various configurations corresponding to the multimedia file 2 in the above example.
[0226] In step 605, the target other multimedia data stream is sent to the terminal, wherein the target other multimedia data stream is used for playing at the presentation position.
[0227] For example, the multimedia data stream corresponding to the multimedia file 2 is sent to the terminal and played at the display position of the terminal.
[0228] The carousel system provided in the embodiment of the present application reuses the multimedia data streams of various configurations pre-stored in the on-demand system. Compared with the related art, for each carousel request, repeated transcoding is required to obtain the multimedia data stream corresponding to the multimedia file, which can avoid the waste of resources caused by real-time transcoding operations and effectively save system resources; by receiving a carousel request carrying the target identifier of the target multimedia file, based on the target identifier, the multimedia data stream corresponding to the target media file is queried from the on-demand system; through the carousel source station, the target multimedia data stream adapted to the terminal is determined from the multimedia data streams of various configurations, and is sent to the terminal via the content distribution network. The multimedia data stream sent to the terminal is adapted to the terminal, ensuring the effect of the terminal playing the multimedia data stream at the display position and the user experience; the carousel management server configures the carousel task to realize the automation process of the carousel system. Compared with the related art that requires a lot of manual operation costs, the real-time maintenance of the carousel status can significantly reduce the labor cost of the carousel, while effectively avoiding the error rate caused by problems such as manual operation, thereby improving the user experience.
[0229] The following describes an exemplary application of the embodiments of the present application in a practical application scenario.
[0230] Currently, most video websites or apps have the video copyrights of many TV series or documentaries. Users sometimes do not take the initiative to understand what high-quality on-demand resources the platform has, and the camera slots are limited. At this time, a carousel can be used to divert traffic to good on-demand resources, attract users to enter the carousel room, and then divert traffic to the corresponding on-demand resources. However, because an ordinary carousel requires real-time transcoding resources, the cost is high, and the number of scenes that can be established is limited, the multimedia carousel method provided by the embodiment of the present application can realize a new form of online carousel, which can effectively solve the above problems.
[0231] First, video carousel is achieved by cutting the video file into segments.
[0232] Video playback in the form of carousel has the following two characteristics: one is that it is long in duration, generally played 24 hours a day, 7 days a week (such as the round-the-clock rotation of TV series); the other is that there are many carousel shows.
[0233] In the related art, the production and construction of carousel streams requires multiple steps such as the production side pushing the stream, the carousel system receiving the stream, transcoding, and transpackaging before it can be sent to the content distribution network source station, and then distributed to users via the content distribution network for playback. If the production and construction of general carousel streams is followed, the more complex stream processing links will consume a lot of resources and the subsequent maintenance costs will also be high. Therefore, the embodiment of the present application can achieve an uninterrupted, low-cost carousel by cutting the video files according to the fragment dimension, without the need for the lengthy production process of ordinary carousel streams.
[0234] Secondly, the distribution of multimedia data streams with various configurations is achieved through the carousel source station.
[0235] The embodiment of the present application sends multimedia data streams of various configurations directly to the content distribution network through the carousel source station, and distributes them to users via the content distribution network, thereby reducing server resource consumption and subsequent maintenance costs, and effectively increasing the maximum upper limit that a system with existing resources can support for the number of carousel types and carousel channels.
[0236] Then, the system configuration is used to achieve the integrated playback of files of different specifications.
[0237] The embodiment of the present application configures the carousel task through the system and responds to the control strategy of the server to enable the background system to automatically sense the timing of video switching, effectively avoiding misoperation or playback freeze caused by manual operation or playback of multimedia data streams, thereby achieving a fusion carousel effect of multiple files with different resolutions and encoding specifications, improving the richness of video content, and optimizing the user playback experience.
[0238] See also Figure 9 , Figure 9 This is a schematic diagram of the carousel task creation provided by the embodiment of this application. When the operator creates the carousel task, Figure 9 Configure the carousel type and the multimedia data stream ID of the carousel on the page.
[0239] Finally, the playback progress of multimedia data streams with different configurations played at the same carousel position (display position) is made consistent.
[0240] The embodiment of the present application takes the carousel source station as the starting point to ensure that the latest segments corresponding to multimedia data streams with different configurations are updated at the same time and distributed to the content distribution network, thereby ensuring that the playback progress of the same camera position selected by different users is consistent.
[0241] See also Figure 10 , Figure 10 This is a schematic diagram of the human-computer interaction interface of the terminal provided by the embodiment of the present application. In response to the user's triggering operation on a position in the terminal, the display Figure 10 Human-computer interaction interface in . Figure 10 The diagram shows a playback interface 1001, a first display position 1002, a second display position 1003, a function key area 1004, a full episode selection area 1005, a details display 1006, and a "More Broadcasts" function key 1007. The playback content on playback interface 1001 is associated with the thumbnail of the first display position 1002 or the second display position 1003. For example, the current playback content on playback interface 1001 is played in response to a user triggering operation on first display position 1002. Function key area 1004 includes two function control keys: comment and introduction. Details display 1006 is associated with the function options in function key area 1004. For example, the content currently displayed in details display 1006 is displayed in response to a user triggering operation on the comment function control key in function key area 1004. In response to a user triggering operation on "More Broadcasts" function key 1007, the interface jumps to another broadcast interface.
[0242] Through the human-computer interaction interface of the terminal provided by this application, it is possible to respond to the user's triggering operations on different camera positions and play different video files. Different users can watch the same video file synchronously on the clients of different terminals and realize online interaction by posting comments.
[0243] See also Figure 11 , Figure 11 This is a carousel system architecture diagram provided in an embodiment of the present application. The multimedia carousel method provided in an embodiment of the present application mainly involves steps such as creation of carousel tasks, synchronization of front-end and back-end tasks, processing and updating of carousel stream fragments, and external distribution of carousel source stations.
[0244] like Figure 11 As shown, first, the operation is carried out according to Figure 9 The operations shown create a carousel task in the carousel management system.
[0245] exist Figure 11 Configure the video playback type and the ID of the multimedia data stream to be played in the carousel management system. In response to the configuration information submission operation on the front-end configuration interface, the back-end service of the carousel management system records the configuration information in the form of fields, namely the playback type and the ID of the multimedia data stream, and transparently transmits the configuration information to the carousel access layer of the carousel system.
[0246] Secondly, the carousel access layer of the carousel system is notified to write the carousel task into the carousel camera storage collection (task server). Then, the carousel source station retrieves the carousel task to be processed from the carousel camera storage collection and distributes the multimedia data stream corresponding to the carousel task to users via the content distribution network. The carousel files in the carousel source station are multiplexed multimedia data streams with various configurations transcoded by the on-demand system. Specifically, the multimedia data streams with various configurations transcoded by the on-demand system are sent to the carousel source station via the on-demand streaming server.
[0247] For example, see Figure 12 , Figure 12 This is a schematic diagram of the system interaction provided by the embodiment of this application. Figure 12 As shown, multimedia data streams with different configurations are used as carousel sources, with the carousel source station as the hub. The m3u8 list is directly obtained from the carousel source, and the carousel position update task is obtained from the Redis carousel position set. The latest shards of the carousel source station are updated regularly. Then, the content distribution network requests the carousel source station to obtain the latest carousel shards, which are distributed to users through the player, realizing the production and distribution of the carousel stream.
[0248] The carousel source station periodically obtains all the currently playing carousel positions that need to be updated from the carousel position storage collection, loops through all the carousel positions and determines whether the current carousel position needs to be updated. Figure 13 , Figure 13 This is a flow chart of the fragment update strategy provided by the embodiment of this application. Figure 13 As shown, after each camera position updates the fragment, the latest updated fragment information of this position will be recorded, which contains necessary information such as fragment timestamp, fragment name, etc. When judging, the timestamp in the last fragment updated in the previous round is compared with the current time (i.e. the time point of the current playback) to see if the timestamp is greater than 20 seconds from the current time (which can be adjusted according to actual conditions). If it is greater than 20 seconds, it means that enough fragments have been updated in advance during playback, and enough buffer is reserved for the player to ensure that the user's playback is not stuck. Therefore, if it is greater than 20 seconds, there is no need to update in this round, and if it is less than 20 seconds, it means that it needs to be updated.
[0249] If it is found that the camera position does not need to be updated in this round, skip it and go to the next one, otherwise continue the process. According to the name of the last updated fragment, determine the last updated ID and the position of the corresponding TS fragment in m3u8, and based on this, determine which one needs to be updated in this round. Figure 9 The ID of the video file in the carousel task configuration list shown corresponds to this. Due to the characteristics of multimedia data streams, replacement, retransmission, and deletion may occur during the lifecycle of the multimedia data stream. If these scenarios occur, it is necessary to determine the latest ID to use.
[0250] After determining the ID, the shards that need to be updated in this round are compared with the m3u8 file of the multimedia data stream based on the last updated shards. When updating, there is no need to download and save the on-demand TS shard files locally. The TS shard addresses in the m3u8 file can be directly transferred to the latest shard Redis collection, or system-compatible addresses can be spliced and stored. They can be directly provided to the public in the subsequent distribution process.
[0251] The carousel source station provides an interface for obtaining carousel segments. The content distribution network regularly requests the source station to return the latest TS segments. The carousel source station obtains the last five segments from the latest segments stored in the Redis shard set (the number of segments is determined by the source station policy), encapsulates them, and then sends them as m3u8 files.
[0252] The embodiment of the present application cuts the video files according to the fragment dimension, thereby avoiding the transcoding process in the carousel stream production and reducing maintenance and operation costs; through the carousel task configuration, the system is automatically operated, avoiding the possibility of errors caused by manual operation and improving the stability of operation; the operator does not need to download the on-demand media files that need to be carousel locally, thereby avoiding the risk of on-demand media leakage due to human negligence or other reasons, and effectively protecting the rights and interests of the copyright holder; the background can sense the timing of switching between different video files and synchronize the client by adding a "stop" carousel tag to the first TS fragment of the second video to avoid subsequent playback jams due to PTS jumps; different definitions under the same camera position can be regularly updated through a unified carousel source station, and the different resolutions of the video files converted by the on-demand transcoding service have the same duration of each fragment, and the unified update service can achieve consistent update progress of different definitions under the same carousel.
[0253] It should be noted that the middleware used for the storage of the shard collection provided in the embodiment of the present application is Redis, which can also be changed to other storage components, such as MySql, cloud storage components, etc.; the shard storage of multimedia data streams can be implemented by cloud object storage, or other object storage service providers can be used; the m3u8 files and TS files involved in the embodiment of the present application can also be replaced by FMP4 files or other video formats that can be cut into small segments; the 20 seconds in the shard update strategy can be adjusted accordingly according to actual conditions, depending on the average length of the video format that can be cut into small segments and the number of shards retained by the carousel source station each time.
[0254] The following continues to describe the exemplary structure of the multimedia carousel device 3233 provided in the embodiment of the present application as a software module. In some embodiments, such as Figure 5 As shown, the software modules stored in the multimedia carousel device 3233 of the memory 323 may include:
[0255] The receiving module 32331 is configured to receive a carousel request, wherein the carousel request is sent by the terminal when a display position of the terminal is triggered. The carousel request carries a target identifier of a target multimedia file, and the target multimedia file is a multimedia file associated with the display position.
[0256] The query module 32332 is used to query the multimedia data streams of various configurations corresponding to the target multimedia file from the on-demand system based on the target identifier, wherein the multimedia data streams of various configurations are formed by the on-demand system transcoding the target multimedia file when responding to the on-demand request for the target multimedia file.
[0257] The determination module 32333 is configured to determine a target multimedia data stream adapted to the terminal from among multimedia data streams of multiple configurations.
[0258] The processing module 32334 is configured to send a target multimedia data stream to the terminal, wherein the target multimedia data stream is used to be played at a display position.
[0259] In some embodiments, the on-demand system includes an on-demand storage server and an index server; the query module 32332 is also used to call the index server to perform an index query operation based on the target identifier to obtain an index position associated with the target identifier, wherein the index server stores the association relationship between different identifiers and different index positions; based on the target index position, call the on-demand storage server to perform a data query operation to obtain the data located at the target index position as a multimedia data stream with multiple configurations corresponding to the target multimedia file, wherein different index positions store multimedia data streams with multiple configurations corresponding to different multimedia files.
[0260] In some embodiments, the multimedia carousel method is applied to a carousel system, which includes a task server; the processing module 32334 is also used to obtain a carousel task configured by a carousel operation and maintenance device, wherein the carousel task includes an identifier for instructing a display position to play at least one multimedia file in a loop, and the at least one multimedia file includes a target multimedia file; the carousel task is written to the task server; the carousel task is read from the task server to obtain introduction information of the carousel task, and the introduction information of at least one multimedia file included in the carousel task is sent to the terminal through the content distribution network, so that the terminal displays the introduction information at the display position.
[0261] In some embodiments, the receiving module 32331 is also used to receive the identification of at least one multimedia file uploaded by the carousel operation and maintenance device, wherein the identification of at least one multimedia file is obtained by the carousel operation and maintenance device by displaying a human-computer interaction interface, wherein the human-computer interaction interface includes a control for setting the identification of at least one multimedia file.
[0262] In some embodiments, the processing module 32334 is also used to receive a target multimedia file uploaded by a VOD operation and maintenance party device, wherein the target multimedia file is obtained by the VOD operation and maintenance party device in response to a file upload operation; create an VOD transcoding task corresponding to the target multimedia file, and send the VOD transcoding task to a task queue; dispatch an VOD transcoding task from the task queue in response to an VOD request for the target multimedia file; and execute the VOD transcoding task, wherein the VOD transcoding task is used for the VOD system to perform transcoding operations on the target multimedia file to obtain multimedia data streams of various configurations corresponding to the target multimedia file.
[0263] In some embodiments, when the target multimedia file is a video file, the transcoding operation is performed by the on-demand system after determining that the error value of the target multimedia file is less than an error threshold, where the error value is the difference between the video duration and the audio duration of the target multimedia file.
[0264] In some embodiments, the processing module 32334 is further used to detect the audio duration and video duration of the target multimedia file; determine the difference between the audio duration and the video duration as an error value for audio and video detection; and perform on-demand transcoding on the target multimedia file in response to the error value being less than an error threshold.
[0265] In some embodiments, the processing module 32334 is also used to transcode the target multimedia file into a transcoded multimedia file that meets a preset resolution and a preset bit rate; obtain a first review result of the transcoded multimedia file; in response to the first review result indicating that the content of the transcoded multimedia file is compliant, obtain multiple configurations sent by the on-demand operation and maintenance party device for the transcoded multimedia file, and transcode the transcoded multimedia file into multimedia data streams with multiple configurations; store the multimedia data streams with multiple configurations in the on-demand storage server, and write the association relationship between the target index position and the target identifier of the target multimedia file in the index server according to the target index position of the multimedia data stream stored in the on-demand storage server.
[0266] In some embodiments, the target multimedia data stream includes multiple segments. The processing module 32334 is further configured to periodically detect the display position and obtain an update detection result for the current period of the display position, wherein the update detection result indicates whether the display position has cached segments for a preset duration; in each current period, in response to the update detection result indicating that the display position has not cached segments for the preset duration, obtain the latest timestamp of the display position after the previous period update based on the target identifier of the target multimedia file, wherein the latest timestamp is the timestamp of the segment with the latest playback time cached by the display position after the previous period update; obtain, from the target multimedia data stream, a segment whose timestamp is after the latest timestamp and whose difference with the current timestamp is less than or equal to the preset duration, and send the obtained segment to the terminal, wherein the current timestamp is the timestamp of the segment currently being played by the display position.
[0267] In some embodiments, the processing module 32334 is further used to obtain a second audit result of the target multimedia data stream, wherein the second audit result indicates whether the content of the currently played segment in the target multimedia data stream is compliant; when the second audit result indicates that the content of the currently played segment in the target multimedia data stream is not compliant, and the display position is associated with multiple multimedia files including the target multimedia file, obtain identifiers of other multimedia files in the multiple multimedia files, wherein the other multimedia files are multimedia files other than the target multimedia file in the multiple multimedia files; based on the identifiers of the other multimedia files, query multiple configured other multimedia data streams from the on-demand system, wherein the multiple configured other multimedia data streams are formed by transcoding the other multimedia files by the on-demand system when responding to on-demand requests for other multimedia files; determine a target other multimedia data stream adapted to the terminal from the multiple configured other multimedia data streams; and send the target other multimedia data stream to the terminal, wherein the target other multimedia data stream is used to be played at the display position.
[0268] In some embodiments, a display position is associated with shard information, wherein the shard information includes the latest timestamp of the display position. Determination module 32333 is further configured to determine the difference between the shard timestamp updated in the previous cycle and the current timestamp of the display position as the shard time difference; if the shard time difference is less than or equal to a preset duration, determine the update detection result as indicating that the display position has not cached shards for the preset duration; and if the shard time difference is greater than the preset duration, determine the update detection result as indicating that the display position has cached shards for the preset duration.
[0269] In some embodiments, the fragment information also includes the latest fragment identifier of the display position, wherein the latest fragment identifier is the identifier of the fragment with the latest playback time that has been cached by the display position. The query module 32332 is also used to obtain an index file of the target multimedia data stream, wherein the index file includes the association between the fragment identifier and the index position of the fragment; obtain the latest fragment identifier updated in the previous cycle; based on the latest fragment identifier, query the index position of the fragment whose timestamp is after the latest timestamp and the difference with the current timestamp is less than or equal to the preset duration from the index position of the fragment; and based on the index position of the fragment found, obtain the fragment whose timestamp is after the latest timestamp and the difference with the current timestamp is less than or equal to the preset duration.
[0270] In some embodiments, the determination module 32333 is also used to obtain the network status parameters and hardware configuration parameters of the terminal, and determine a multimedia data stream that is adapted to at least one of the network status parameters and hardware configuration parameters from a plurality of configured multimedia data streams as the target multimedia data stream; wherein the network status parameters are positively correlated with the resolution and bit rate of the multimedia data stream, and the hardware configuration parameters are positively correlated with the fragment size of the multimedia data stream.
[0271] In some embodiments, the carousel system includes a carousel source station. The processing module 32334 is further configured to store the target multimedia data stream in the carousel source station, obtain the target multimedia data stream from the carousel source station, and send the target multimedia data stream to the terminal via a content distribution network.
[0272] An embodiment of the present application provides a computer program product, which includes a computer program or computer-executable instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer-executable instructions from the computer-readable storage medium and executes the computer-executable instructions, causing the electronic device to perform the multimedia carousel method described above in the embodiment of the present application.
[0273] The embodiment of the present application provides a computer-readable storage medium in which computer-executable instructions or computer programs are stored. When the computer-executable instructions or computer programs are executed by a processor, the processor will execute the multimedia carousel method provided by the embodiment of the present application, for example, Figure 6A The multimedia carousel method shown.
[0274] In some embodiments, the computer-readable storage medium may be a memory such as RAM, ROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or may be various devices including one or any combination of the above memories.
[0275] In some embodiments, computer-executable instructions may be in the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
[0276] As an example, computer-executable instructions may, but need not, correspond to a file in a file system, may be stored as part of a file that stores other programs or data, such as in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinating files (e.g., files storing one or more modules, subroutines, or code portions).
[0277] By way of example, computer-executable instructions may be deployed to be executed on one electronic device, or on multiple electronic devices located at one site, or on multiple electronic devices distributed across multiple sites and interconnected by a communication network.
[0278] In summary, the carousel system provided in the embodiment of the present application reuses the multimedia data streams of various configurations pre-stored in the on-demand system. Compared with the related art, for each carousel request, it is necessary to perform repeated transcoding to obtain the multimedia data stream corresponding to the multimedia file, which can avoid the waste of resources caused by real-time transcoding operations and effectively save system resources; by receiving a carousel request carrying the target identifier of the target multimedia file, based on the target identifier, the multimedia data stream corresponding to the target media file is queried from the on-demand system; through the carousel source station, the target multimedia data stream adapted to the terminal is determined from the multimedia data streams of various configurations, and is sent to the terminal via the content distribution network. The multimedia data stream sent to the terminal is adapted to the terminal, ensuring the effect of the terminal playing the multimedia data stream at the display position and the user experience; the carousel management server configures the carousel task to realize the automation process of the carousel system. Compared with the related art that requires a lot of manual operation costs, the real-time maintenance of the carousel status can significantly reduce the labor cost of the carousel, while effectively avoiding the error rate caused by problems such as manual operation, thereby improving the user experience.
[0279] The above description is merely an embodiment of the present application and is not intended to limit the scope of protection of the present application. Any modifications, equivalent replacements, and improvements made within the spirit and scope of the present application are included in the scope of protection of the present application.
Claims
1. A multimedia carousel method, characterized in that: The method comprises: receiving a carousel request, wherein the carousel request is sent by the terminal when a display position of the terminal is triggered, the carousel request carries a target identifier of a target multimedia file, and the target multimedia file is a multimedia file associated with the display position; Based on the target identifier, querying a video-on-demand system for multimedia data streams of multiple configurations corresponding to the target multimedia file, wherein the multimedia data streams of multiple configurations are generated by the video-on-demand system transcoding the target multimedia file in response to a video-on-demand request for the target multimedia file; Determining a target multimedia data stream adapted to the terminal from the plurality of configured multimedia data streams; The target multimedia data stream is sent to the terminal, wherein the target multimedia data stream is used to be played at the display position.
2. The method according to claim 1, characterized in that The on-demand system includes a on-demand storage server and an index server; The step of querying a multimedia data stream of multiple configurations corresponding to the target multimedia file from a video-on-demand system based on the target identifier includes: Based on the target identifier, calling the index server to perform an index query operation to obtain a target index position associated with the target identifier, wherein the index server stores associations between different identifiers and different index positions; Based on the target index position, the on-demand storage server is called to perform a data query operation to obtain the data located at the target index position as a multimedia data stream with multiple configurations corresponding to the target multimedia file, wherein different index positions store multimedia data streams with multiple configurations corresponding to different multimedia files.
3. The method according to claim 1, characterized in that The multimedia carousel method is applied to a carousel system, wherein the carousel system includes a task server; before receiving the carousel request, the method further includes: Obtaining a carousel task configured by a carousel operator, wherein the carousel task includes an identifier for instructing the display position to play at least one multimedia file in a loop, and the at least one multimedia file includes the target multimedia file; Writing the carousel task into the task server; The carousel task is read from the task server, introduction information of the carousel task is obtained, and introduction information of the at least one multimedia file included in the carousel task is sent to the terminal through a content distribution network, so that the terminal displays the introduction information at the display position.
4. The method according to claim 3, characterized in that The carousel task of obtaining the carousel operation and maintenance party's device configuration includes: Receive the identification of the at least one multimedia file uploaded by the carousel operation and maintenance device, wherein the identification of the at least one multimedia file is obtained by the carousel operation and maintenance device by displaying a human-computer interaction interface, wherein the human-computer interaction interface includes a control for setting the identification of the at least one multimedia file.
5. The method according to claim 1, wherein The multimedia data stream is transcoded by the on-demand system in the following manner: receiving the target multimedia file uploaded by the VOD operation and maintenance party device, wherein the target multimedia file is obtained by the VOD operation and maintenance party device in response to a file upload operation; Creating an on-demand transcoding task corresponding to the target multimedia file, and sending the on-demand transcoding task to a task queue; In response to a video-on-demand request for the target multimedia file, scheduling the video-on-demand transcoding task from the task queue; The on-demand transcoding task is executed, wherein the on-demand transcoding task is used for the on-demand system to perform a transcoding operation on the target multimedia file to obtain multimedia data streams of multiple configurations corresponding to the target multimedia file.
6. The method according to claim 5, characterized in that When the target multimedia file is a video file, the transcoding operation is performed by the on-demand system after determining that an error value of the target multimedia file is less than an error threshold, where the error value is the difference between the video duration and the audio duration of the target multimedia file.
7. The method according to claim 6, characterized in that The method in which the on-demand system performs transcoding operation on the target multimedia file includes: Transcoding the target multimedia file into a transcoded multimedia file that meets a preset resolution and a preset bit rate; Obtaining a first review result of the transcoded multimedia file; In response to the first review result indicating that the content of the transcoded multimedia file is compliant, obtaining the multiple configurations sent by the VOD operation and maintenance party device for the transcoded multimedia file, and transcoding the transcoded multimedia file into multimedia data streams with the multiple configurations; The multimedia data streams of the multiple configurations are stored in the on-demand storage server, and the association relationship between the target index position and the target identifier of the target multimedia file is written in the index server according to the target index position of the multimedia data stream stored in the on-demand storage server.
8. The method according to any one of claims 1 to 7, characterized in that The target multimedia data stream includes a plurality of slices; The sending the target multimedia data stream to the terminal includes: Periodically detecting the display location to obtain an update detection result of the display location in a current period, wherein the update detection result indicates whether the display location has cached the slice for a preset time period; The following processing is performed in each current cycle: In response to the update detection result indicating that the display location has not cached the segment for the preset duration, obtaining, based on the target identifier of the target multimedia file, a latest timestamp of the display location after the last update, wherein the latest timestamp is the timestamp of the segment with the latest playback time cached by the display location after the last update; Obtain, from the target multimedia data stream, a segment whose timestamp is after the latest timestamp and whose difference with the current timestamp is less than or equal to the preset duration, and send the obtained segment to the terminal, wherein the current timestamp is the timestamp of the segment currently being played at the presentation position.
9. The method according to claim 8, characterized in that In acquiring, from the target multimedia data stream, a segment whose timestamp is after the latest timestamp and whose difference with the current timestamp is less than or equal to the preset duration, the method further includes: Obtaining a second audit result of the target multimedia data stream, wherein the second audit result indicates whether the content of the currently played segment in the target multimedia data stream is compliant; When the second review result indicates that the content of the currently played segment in the target multimedia data stream is non-compliant, and the presentation location is associated with a plurality of multimedia files including the target multimedia file, obtaining identifiers of other multimedia files among the plurality of multimedia files, wherein the other multimedia files are multimedia files other than the target multimedia file among the plurality of multimedia files; Based on the identifier of the other multimedia file, querying the on-demand system for other multimedia data streams in multiple configurations, wherein the other multimedia data streams in multiple configurations are generated by the on-demand system transcoding the other multimedia files in response to a on-demand request for the other multimedia files; Determining a target other multimedia data stream adapted to the terminal from the multiple configured other multimedia data streams; The target other multimedia data stream is sent to the terminal, wherein the target other multimedia data stream is used to be played at the display position.
10. The method according to claim 8, characterized in that The display position is associated with fragment information, wherein the fragment information includes the latest timestamp of the display position; The periodically detecting the display position to obtain an updated detection result of the display position includes: Determine a difference between the sharding timestamp of the display position updated in the previous cycle and the current timestamp as the sharding time difference; In response to the fragment time difference being less than or equal to the preset duration, determining that the update detection result is that the display position has not cached the fragment for the preset duration; In response to the time difference between the slices being greater than the preset duration, it is determined that the update detection result is that the display location has cached the slices for the preset duration.
11. The method according to claim 10, characterized in that The fragment information also includes the latest fragment identifier of the display position, wherein the latest fragment identifier is the identifier of the fragment with the latest playback time that has been cached by the display position; The step of obtaining, from the target multimedia data stream, the fragment whose timestamp is after the latest timestamp and whose difference with the current timestamp is less than or equal to the preset duration, includes: Acquire an index file of the target multimedia data stream, wherein the index file includes an association between identifiers of the fragments and index positions of the fragments; Obtain the latest shard identifier updated in the previous cycle; Based on the latest fragment identifier, query the index position of the fragment whose timestamp is after the latest timestamp and the difference between the timestamp and the current timestamp is less than or equal to the preset time length from the index file; According to the index position of the queried fragment, the fragment whose timestamp is after the latest timestamp and whose difference with the current timestamp is less than or equal to the preset duration is obtained.
12. The method according to any one of claims 1 to 7, characterized in that The step of determining a target multimedia data stream adapted to the terminal from among the multiple configured multimedia data streams includes: Obtain the network status parameters and hardware configuration parameters of the terminal, and determine, from the multimedia data streams of the multiple configurations, a multimedia data stream that is adapted to at least one of the network status parameters and the hardware configuration parameters as a target multimedia data stream; wherein the network status parameters are positively correlated with the resolution and bit rate of the multimedia data stream, and the hardware configuration parameters are positively correlated with the fragment size of the multimedia data stream.
13. The method according to claim 12, characterized in that The carousel system includes a carousel source station; The sending the target multimedia data stream to the terminal includes: Storing the target multimedia data stream in the carousel source station; The target multimedia data stream is obtained from the carousel source station, and the target multimedia data stream is sent to the terminal through the content distribution network.
14. A multimedia carousel device, characterized in that: The device comprises: a receiving module, configured to receive a carousel request, wherein the carousel request is sent by the terminal when a display position of the terminal is triggered, the carousel request carries a target identifier of a target multimedia file, and the target multimedia file is a multimedia file associated with the display position; a query module configured to query, based on the target identifier, a plurality of configured multimedia data streams corresponding to the target multimedia file from the on-demand system, wherein the plurality of configured multimedia data streams are generated by the on-demand system transcoding the target multimedia file in response to a video-on-demand request for the target multimedia file; a determination module, configured to determine a target multimedia data stream adapted to the terminal from the multimedia data streams of the multiple configurations; The processing module is configured to send the target multimedia data stream to the terminal, wherein the target multimedia data stream is configured to be played at the display location.
15. An electronic device, characterized in that: The electronic device comprises: a memory for storing computer-executable instructions; The processor is configured to implement the multimedia carousel method according to any one of claims 1 to 13 when executing the computer-executable instructions stored in the memory.
16. A computer-readable storage medium storing computer-executable instructions or a computer program, characterized in that: When the computer executable instructions or computer program are executed by a processor, the multimedia carousel method according to any one of claims 1 to 13 is implemented.
17. A computer program product comprising computer executable instructions or a computer program, characterized in that When the computer executable instructions or computer program are executed by a processor, the multimedia carousel method according to any one of claims 1 to 13 is implemented.