Multimedia data processing method and device, terminal, storage medium and product
By disconnecting and re-establishing the RRC connection during the multimedia data caching process, the problem of high terminal power consumption is solved, and power consumption is saved and battery life is extended without affecting the user experience.
Patent Information
- Application Number
- CN202510949606.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-09
- Publication Date
- 2025-09-12
AI Technical Summary
When multimedia applications are downloading multimedia data, the RRC connection between the terminal and the network device is always maintained, resulting in high power consumption and affecting the battery life of the terminal.
The RRC connection with the network device is disconnected during the process of caching multimedia slices, and the connection is re-established before the cached slices are played, thereby periodically managing the RRC connection and reducing the connection duration.
Without affecting the user's viewing experience, by periodically disconnecting the RRC connection, the terminal's power consumption can be significantly saved and battery efficiency can be improved.
Smart Images

Figure CN120640357A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a method, device, terminal, storage medium and product for processing multimedia data. Background Art
[0002] At present, the multimedia server and multimedia applications use the streaming media protocol (Http Live Stream, HLS) based on the Hypertext Transfer Protocol (HTTP) for transmission. The process can be as follows: the multimedia server cuts the multimedia data into multiple transmission segments (transprot stream, ts) slices, and generates a unified encoding of the Moving Picture Experts Group Audio Layer III (MP3) Uniform Resource Locator (MP3 URL Unicode 8, m3u8) playlist corresponding to the multiple ts slices. The m3u8 playlist includes the identification information of the multiple ts slices. The multimedia application downloads an m3u8 playlist through the HTTP protocol, and sequentially downloads ts slices from a multimedia server based on the play order and identification information of multiple ts slices in the m3u8 playlist; and the multimedia application is performed in a caching-while-playing manner, that is, after the multimedia application downloads the first ts slice, the first ts slice is stored in a cache, and then the first ts slice is played; and, in the process of playing the first ts slice, the second ts slice is downloaded and cached, and so on, and it is ensured that the download speed of the ts slices is higher than the play order of the ts slices.
[0003] Since multimedia applications need to use the network to download ts slices from the multimedia server, before the multimedia application downloads the ts slices from the server, a radio resource control (RRC) connection needs to be established between the terminal and the server, and during the process of downloading the ts slices, the RRC between the terminal and the network device must always be in a connected state, which results in higher power consumption of the terminal. Summary of the Invention
[0004] The embodiments of the present application provide a method, device, terminal, storage medium, and product for processing multimedia data. The technical solution is as follows:
[0005] In one aspect, a method for processing multimedia data is provided, the method comprising:
[0006] Obtaining, through a radio resource control (RRC) connection with a network device, a plurality of first multimedia slices of multimedia data from a multimedia server, and buffering the plurality of first multimedia slices;
[0007] During the process of playing the plurality of cached first multimedia slices, disconnecting the RRC connection with the network device;
[0008] Before the cached multiple first multimedia slices are played, an RRC connection is re-established with the network device, and a second multimedia slice is obtained from the multimedia server through the re-established RRC connection, where the second multimedia slice is different from the first multimedia slice.
[0009] In another aspect, a device for processing multimedia data is provided, the device comprising:
[0010] a first acquisition module, configured to acquire, from a multimedia server, a plurality of first multimedia slices of multimedia data through a radio resource control (RRC) connection with a network device, and cache the plurality of first multimedia slices;
[0011] a disconnection module, configured to disconnect the RRC connection with the network device during the process of playing the plurality of cached first multimedia slices;
[0012] The second acquisition module is used to re-establish an RRC connection with the network device before the multiple cached first multimedia slices are played, and obtain a second multimedia slice from the multimedia server through the re-established RRC connection, where the second multimedia slice is different from the first multimedia slice.
[0013] On the other hand, a terminal is provided, comprising a processor and a memory, wherein the memory stores at least one program code, and the at least one program code is loaded and executed by the processor to implement the above-mentioned method for processing multimedia data.
[0014] On the other hand, a computer-readable storage medium is provided, wherein at least one program code is stored in the storage medium, and the at least one program code is loaded and executed by a processor to implement the above-mentioned method for processing multimedia data.
[0015] On the other hand, a computer program product is provided. The computer program product stores at least one program code, and the at least one program code is used to be executed by a processor to implement the above-mentioned method for processing multimedia data.
[0016] In an embodiment of the present application, on the one hand, multiple first multimedia slices are obtained from a multimedia server via an RRC connection with a network device. Since the speed of obtaining the first multimedia slices is often greater than the speed of playing the first multimedia slices, the first multimedia slices that have been obtained but not played are cached in a cache. At this time, disconnecting the RRC connection with the network device does not affect the user's experience of viewing the multimedia data. On the other hand, since the RRC connection with the network device is disconnected during the process of playing the first multimedia slices, power consumption is saved. Therefore, this embodiment of the present application can achieve power consumption savings without affecting the user's experience of viewing multimedia data. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 A schematic diagram of a media data processing system according to an exemplary embodiment of the present application is shown;
[0018] Figure 2 A schematic diagram of a media data processing system according to another exemplary embodiment of the present application is shown;
[0019] Figure 3 A schematic diagram illustrating an RRC connection state in a related art shown in an exemplary embodiment of the present application is shown;
[0020] Figure 4 A flowchart showing a method for processing multimedia data according to an exemplary embodiment of the present application is shown;
[0021] Figure 5 A flowchart showing a method for processing multimedia data according to an exemplary embodiment of the present application is shown;
[0022] Figure 6 A schematic diagram of an optimized RRC connection state according to an exemplary embodiment of the present application is shown;
[0023] Figure 7 A flowchart showing a method for processing multimedia data according to an exemplary embodiment of the present application is shown;
[0024] Figure 8 A flowchart showing a method for processing multimedia data according to an exemplary embodiment of the present application is shown;
[0025] Figure 9 A schematic diagram of a domain name interception architecture shown in an exemplary embodiment of the present application is shown;
[0026] Figure 10 A schematic diagram of application interception shown in an exemplary embodiment of the present application is shown;
[0027] Figure 11A schematic diagram of intercepting a data packet of multimedia data transmission according to an exemplary embodiment of the present application is shown;
[0028] Figure 12 A schematic diagram showing a current change of a terminal according to an exemplary embodiment of the present application is shown;
[0029] Figure 13 A schematic diagram illustrating a current benefit of configuring CDRX according to an exemplary embodiment of the present application is shown;
[0030] Figure 14 A schematic diagram showing the current benefit of not configuring CDRX according to an exemplary embodiment of the present application is shown;
[0031] Figure 15 A block diagram of a multimedia data processing device according to an exemplary embodiment of the present application is shown;
[0032] Figure 16 A block diagram of a terminal according to an exemplary embodiment of the present application is shown. DETAILED DESCRIPTION
[0033] In order to make the objectives, technical solutions and advantages of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.
[0034] In this document, "plurality" refers to two or more. "And / or" describes a relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can mean: A exists alone, A and B exist simultaneously, or B exists alone. The character " / " generally indicates an "or" relationship between the associated objects.
[0035] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.) and signals involved in this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions.
[0036] Please refer to Figure 1 , which shows a schematic diagram of a multimedia data processing system shown in an exemplary embodiment of the present application. Figure 1The multimedia data processing system includes a terminal 10 and a multimedia server 20. Terminal 10 has installed and runs a multimedia application 101 that supports multimedia data playback. This multimedia application 101 may be a video playback application. Multimedia server 20 provides background services for multimedia application 101; for example, multimedia server 20 provides multimedia data to multimedia application 101, allowing multimedia application 101 to retrieve and play the multimedia data.
[0037] Please continue to refer to Figure 1 The implementation environment further includes a streaming device 30, which is used to provide multimedia data to the multimedia server 20. The streaming device 30 can be a device that stores multimedia data; or the streaming device 30 can be a device that uploads multimedia data to the multimedia server 20. For example, the streaming device 30 can be an audio streaming device 30 or a video streaming device 30.
[0038] The multimedia data processing system can be a distributed streaming media coefficient; accordingly, please continue to refer to Figure 1 , the multimedia data processing system also includes at least one distribution node 40 (Distribution), which is used to distribute multimedia data. In addition, the HLS protocol is used for transmission between the multimedia application 101 and the multimedia server 20; and the HLS protocol stipulates that the multimedia data is cut into multiple first multimedia slices for transmission; accordingly, the multimedia server 20 includes a media encoder (Media encoder) 201 and a stream segmenter (stream segmenter) 202, and the media encoder 201 is used to receive the multimedia data sent by the streaming device 30, encode the multimedia data into multimedia data in a preset format, and transmit the multimedia data to the stream segmenter 202. The stream segmenter 202 divides the multimedia data into multiple first multimedia slices, and transmits the multiple first multimedia slices to the distribution node 40. The first multimedia slice can be a ts slice, etc.
[0039] The distribution node 40 receives the plurality of first multimedia slices, determines index information (index.file) of the plurality of first multimedia slices, and generates a multimedia playlist based on the index information of the plurality of first multimedia slices. The multimedia playlist is used to store the index information of the plurality of first multimedia slices, and the order in which the index information of the plurality of first multimedia slices is arranged in the multimedia playlist is the order in which the plurality of first multimedia slices are played. The multimedia playlist may be an m3u8 playlist.
[0040] The terminal 10 obtains a multimedia playlist from the distribution node 40 through the HTTP protocol and stores the multimedia playlist. Subsequently, based on the index information of the first multimedia slice in the multimedia playlist, the terminal 10 obtains the first multimedia slice from the distribution node 40, and the terminal 10 adopts a caching and playing method, that is, after the terminal 10 obtains the first multimedia slice, the terminal 10 caches the first multimedia slice locally and then plays the cached first multimedia slice; and, in the process of playing the cached first multimedia slice, the terminal 10 will continue to obtain the first multimedia slice from the distribution node 40, and so on, to achieve the playback of multimedia data.
[0041] Please refer to Figure 2 The streaming device 30 includes an acquisition, encoding, and packaging service 301, a network connection service 302, and a Real-Time Messaging Protocol (RTMP) push service 303. The acquisition, encoding, and packaging service 301 is used to acquire multimedia signals, compress and encode the multimedia signals, and encapsulate the compressed and encoded multimedia signals into multimedia data suitable for network transmission. The network connection service 302 is used to establish a network connection with the multimedia server 20 based on the TCP protocol, thereby building a communication channel for the transmission of multimedia data. The RTMP push service 303 is used to transmit multimedia data to the multimedia server 20 through the established communication channel using the RTMP protocol.
[0042] Multimedia server 20 (may include Figure 1 The multimedia server 20 and distribution node 40 in the multimedia server 20 include a slice service 203, a slice output service 204, and a list output service 205. The slice service 203 is used to receive multimedia data, divide the multimedia data into multiple first multimedia slices, and generate a multimedia playlist based on the index information of the multiple first multimedia slices. The slice output service 204 is used to output the multimedia playlist to the terminal 10. The terminal 10 includes a slice acquisition service 102 and a list acquisition service 103. The list acquisition service 103 is used to obtain the multimedia playlist output by the list output service 205 of the multimedia server 20. The slice acquisition service 102 is used to obtain the first multimedia slice from the slice output service 204 of the multimedia server 20 based on the multimedia playlist.
[0043] Before the terminal 10 obtains the first multimedia slice from the multimedia server 20, the terminal 10 needs to establish an RRC connection with the network device 50; and during the process of the terminal 10 obtaining the first multimedia slice, the RRC between the terminal 10 and the network device 50 must always be in a connected state. For example, please refer to Figure 3The terminal 10 obtains a first multimedia slice from the multimedia server 20 once every period of time. The time intervals between two adjacent acquisitions of the first multimedia slice by the terminal 10 may be the same or different. In the process of the terminal 10 obtaining the first multimedia slice, the RRC between the terminal 10 and the network device 50 is always in a connected state, resulting in a large power consumption of the terminal 10.
[0044] In an embodiment of the present application, after caching a certain number of first multimedia slices, the terminal 10 disconnects the RRC connection with the network device 50, and re-establishes the RRC connection with the network device 50 before the cached first multimedia slices are played. After caching a certain number of first multimedia slices again, the terminal 10 disconnects the RRC connection with the network device 50 again, and re-establishes the RRC connection with the network device 50 before the cached first multimedia slices are played. In this way, by periodically disconnecting and establishing the RRC connection, the purpose of saving power consumption of the terminal 10 is achieved without affecting the user's viewing of multimedia data.
[0045] The terminal 10 may generally refer to one of multiple terminals 10. The embodiments of the present application are described using one terminal 10 as an example. Types of terminals 10 include smartphones, tablet computers, vehicle-mounted terminals 10, smart TVs, multimedia playback devices, wearable devices, VR (Virtual Reality) devices, AR (Augmented Reality) devices, MR (Mixed Reality) devices, and other devices. The terminal 10 and other terminals 10 are connected to the multimedia server 20 via a wireless network or a wired network.
[0046] The multimedia server 20 includes at least one of a single server, multiple servers, and a virtualization center. For example, the multimedia server 20 performs primary computing tasks, and the terminal 10 performs secondary computing tasks; alternatively, the multimedia server 20 performs secondary computing tasks, and the terminal 10 performs primary computing tasks; alternatively, the multimedia server 20 and the terminal 10 collaborate using a distributed computing architecture.
[0047] The network device 50 is a device for providing wireless communication services to the terminal 10. The network device 50 may include various forms of macro base stations, micro base stations, relay stations, access points, and the like. In systems using different wireless access technologies, the names of devices with base station functions may be different. For example, in a 5G wireless air interface technology (New Radio, NR) system, it is called a 5G base station (gNodeB or gNB). With the evolution of communication technology, the name "base station" may change. For the convenience of description, in the embodiments of the present application, the above-mentioned devices that provide wireless communication services to the terminal 10 are collectively referred to as network devices 50.
[0048] Please refer to Figure 4 , which shows a flowchart of a method for processing multimedia data according to an exemplary embodiment of the present application. Figure 4 , the method comprising:
[0049] Step 401: Acquire multiple first multimedia slices of multimedia data from a multimedia server through an RRC connection with a network device, and cache the multiple first multimedia slices.
[0050] The terminal obtains a first multimedia slice each time, and the time interval between two adjacent acquisitions of the first multimedia slices by the terminal may be the same or different; the duration of each first multimedia slice may be the same or different; in this embodiment of the present application, the time interval between two adjacent acquisitions of the first multimedia slices by the terminal is the same, both are 1 second, and the duration of each first multimedia slice is the same, both are 10 seconds. For example,
[0051] Step 402: During the process of playing the cached multiple first multimedia slices, the terminal disconnects the RRC connection with the network device.
[0052] The time interval between two consecutive acquisitions of the first multimedia slice by the terminal is less than the duration of the first multimedia slice; thus, the terminal acquires the first multimedia slice at a speed greater than the playback speed of the first multimedia slice; therefore, while the terminal is playing the first multimedia slice, the terminal caches the acquired but unplayed first multimedia slices. Due to the presence of unplayed first multimedia slices, the terminal can disconnect the RRC connection with the network device while playing multiple cached first multimedia slices, thereby saving power consumption of the terminal without affecting the user's viewing experience of the multimedia data.
[0053] Step 403: Before the cached multiple first multimedia slices are played, the terminal re-establishes an RRC connection with the network device, and obtains a second multimedia slice from the multimedia server through the re-established RRC connection. The second multimedia slice is different from the first multimedia slice.
[0054] The second multimedia slice and the multiple acquired first multimedia slices may be different first multimedia slices of the same multimedia data, or different multimedia slices of different multimedia data. After the terminal acquires the second multimedia slice, the terminal caches the second multimedia slice. While the terminal is playing the cached second multimedia slice, the terminal may again disconnect the RRC connection with the network device, and so on, until the multimedia data is finished playing.
[0055] In an embodiment of the present application, on the one hand, an RRC connection is established with a network device to obtain multiple first multimedia slices from a multimedia server. Since the speed of obtaining the first multimedia slices is often greater than the speed of playing the first multimedia slices, the first multimedia slices that have been obtained but not played are cached in the cache. At this time, disconnecting the RRC connection with the network device does not affect the user's experience of viewing the multimedia data. On the other hand, because the RRC connection with the network device is disconnected during the process of playing the first multimedia slices, power consumption is saved. Therefore, the embodiment of the present application can achieve power consumption savings without affecting the user's experience of viewing multimedia data.
[0056] Please refer to Figure 5 , which shows a flowchart of a method for processing multimedia data according to an exemplary embodiment of the present application. Figure 5 , the method comprising:
[0057] Step 501: Acquire multiple first multimedia slices of multimedia data from a multimedia server through an RRC connection with a network device, and cache the multiple first multimedia slices.
[0058] The terminal obtains a first multimedia slice each time, and the time interval between two adjacent acquisitions of the first multimedia slices by the terminal may be the same or different; the duration of each first multimedia slice may be the same or different; in this embodiment of the present application, the time interval between two adjacent acquisitions of the first multimedia slices by the terminal is the same, both are 1 second, and the duration of each first multimedia slice is the same, both are 10 seconds. For example,
[0059] Prior to this step, the terminal needs to obtain a multimedia list. This process may include: the terminal obtains the multimedia list from the multimedia server through an RRC connection. The multimedia list includes index information of multiple first multimedia slices of the multimedia data, and the multimedia list is used to indicate the playback order of the multiple first multimedia slices. The multimedia list may be a u3m8 list.
[0060] Accordingly, the step of obtaining multiple first multimedia slices of multimedia data from the multimedia server through the RRC connection by the terminal can be implemented by the following steps (1) and (2), including:
[0061] (1) The terminal determines the index information of the first multimedia slice to be currently acquired based on the playback order of the multiple first multimedia slices indicated by the multimedia list and the index information of the multiple first multimedia slices.
[0062] When the terminal obtains the first multimedia slice of multimedia data from the server for the first time, the terminal determines the index information of the first multimedia slice played in the multimedia list as the index information of the first multimedia slice to be obtained currently. When the terminal obtains the first multimedia slice of multimedia data from the server for the first time but not the first time, the terminal determines the index information of the first multimedia slice obtained most recently, and based on the index information of the first multimedia slice obtained most recently, determines the index information of the next first multimedia slice of the first multimedia slice obtained most recently from the multimedia list, and determines the slice information of the obtained first multimedia slice as the index information of the first multimedia slice to be obtained currently.
[0063] For example, the multimedia data includes 20 first multimedia slices, namely, first multimedia slice 1 to first multimedia slice 20, and the playback order of first multimedia slices 1 to first multimedia slice 20 is first multimedia slice 1, first multimedia slice 2, ..., first multimedia slice 20. When the terminal obtains the first multimedia slice from the multimedia server for the first time, it obtains first multimedia slice 1. That is, in this step, the terminal determines that the index information of the first multimedia slice to be obtained is the index information of first multimedia slice 1.
[0064] (2) The terminal obtains the first multimedia slice to be obtained from the multimedia server through the RRC connection based on the index information of the first multimedia slice to be obtained, and then returns to execute step (1).
[0065] The terminal sends an acquisition request to the multimedia server through the RRC connection, where the acquisition request carries index information of the first multimedia slice to be acquired; the multimedia server receives the acquisition request, acquires the first multimedia slice based on the index information of the first multimedia slice to be acquired, and sends the first multimedia slice to the terminal; the terminal receives the first multimedia slice and then returns to execute step (1).
[0066] In step (1), the terminal determines the index information of the first multimedia slice to be obtained again based on the first multimedia slice and multimedia list obtained last time, and obtains the first multimedia slice through step (2) based on the index information of the first multimedia slice to be obtained, and so on until multiple first multimedia slices of the multimedia data are obtained.
[0067] For example, after the terminal obtains the first multimedia slice 1, the terminal determines the index information of the first multimedia slice 2, and obtains the first multimedia slice 2 from the multimedia server based on the index information of the first multimedia slice 2; then determines the index information of the first multimedia slice 3, and obtains the first multimedia slice 3 from the multimedia server based on the index information of the first multimedia slice 3, and so on, until the 20 first multimedia slices of the multimedia data are obtained.
[0068] Step 502: During the process of playing a plurality of cached first multimedia slices, the terminal determines a first multimedia slice that has not been played.
[0069] The terminal plays the cached first multimedia slice based on the playback order of the cached multiple first multimedia slices; for example, the terminal caches 6 first multimedia slices, namely, first multimedia slice 1, first multimedia slice 2, first multimedia slice 3, first multimedia slice 4, first multimedia slice 5 and first multimedia slice 6; the terminal plays the first multimedia slices 1 to the first multimedia slices 6 based on the playback order of the 6 first multimedia slices; and when the terminal plays the first multimedia slice 1, the terminal determines that the first multimedia slices that have not been played are the first multimedia slices 2 to 6.
[0070] After playing a first multimedia slice, the terminal deletes the first multimedia slice from the cache to save cache space. Accordingly, the cached first multimedia slice is the unplayed first multimedia slice. Furthermore, after determining the unplayed first multimedia slice, the terminal can disconnect the RRC connection with the network device based on the unplayed first multimedia slice by following steps 503-504.
[0071] Step 503: The terminal determines the playable duration of the unplayed first multimedia slice.
[0072] In one possible implementation, the duration of each first multimedia slice is different; accordingly, this step may be: the terminal accumulates the duration of each unplayed first multimedia slice to obtain the playable duration. In another possible implementation, the duration of each first multimedia slice is the same; accordingly, this step may be: the terminal determines the playable duration based on the number of unplayed first multimedia slices and the duration of each first multimedia slice; for example, the terminal determines the product of the number of unplayed first multimedia slices and the duration of each first multimedia slice to obtain the playable duration.
[0073] After determining the playable duration, the terminal determines whether the playable duration is greater than a first preset duration. If the playable duration is greater than the first preset duration, step 504 is executed. If the playable duration is not greater than the first preset duration, the terminal continues to obtain the first multimedia slice from the multimedia server. Furthermore, each time the terminal obtains a first multimedia slice, steps 502-503 are executed once. Alternatively, each time the terminal obtains a first preset number of first multimedia slices, steps 502-503 are executed once. The first preset number can be set and changed as needed. In the embodiment of the present application, the first preset number is not specifically limited. For example, the first preset number can be 2 or 3.
[0074] Step 504: When the playable duration is greater than the first preset duration, the terminal disconnects the RRC connection with the network device.
[0075] In an embodiment of the present application, when the playable duration is greater than the first preset duration, it means that the terminal has cached a certain amount of playback. At this time, disconnecting the RRC connection will not affect the user's viewing experience of viewing multimedia data, and can also save the power consumption of the terminal.
[0076] During the period when the RRC connection is disconnected, when other applications of the terminal transmit data with their corresponding application servers, the RRC connection is re-established with the network device, and data is transmitted with the application server through the re-established RRC connection. Other applications refer to applications other than the multimedia applications corresponding to the multimedia server.
[0077] In an embodiment of the present application, during the period when the RRC connection is disconnected, when other applications are transmitting data between their corresponding application servers, the terminal can also re-establish the RRC connection, thereby allowing other applications to transmit data with the application server via the RRC connection, thereby not affecting the normal use of other applications. For example, when a user uses a social application to send social information during the period when the RRC connection is disconnected, the terminal will establish an RRC connection with the network device and send the social information to the social application server via the RRC connection.
[0078] Step 505: The terminal determines a target disconnection duration of the RRC connection based on the playable duration, and the target disconnection duration is less than the playable duration.
[0079] The terminal determines a first theoretical duration for establishing the RRC connection and a second theoretical duration for obtaining the first multimedia slice; and determines a target disconnection duration based on the playable duration, the first theoretical duration, and the second theoretical duration. For example, the terminal determines the sum of the first theoretical duration and the second theoretical duration, determines the difference between the playable duration and the obtained duration, and obtains the target disconnection duration.
[0080] After disconnecting the RRC connection, the terminal starts counting the disconnection duration of the RRC connection; when the disconnection duration of the RRC connection reaches the target disconnection duration, step 506 is executed.
[0081] For example, see Figure 6 After the terminal obtains 6 first multimedia slices, the duration of each first multimedia slice is 10 seconds. The terminal determines that the playable time is 60 seconds, subtracts the first theoretical time for establishing the RRC connection and the second theoretical time for obtaining the first multimedia slice, and determines that the target disconnection time is 40 seconds.
[0082] Step 506: When the actual disconnection duration of the RRC connection reaches the target disconnection duration, the RRC connection is re-established between the terminal and the network device.
[0083] The terminal sends an RRC connection request to the network device, where the RRC connection request is used to request to establish an RRC connection with the network device; the network device receives the RRC connection request sent by the terminal, allocates wireless resources to the terminal, and sends an RRC connection setup message to the terminal, where the connection setup message is used to indicate the wireless resources allocated by the network device to the terminal; the terminal receives the RRC connection setup message and establishes an RRC connection with the network device through the wireless resources indicated by the RRC connection setup message.
[0084] Step 507: The terminal obtains a second multimedia slice from the multimedia server through the re-established RRC connection, where the second multimedia slice is different from the first multimedia slice.
[0085] The terminal determines the index information of the second multimedia slice to be obtained from the multimedia list based on the index information of the first multimedia slice that was last played, obtains the second multimedia slice to be obtained from the multimedia server through the RRC connection based on the index information of the second multimedia slice to be obtained, and then determines the index information of the second multimedia slice to be obtained from the multimedia list based on the index information of the second multimedia slice to be obtained, and obtains the second multimedia slice to be obtained from the multimedia server through the re-established RRC connection based on the index information of the second multimedia slice to be obtained; and then determines the index information of the second multimedia slice to be obtained from the multimedia list based on the index information of the second multimedia slice to be obtained, and so on.
[0086] In one possible implementation, after the terminal obtains the second multimedia slice through the re-established RRC connection, the terminal stores the obtained second multimedia slice in a cache, and then performs step 502 to periodically disconnect the RRC connection, thereby saving power consumption of the terminal. In another possible implementation, after the terminal obtains the second multimedia slice through the re-established RRC connection, the terminal determines the number of second multimedia slices obtained through the re-established RRC connection. When the number of second multimedia slices obtained through the re-established RRC connection reaches a preset number, the terminal may disconnect the RRC connection again to save power consumption of the terminal.
[0087] For example, please refer to Figure 6 After the terminal obtains 6 second multimedia slices through the re-established RRC connection, it disconnects the RRC connection again, and so on.
[0088] In an embodiment of the present application, when the playable duration is greater than the first preset duration, it means that the terminal has cached a certain amount of playback. At this time, disconnecting the RRC connection will not affect the user's viewing experience of viewing multimedia data, and can also save the power consumption of the terminal.
[0089] Please refer to Figure 7 , which shows a flowchart of a method for processing multimedia data according to an exemplary embodiment of the present application. Figure 7 , the method comprising:
[0090] Step 701: Acquire multiple first multimedia slices of multimedia data from a multimedia server through an RRC connection with a network device, and cache the multiple first multimedia slices.
[0091] In some embodiments, this step is the same as step 501 and will not be repeated here.
[0092] Step 702: During the process of playing a plurality of cached first multimedia slices, the terminal determines a first multimedia slice that has not been played.
[0093] In some embodiments, this step is the same as step 502 and will not be described in detail here. In addition, after the terminal determines that the first multimedia slice is not played, it can disconnect the RRC connection with the network device based on the first multimedia slice that is not played through the following steps 703-704.
[0094] Step 703: The terminal determines the number of unplayed first multimedia slices.
[0095] The terminal determines whether the number of unplayed first multimedia slices is greater than a second preset number; if the number is greater than the second preset number, executes step 704; if the number is not greater than the second preset number, the terminal continues to obtain the first multimedia slices from the multimedia server; and, after each first multimedia slice is obtained, the terminal executes steps 702-703 once; or, after each first preset number of first multimedia slices is obtained, the terminal executes steps 702-703 once.
[0096] Step 704: When the number is greater than the second preset number, the terminal disconnects the RRC connection with the network device.
[0097] In an embodiment of the present application, when the number of unplayed first multimedia slices is greater than the second preset number, it means that the terminal has cached a certain amount of playback. In this case, disconnecting the RRC connection will not affect the user's viewing experience of viewing multimedia data, and can also save power consumption of the terminal.
[0098] Step 705: The terminal determines the first multimedia slice being played.
[0099] The terminal determines whether the first multimedia slice being played is the target multimedia slice; the target multimedia slice is the first multimedia slice that is played last in the playback order among the first multimedia slices that have not been played; if the first multimedia slice being played is the target multimedia slice, step 706 is executed; if the first multimedia slice being played is not the target multimedia slice, the terminal waits for playing the next first multimedia slice, and then, when playing the next first multimedia slice, determines whether the first multimedia slice being played (the first multimedia slice being played at this time is the next first multimedia slice) is the target multimedia slice, and so on.
[0100] Step 706: When the first multimedia slice being played is the target multimedia slice, the RRC connection is re-established between the terminal and the network device.
[0101] In some embodiments, the step of re-establishing the RRC connection between the terminal and the network device is the same as the process of re-establishing the RRC connection between the terminal and the network device in step 506, and will not be repeated here.
[0102] Step 707: The terminal obtains a second multimedia slice from the multimedia server through the re-established RRC connection, where the second multimedia slice is different from the first multimedia slice.
[0103] In some embodiments, this step is the same as step 507 and will not be repeated here.
[0104] In an embodiment of the present application, when the number of unplayed first multimedia slices is greater than the second preset number, it means that the terminal has cached a certain amount of playback. In this case, disconnecting the RRC connection will not affect the user's viewing experience of viewing multimedia data, and can also save power consumption of the terminal.
[0105] Please refer to Figure 8 , which shows a flowchart of a method for processing multimedia data according to an exemplary embodiment of the present application. Figure 8 , the method comprising:
[0106] Step 801: Acquire multiple first multimedia slices of multimedia data from a multimedia server through an RRC connection with a network device, and cache the multiple first multimedia slices.
[0107] In some embodiments, this step is the same as step 501 and will not be repeated here.
[0108] Step 802: During the process of playing the plurality of cached first multimedia slices, data transmission between the terminal and the multimedia server is stopped.
[0109] The triggering time for disconnecting the RRC connection is when the duration of no data transmission between the terminal and the multimedia server reaches a second preset duration; therefore, the terminal actively controls to stop data transmission between the terminal and the multimedia server, so as to achieve the purpose of quickly disconnecting the RRC connection, thereby saving the power consumption of the terminal.
[0110] The first case: the terminal intercepts a data packet sent to the multimedia server; accordingly, the step of stopping data transmission between the terminal and the multimedia server can be: when there is a detection data packet to be sent to the multimedia server, the terminal intercepts the detection data packet, and the detection data packet is used to detect the connection status of the multimedia session with the multimedia server, and the multimedia session is used to obtain the first multimedia slice from the multimedia server.
[0111] The detection data packet is used to be sent to the multimedia server based on the Internet Protocol IP address of the multimedia server; therefore, before the terminal sends the detection data packet to the multimedia server, the terminal needs to determine the IP address of the multimedia server; and the terminal obtains the IP address of the multimedia server by sending a domain name resolution request to the domain name server; in this step, the detection data packet is intercepted by intercepting the domain name resolution request; accordingly, when there is a detection data packet to be sent to the multimedia server, the step of the terminal intercepting the detection data packet can be implemented by the following steps (1) to (2), including:
[0112] (1) When there is a probe data packet to be sent to the multimedia server, the terminal sends a domain name resolution request to the kernel through the application process 91. The domain name resolution request is used to request the kernel to send the domain name resolution request to the domain name server through the domain name proxy service, and the domain name resolution request is used to request to obtain the Internet Protocol (IP) address of the multimedia server.
[0113] For example, see Figure 9 The terminal includes an application process 91, a Domain Name System (DNS) application programming interface (API), a kernel, and a domain name proxy service 95 (Netfilter); the application process 91 sends a domain name resolution request to the DNS API, and the address resolution function (getaddrinfo) 92 in the DNS API converts the name of the multimedia server carried in the domain name resolution request into the socket 93 address of the multimedia server, and then sends the converted domain name resolution request to the kernel.
[0114] In one possible implementation, the kernel includes a socket 93 (SOCKET) and a probe process 94 (Kretprobe); the socket 93 receives domain name resolution requests and forwards the domain name resolution requests to the domain name proxy service 95; and the probe process 94 injected into the kernel can capture the domain name resolution requests sent by the socket 93 to the domain name proxy service 95.
[0115] The domain name resolution request can be a domain name resolution request in the first format (tcp connect), a domain name resolution request in the second format (ip4_datagram_connect), or a domain name resolution request in the third format (ip6_datagram_connect). For example, please refer to Figure 10 , the application process 91 sends a domain name resolution request to the socket 93; and the detection process 94 injected into the kernel captures the domain name resolution request.
[0116] (2) The terminal determines the application identifier of the application to which the domain name resolution request belongs through the detection process 94 injected into the kernel; if the application identifier does not belong to the application whitelist, the domain name resolution request is intercepted. The application whitelist is used to store the application identifiers of applications that do not need to disconnect the RRC connection.
[0117] The application identifier can be a user identification (UID) or a process identifier (PID). The detection process 94 determines whether the application identifier of the application to which the domain name resolution request belongs is on the application whitelist. If the application identifier does not belong to the application whitelist, the detection process 94 does not send the domain name resolution request to the domain name proxy service 95. In addition, the detection process 94 controls the socket 93 to send a failure notification message to the DNS API, thereby achieving the effect of intercepting the domain name resolution request according to the application's UID / PID.
[0118] When the application identifier belongs to the application whitelist, the socket 93 forwards the domain name resolution request to the domain name proxy service 95, and the domain name proxy service 95 sends the domain name resolution request to the domain name continuation server 96; the domain name continuation server 96 receives the domain name resolution request, and based on the domain name resolution request, converts the domain name information of the multimedia server into the IP address of the multimedia server, and sends the IP address of the multimedia server to the domain name proxy service 95; the domain name proxy service 95 forwards the IP address of the multimedia server to the application process 91 through the socket 93 and DNS API in the kernel, and the application process 91 forwards the IP address of the multimedia server to the multimedia application, and the multimedia application sends a detection data packet to the multimedia server based on the IP address of the multimedia server.
[0119] In an embodiment of the present application, by intercepting the domain name resolution request, the terminal cannot obtain the IP address of the multimedia server, and thus the terminal cannot send a detection data packet to the multimedia server based on the IP address of the multimedia server, thereby intercepting the detection data packet and stopping the terminal from transmitting data to the multimedia server.
[0120] The second scenario: the terminal intercepts a data packet sent by the multimedia server to the terminal; accordingly, the steps of stopping data transmission between the terminal and the multimedia server may be:
[0121] When receiving a session data packet sent by the multimedia server, the terminal discards the session data packet, which is used to maintain the multimedia session, and the multimedia session is used to obtain the first multimedia slice from the multimedia server; and sends a rejection data packet to the multimedia server, which is used to notify the multimedia server to stop retransmitting the session data packet.
[0122] The multimedia server receives the rejection data packet and closes the socket 93 based on the rejection data packet, thereby reducing meaningless retransmissions. In addition, after the multimedia server does not retransmit the session data packet to the terminal, the terminal will enter the dormant state more quickly, thereby improving the efficiency of the terminal disconnecting the RRC connection.
[0123] In one possible implementation, the terminal stores an application whitelist, which is used to store application identifiers of applications that do not require disconnection of the RRC connection; accordingly, when receiving a session data packet sent by the multimedia server, the step of the terminal discarding the session data packet may be: when receiving a session data packet sent by the multimedia server, the terminal determines the application identifier of the application to which the session data packet belongs; if the application identifier does not belong to the application whitelist, discarding the session data packet, the application whitelist is used to store application identifiers of applications that do not require disconnection of the RRC connection.
[0124] When the application identifier belongs to the application whitelist, the terminal multimedia application sends the session data packet, so that the multimedia application maintains the multimedia session between the terminal and the multimedia server based on the session data packet, and then subsequently obtains the first multimedia slice from the multimedia server based on the multimedia session.
[0125] For example, see Figure 11 , the session data packet and the rejection data packet are data packets of the same format; in the case where the session data packet sent by the multimedia server 111 to the firewall 112 of the terminal is a data packet in the Transmission Control Protocol (TCP) format, the rejection data packet sent by the firewall 112 to the multimedia server 111 is also a data packet in the TCP format; for example, the session data packet can be a TCP pkg, and the rejection data packet can be a TCP-reset (RST). In the case where the session data packet sent by the multimedia server 111 to the firewall 112 of the terminal is a data packet in the User Datagram Protocol (UDP) format, the rejection data packet sent by the firewall 112 to the multimedia server 111 is also a data packet in the UDP format; for example, the session data packet can be a UDP pkg, and the rejection data packet can be a port unreachable (ICMP-PORT-UNREACH). In addition, the terminal includes a firewall, and whether the application identifier belongs to the application whitelist and the sending of the rejection data packet are both executed by the firewall.
[0126] In another possible implementation, the method further includes: after re-establishing the RRC connection between the terminal and the network device, the terminal adding the application identifier of the multimedia application corresponding to the multimedia server to an application whitelist. Furthermore, after disconnecting the RRC connection between the terminal and the network device, the terminal deleting the application identifier of the multimedia application from the application whitelist, thereby achieving timely updating of the application identifiers in the application whitelist.
[0127] Step 803: After stopping data transmission with the multimedia server, the terminal counts the duration of no data transmission between the terminal and the multimedia server.
[0128] The terminal determines whether the duration of no data transmission reaches a second preset duration; when the duration of no data transmission reaches the second preset duration, execute step 804; when the duration of no data transmission does not reach the second preset duration, continue to count the duration of no data transmission between the terminal and the server until the duration of no data transmission reaches the second preset duration and execute step 804.
[0129] The second preset time length can be set and changed as needed. In the embodiment of the present application, the second preset time length is not specifically limited; for example, the second preset time length can be 7 seconds.
[0130] Step 804: When the duration of no data transmission between the terminal and the multimedia server reaches a second preset duration, the terminal disconnects the RRC connection.
[0131] The terminal sends a disconnection request to the network device, where the disconnection request is used to request to disconnect the RRC connection; the network device receives the disconnection request sent by the terminal, and disconnects the RRC connection based on the disconnection request.
[0132] Step 805: Before the cached multiple first multimedia slices are played, re-establish an RRC connection with the network device, and obtain a second multimedia slice from the multimedia server through the re-established RRC connection, where the second multimedia slice is different from the first multimedia slice.
[0133] In some embodiments, this step is the same as step 507 and will not be repeated here.
[0134] In the case where the multimedia application is a video player A, the current diagram of the terminal periodically disconnecting the RRC connection according to the method provided in the embodiment of the present application is as follows: Figure 12 As shown, from Figure 12 As can be seen from the figure, the terminal's current has a periodic rise and fall process. When factors such as the terminal's screen brightness remain the same, the terminal's overall current gain is as follows:
[0135] For example, see Figure 13When the terminal is configured with connected mode discontinuous reception (CDRX) and multimedia data is played continuously for 1 hour, the terminal periodically disconnects the RRC connection according to the embodiment of the present application, compared with the RRC connection always being in the connected state, the RRC connection ratio is reduced from 99.87% to 79.20%, the RRC connection is optimized by 20.70%, and the current benefit is 17.16 mA.
[0136] For example, see Figure 14 When the terminal is not configured with CDRX and plays multimedia data continuously for 1 hour, the terminal periodically disconnects the RRC connection according to the embodiment of the present application, compared with the RRC connection always being in the connected state, the RRC connection ratio is reduced from 99.12% to 46.24%, the RRC connection is optimized by 53.35%, and the current benefit is 29.12 mA.
[0137] One thing that needs to be explained is that the reason why the current of the terminal with CDRX configured is lower than that without CDRX configured is that the screen power consumption varies depending on the video being watched.
[0138] In an embodiment of the present application, by intercepting the detection data packet sent by the terminal to the multimedia server and notifying the server to stop sending session data packets to the terminal, there is no data transmission between the terminal and the multimedia server as soon as possible, thereby achieving the purpose of quickly disconnecting the RRC connection and reducing the power consumption of the terminal.
[0139] Please refer to Figure 15 , which shows a multimedia data processing device shown in an exemplary embodiment of the present application, the device includes:
[0140] A first acquisition module 1501 is configured to acquire, from a multimedia server, a plurality of first multimedia slices of multimedia data through a radio resource control (RRC) connection with a network device, and cache the plurality of first multimedia slices;
[0141] a disconnection module 1502, configured to disconnect the RRC connection with the network device during the process of playing the plurality of first multimedia slices cached;
[0142] The second acquisition module 1503 is used to re-establish an RRC connection with the network device before the multiple cached first multimedia slices are played, and obtain a second multimedia slice from the multimedia server through the re-established RRC connection, where the second multimedia slice is different from the first multimedia slice.
[0143] In a possible implementation, the disconnection module 1502 is configured to determine an unplayed first multimedia slice; and disconnect the RRC connection with the network device based on the unplayed first multimedia slice.
[0144] In another possible implementation, the disconnection module 1502 is configured to determine a playable duration of the unplayed first multimedia slice; and disconnect the RRC connection with the network device when the playable duration is greater than a first preset duration.
[0145] In another possible implementation, the second acquisition module 1503 is used to determine the target disconnection duration of the RRC connection based on the playable duration, and the target disconnection duration is less than the playable duration; when the actual disconnection duration of the RRC connection reaches the target disconnection duration, the RRC connection is re-established with the network device.
[0146] In another possible implementation, the disconnection module 1502 is configured to determine the number of the unplayed first multimedia slices; and disconnect the RRC connection with the network device when the number is greater than a preset number.
[0147] In another possible implementation, the second acquisition module 1503 is configured to determine the first multimedia slice being played; and when the first multimedia slice being played is the target multimedia slice, re-establish an RRC connection with the network device, where the target multimedia slice is the first multimedia slice that is played last in the playback order of the unplayed first multimedia slices.
[0148] In another possible implementation, the disconnection module 1502 is configured to stop data transmission with the multimedia server; and disconnect the RRC connection when a duration of no data transmission with the multimedia server reaches a second preset duration.
[0149] In another possible implementation, the disconnect module 1502 is used to intercept the detection data packet when there is a detection data packet to be sent to the multimedia server, and the detection data packet is used to detect the connection status of the multimedia session with the multimedia server, and the multimedia session is used to obtain the first multimedia slice from the multimedia server.
[0150] In another possible implementation, the detection data packet is used to be sent to the multimedia server based on an Internet Protocol IP address of the multimedia server;
[0151] The disconnect module 1502 is used to send a domain name resolution request to the kernel through an application process when there is a detection data packet to be sent to the multimedia server. The domain name resolution request is used to request the kernel to send the domain name resolution request to the domain name server through the domain name proxy service, and the domain name resolution request is used to request to obtain the IP address of the multimedia server; determine the application identifier of the application to which the domain name resolution request belongs through the detection process injected into the kernel; and intercept the domain name resolution request if the application identifier does not belong to the application whitelist. The application whitelist is used to store the application identifiers of applications that do not need to disconnect the RRC connection.
[0152] In another possible implementation, the disconnect module 1502 is used to discard the session data packet sent by the multimedia server when receiving the session data packet, the session data packet is used to maintain the multimedia session, and the multimedia session is used to obtain the first multimedia slice from the multimedia server; and send a rejection data packet to the multimedia server, the rejection data packet is used to notify the multimedia server to stop retransmitting the session data packet.
[0153] In another possible implementation, the disconnection module 1502 is used to determine the application identifier of the application to which the session data packet belongs when receiving the session data packet sent by the multimedia server; if the application identifier does not belong to the application whitelist, discard the session data packet, and the application whitelist is used to store the application identifiers of applications that do not need to disconnect the RRC connection.
[0154] In another possible implementation, the apparatus further includes:
[0155] An adding module is used to add the application identifier of the multimedia application corresponding to the multimedia server to the application whitelist after re-establishing the RRC connection with the network device.
[0156] In another possible implementation, the apparatus further includes:
[0157] The deleting module is configured to delete the application identifier of the multimedia application corresponding to the multimedia server from the application whitelist after disconnecting the RRC connection with the network device.
[0158] In another possible implementation, the apparatus further includes:
[0159] A transmission module is used to re-establish an RRC connection with the network device and transmit data with the application server through the re-established RRC connection when other applications of the terminal transmit data with their corresponding application servers during the period when the RRC connection is disconnected, and transmit data with the application server through the re-established RRC connection, wherein the other applications refer to applications other than the multimedia applications corresponding to the multimedia server.
[0160] In another possible implementation, the apparatus further includes:
[0161] a third obtaining module, configured to obtain a multimedia list from the multimedia server through the RRC connection, where the multimedia list includes index information of the plurality of first multimedia slices of the multimedia data, and the multimedia list is used to indicate a playback order of the plurality of first multimedia slices;
[0162] The first acquisition module 1501 is configured to determine the index information of the first multimedia slice to be acquired based on the playback order of the multiple first multimedia slices indicated by the multimedia list and the index information of the multiple first multimedia slices; acquire the first multimedia slice to be acquired from the multimedia server through the RRC connection based on the index information of the first multimedia slice to be acquired, and then return to the step of determining the index information of the first multimedia slice to be acquired based on the playback order of the multiple first multimedia slices indicated by the multimedia list and the index information of the multiple first multimedia slices.
[0163] In an embodiment of the present application, on the one hand, multiple first multimedia slices are obtained from a multimedia server via an RRC connection with a network device. Since the speed of obtaining the first multimedia slices is often greater than the speed of playing the first multimedia slices, the first multimedia slices that have been obtained but not played are cached in the cache. At this time, disconnecting the RRC connection with the network device does not affect the user's experience of viewing the multimedia data. On the other hand, because the RRC connection with the network device is disconnected during the process of playing the first multimedia slices, power consumption is saved. Therefore, the embodiment of the present application can achieve power consumption savings without affecting the user's experience of viewing multimedia data.
[0164] It should be noted that the multimedia data processing device provided in the above embodiments only uses the division of the above functional modules as an example to illustrate the processing of multimedia data. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the terminal can be divided into different functional modules to complete all or part of the functions described above. In addition, the multimedia data processing device provided in the above embodiments and the multimedia data processing method embodiment are based on the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.
[0165] Please refer to Figure 16 , which shows a block diagram of a terminal 1600 according to an exemplary embodiment of the present application. The terminal 1600 in the present application may include one or more of the following components: a processor 1610 , a memory 1620 , and a display screen 1630 .
[0166] Processor 1610 utilizes various interfaces and circuits to connect various components within terminal 1600. It executes various functions and processes data for terminal 1600 by running or executing instructions, programs, code sets, or instruction sets stored in memory 1620, as well as accessing data stored in memory 1620. Optionally, processor 1610 can be implemented using at least one of the following hardware forms: digital signal processing (DSP), field-programmable gate array (FPGA), or programmable logic array (PLA). Processor 1610 can integrate one or a combination of a central processing unit (CPU), a graphics processing unit (GPU), a neural-network processing unit (NPU), and a modem. The CPU primarily handles the operating system, user interface, and application programs; the GPU is responsible for rendering and drawing the content displayed on display screen 1630; the NPU is used to implement artificial intelligence (AI) functions; and the modem is used to handle wireless communications. It is understandable that the above-mentioned modem may not be integrated into the processor 1610, but may be implemented separately through a computer program product.
[0167] The memory 1620 may include a random access memory (RAM) or a read-only memory (ROM). Optionally, the memory 1620 includes a non-transitory computer-readable storage medium. The memory 1620 may be used to store instructions, programs, codes, code sets, or instruction sets. The memory 1620 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as a touch function, a sound playback function, an image playback function, etc.), instructions for implementing the following various method embodiments, etc.; the data storage area may store data created according to the use of the terminal 1600 (such as audio data, a phone book), etc.
[0168] The display screen 1630 is a display component for displaying a user interface. Optionally, the display screen 1630 is a display screen with a touch function, through which the user can use any suitable object such as a finger or a stylus to perform touch operations on the display screen 1630 .
[0169] Display screen 1630 is typically provided on the front panel of terminal 1600. Display screen 1630 can be designed as a full screen, a curved screen, a special-shaped screen, a double-sided screen, or a foldable screen. Display screen 1630 can also be designed as a combination of a full screen and a curved screen, a combination of a special-shaped screen and a curved screen, etc., which are not limited in this embodiment.
[0170] In addition, those skilled in the art will appreciate that the structure of terminal 1600 shown in the above figures does not limit terminal 1600. Terminal 1600 may include more or fewer components than shown, or may combine certain components, or have different component arrangements. For example, terminal 1600 may also include a wireless fidelity (WiFi) module, an audio acquisition device, a speaker, a radio frequency circuit, an input unit, a sensor, an audio circuit, a Bluetooth module, a power supply, and other components, which are not described in detail here.
[0171] An embodiment of the present application further provides a computer-readable medium storing at least one program code, which is loaded and executed by a processor to implement the multimedia data processing method shown in the above embodiments.
[0172] An embodiment of the present application further provides a computer program product, which stores at least one program code, and the at least one program code is loaded and executed by a processor to implement the multimedia data processing method shown in the above embodiments.
[0173] In some embodiments, the computer program product involved in the embodiments of the present application can be deployed and executed on a terminal platform, or on multiple terminal platforms located at one location, or on multiple terminal platforms distributed at multiple locations and interconnected through a communication network. Multiple terminal platforms distributed at multiple locations and interconnected through a communication network can constitute a blockchain system.
[0174] In some embodiments, the computer program product involved in the embodiments of the present application can be deployed and executed on a business server, or on multiple business servers located at one location, or on multiple business servers distributed at multiple locations and interconnected through a communication network. Multiple business servers distributed at multiple locations and interconnected through a communication network can constitute a blockchain system.
[0175] Those skilled in the art will appreciate that in one or more of the above examples, the functions described in the embodiments of the present application can be implemented using hardware, software, firmware, or any combination thereof. When implemented using software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any media that facilitates the transmission of computer programs from one place to another. The storage medium can be any available medium that can be accessed by a general-purpose or special-purpose computer.
[0176] The above description is merely an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application shall be included in the scope of protection of the present application.
Claims
1. A method for processing multimedia data, characterized in that: The method comprises: Obtaining, through a radio resource control (RRC) connection with a network device, a plurality of first multimedia slices of multimedia data from a multimedia server, and buffering the plurality of first multimedia slices; During the process of playing the plurality of cached first multimedia slices, disconnecting the RRC connection with the network device; Before the cached multiple first multimedia slices are played, an RRC connection is re-established with the network device, and a second multimedia slice is obtained from the multimedia server through the re-established RRC connection, where the second multimedia slice is different from the first multimedia slice.
2. The method according to claim 1, characterized in that The disconnecting the RRC connection with the network device includes: Determining a first multimedia slice that has not been played; Based on the unplayed first multimedia slice, disconnect the RRC connection with the network device.
3. The method according to claim 2, characterized in that The disconnecting the RRC connection with the network device based on the unplayed first multimedia slice includes: Determining a playable duration of the unplayed first multimedia slice; When the playable duration is greater than a first preset duration, the RRC connection with the network device is disconnected.
4. The method according to claim 3, characterized in that The re-establishing the RRC connection with the network device before the cached plurality of first multimedia slices are completely played includes: Determining a target disconnection duration of the RRC connection based on the playable duration, wherein the target disconnection duration is less than the playable duration; When the actual disconnection duration of the RRC connection reaches the target disconnection duration, the RRC connection is re-established with the network device.
5. The method according to claim 2, characterized in that The disconnecting the RRC connection with the network device based on the unplayed first multimedia slice includes: Determining the number of the unplayed first multimedia slices; When the number is greater than a preset number, the RRC connection with the network device is disconnected.
6. The method according to claim 5, characterized in that The re-establishing the RRC connection with the network device before the cached plurality of first multimedia slices are completely played includes: Determining a first multimedia slice being played; In a case where the first multimedia slice being played is a target multimedia slice, an RRC connection is re-established with the network device, and the target multimedia slice is the first multimedia slice that is played last in the playback order among the unplayed first multimedia slices.
7. The method according to any one of claims 1 to 6, characterized in that The disconnecting the RRC connection with the network device includes: Stop data transmission with the multimedia server; When the duration of no data transmission between the multimedia server and the multimedia server reaches a second preset duration, the RRC connection is disconnected.
8. The method according to claim 7, characterized in that Stopping data transmission between the multimedia server and the multimedia server includes: When there is a probe data packet to be sent to the multimedia server, intercept the probe data packet, where the probe data packet is used to detect the connection status of the multimedia session with the multimedia server, and the multimedia session is used to obtain the first multimedia slice from the multimedia server.
9. The method according to claim 8, characterized in that The detection data packet is used to be sent to the multimedia server based on the Internet Protocol IP address of the multimedia server; When there is a detection data packet to be sent to the multimedia server, intercepting the detection data packet includes: When there is a probe data packet to be sent to the multimedia server, a domain name resolution request is sent to the kernel through the application process, wherein the domain name resolution request is used to request the kernel to send the domain name resolution request to the domain name server through the domain name proxy service, and the domain name resolution request is used to request to obtain the IP address of the multimedia server; Determining, by means of a detection process injected into the kernel, an application identifier of the application to which the domain name resolution request belongs; In a case where the application identifier does not belong to an application whitelist, the domain name resolution request is intercepted, and the application whitelist is used to store application identifiers of applications that do not need to disconnect the RRC connection.
10. The method according to claim 6, characterized in that Stopping data transmission between the multimedia server and the multimedia server includes: upon receiving a session data packet sent by the multimedia server, discarding the session data packet, wherein the session data packet is used to maintain a multimedia session, wherein the multimedia session is used to obtain the first multimedia slice from the multimedia server; A rejection data packet is sent to the multimedia server, where the rejection data packet is used to notify the multimedia server to stop retransmitting the session data packet.
11. The method according to claim 10, characterized in that The step of discarding the session data packet when receiving the session data packet sent by the multimedia server comprises: When receiving a session data packet sent by the multimedia server, determining an application identifier of an application to which the session data packet belongs; In a case where the application identifier does not belong to an application whitelist, the session data packet is discarded, where the application whitelist is used to store application identifiers of applications that do not need to disconnect the RRC connection.
12. The method according to claim 9 or 11, characterized in that The method further comprises: After re-establishing the RRC connection with the network device, the application identifier of the multimedia application corresponding to the multimedia server is added to the application whitelist.
13. The method according to claim 9 or 11, characterized in that The method further comprises: After disconnecting the RRC connection with the network device, the application identifier of the multimedia application corresponding to the multimedia server is deleted from the application whitelist.
14. The method according to any one of claims 1 to 6, characterized in that The method further comprises: During the period when the RRC connection is disconnected, when other applications of the terminal transmit data with their corresponding application servers, the RRC connection is re-established with the network device, and data is transmitted with the application server through the re-established RRC connection. The other applications refer to applications other than the multimedia applications corresponding to the multimedia server.
15. The method according to any one of claims 1 to 6, characterized in that The method further comprises: Obtaining a multimedia list from the multimedia server through the RRC connection, where the multimedia list includes index information of multiple first multimedia slices of the multimedia data, and the multimedia list is used to indicate a playback order of the multiple first multimedia slices; The obtaining, from a multimedia server through a radio resource control (RRC) connection with a network device, a plurality of first multimedia slices of multimedia data includes: determining, based on a playback order of the plurality of first multimedia slices indicated by the multimedia list and index information of the plurality of first multimedia slices, index information of the first multimedia slices to be currently acquired; Based on the index information of the first multimedia slice currently to be obtained, the first multimedia slice currently to be obtained is obtained from the multimedia server through the RRC connection, and then the step of returning to execute the playback order of the multiple first multimedia slices indicated by the multimedia list and the index information of the multiple first multimedia slices to determine the index information of the first multimedia slice currently to be obtained.
16. A multimedia data processing device, characterized in that: The device comprises: a first acquisition module, configured to acquire, from a multimedia server, a plurality of first multimedia slices of multimedia data through a radio resource control (RRC) connection with a network device, and cache the plurality of first multimedia slices; a disconnection module, configured to disconnect the RRC connection with the network device during the process of playing the plurality of cached first multimedia slices; The second acquisition module is used to re-establish an RRC connection with the network device before the multiple cached first multimedia slices are played, and obtain a second multimedia slice from the multimedia server through the re-established RRC connection, where the second multimedia slice is different from the first multimedia slice.
17. A terminal, characterized in that: The terminal includes a processor and a memory, wherein the memory stores at least one program code, and the at least one program code is loaded and executed by the processor to implement the multimedia data processing method according to any one of claims 1 to 15.
18. A computer-readable storage medium, characterized in that The storage medium stores at least one program code, and the at least one program code is loaded and executed by the processor to implement the multimedia data processing method according to any one of claims 1 to 15.
19. A computer program product, characterized in that The computer program product stores at least one program code, and the at least one program code is used to be executed by a processor to implement the multimedia data processing method according to any one of claims 1 to 15.