WO2022199484A1 - 一种媒体播放方法、装置和电子设备 - Google Patents
一种媒体播放方法、装置和电子设备 Download PDFInfo
- Publication number
- WO2022199484A1 WO2022199484A1 PCT/CN2022/081696 CN2022081696W WO2022199484A1 WO 2022199484 A1 WO2022199484 A1 WO 2022199484A1 CN 2022081696 W CN2022081696 W CN 2022081696W WO 2022199484 A1 WO2022199484 A1 WO 2022199484A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- address
- media
- application
- media resource
- client device
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 130
- 238000012546 transfer Methods 0.000 claims abstract description 71
- 230000008569 process Effects 0.000 claims abstract description 59
- 230000005540 biological transmission Effects 0.000 claims description 76
- 230000004044 response Effects 0.000 claims description 70
- 230000003139 buffering effect Effects 0.000 claims description 19
- 238000012544 monitoring process Methods 0.000 claims description 8
- 239000003795 chemical substances by application Substances 0.000 claims 2
- 230000006870 function Effects 0.000 description 33
- 238000010586 diagram Methods 0.000 description 28
- 238000012545 processing Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 13
- 238000010295 mobile communication Methods 0.000 description 10
- 230000036541 health Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 208000003028 Stuttering Diseases 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
Definitions
- the present application relates to the technical field of media playback, and in particular, to a media playback method, apparatus, and electronic device.
- a client device can be connected to multiple server devices through a network to play media resources in the server device or control the server device.
- the manner in which the client device plays the media resources in the server device may include local playback and real-time streaming playback.
- Local playback means that when a user requests to play a media resource, the client device first pulls the complete audio/video file from the server device to the local, and then starts to play. Since the audio/video file is usually large, it can be played from the user's request. It takes a while to complete the pulling of the audio/video files, so the user may feel that the playback is obviously stuck, and real-time playback cannot be achieved, resulting in poor user experience.
- Real-time streaming playback refers to real-time streaming protocols or screen-casting protocols, such as real-time streaming protocol (RTSP), hypertext transfer protocol (HTTP)-based real-time streaming protocol (HTTP live streaming, HLS), etc., deploy services such as real-time streaming, content distribution and/or encoding and decoding on the server device.
- RTSP real-time streaming protocol
- HTTP hypertext transfer protocol
- HLS real-time streaming protocol
- the server device sends the media stream to the client device based on the deployed service, and the client device The device plays the media stream while buffering.
- the real-time streaming playback method needs to deploy services on the server device, so the capability of the server device is relatively high and cannot be implemented in thin devices.
- the real-time streaming playback method also has certain requirements on the network quality. If the buffering speed of the media stream is too low, the playback will be stuck.
- Embodiments of the present application provide a media playback method, apparatus, and electronic device, so as to realize cross-device real-time playback of media between thin devices.
- an embodiment of the present application provides a method for playing media.
- the method includes: a media proxy service on a client device receives a first play request of an application on the client device, the first play request includes a first identifier, and the first identifier corresponds to a target media resource in the server device; the media proxy The service determines whether the buffer transmission process of the target media resource has been started according to the first identifier; if the buffer transmission process has not been started, the media proxy service starts the buffer transmission process to cache the target media resource from the server device to the client device, and the first The address is sent to the application, and the first address is the local uniform resource locator URL address of the client device used to access the cached target media resource; when the media proxy service receives the second play request sent by the application to the first address , which sends the cached target media resource to the application for playback.
- the media playback method provided by the embodiments of the present application builds a media proxy service on the client side.
- the client device can first cache the media resources locally through the media proxy service, so that the application program can cache the media resources locally. You can directly request the media proxy service to obtain and play media resources locally.
- the server device only needs to provide ordinary file transfer functions to the client device, and does not participate in and perceive the playback process. Therefore, there is no need to deploy playback-related services, which reduces the capability requirements for the server device, thereby realizing the thin device between thin devices. of media is played in real-time across devices.
- the method further includes: if the buffering transmission process has been started, but the buffering transmission process is suspended, the media proxy service continues the buffering transmission process to The cache progress of the target media resource continues to cache the target media resource from the server device to the client device, and sends the second address to the application, where the second address is the local URL of the client device for accessing the cached target media resource address; when receiving the third play request sent by the application to the second address, the media proxy service sends the cached target media resource to the application for playback. In this way, when the buffered transmission is resumed from the suspended state, the media proxy service can continue to buffer the target media resource by means of incremental transmission without re-buffering.
- the method further includes: if the target media resource has been completely buffered in the client device, the media proxy service sends the third address to the application program, So that the application program acquires the target media resource from the third address to play, and the third address is the file path of the target media resource cached in the client device.
- the application program can directly access the locally stored target media resource file for playback, and the media proxy service is no longer required to generate the media stream.
- the method further includes: if the target media resource has been completely buffered to the client device, the media proxy service sends the fourth address to the application program,
- the fourth address is the local URL address of the client device for accessing the cached target media resource; when the media proxy service receives the fourth playback request sent by the application to the fourth address, it sends the cached target media resource to the application program to play.
- the media proxy service can continue to generate the media stream for the application, and the application can receive and play the media stream sent by the media proxy service.
- the first address includes a local Internet Protocol IP address and a first port of the client device; and the second play request is a hypertext transfer protocol HTTP request.
- the media proxy service sends the cached target media resource to the application when receiving the second playback request sent by the application to the first address, including: the media proxy service monitors the first address of the local IP address. port; the media proxy service generates a first response message when monitoring the second playback request, the first response message is an HTTP response message, and the first response message includes a media stream generated according to the cached target media resource.
- the media proxy service monitors the first address of the local IP address. port
- the media proxy service generates a first response message when monitoring the second playback request, the first response message is an HTTP response message
- the first response message includes a media stream generated according to the cached target media resource.
- the method further includes: when the media proxy service receives a stop playing request from the application, if the buffering transmission process is in progress, suspending the buffering transmission process, and recording the buffering progress of the target media resource. In this way, when the user subsequently plays, the media proxy service can continue to perform the buffer transmission process based on the buffer progress.
- the embodiments of the present application provide a method for playing media.
- the method includes: an application on a client device sends a first play request to a media proxy service on the client device, the first play request includes a first identifier, and the first identifier corresponds to a target media resource in the server device; the application Receive the target address sent by the media proxy service; if the target address is the local URL address of the client device, the application sends a second play request to the local URL address; the application receives the target media resource sent by the media proxy service in response to the second play request And play, the target media resource is cached by the media proxy service from the server device to the client device.
- a media proxy service is constructed on the client device.
- the client device can first cache the media resources locally through the media proxy service, so that the application Programs can directly request the media proxy service to obtain and play media resources locally.
- the server device only needs to provide ordinary file transfer functions to the client device, and does not participate in and perceive the playback process. Therefore, there is no need to deploy playback-related services, which reduces the capability requirements for the server device, thereby realizing the thin device. of media is played in real-time across devices.
- the application after receiving the target address sent by the media proxy service, the application further includes: if the target address is a file path address in the client device, the application program obtains the target media resource from the file path address to play. In this way, after the target media resource has been cached locally, the application program can directly access the locally stored target media resource file for playback, and the media proxy service is no longer required to generate the media stream.
- the local URL address includes the local IP address and the first port of the client device; the second play request is a hypertext transfer protocol HTTP request.
- the application sending the second play request to the local URL address includes: the application sending the second play request to the first port of the local IP address.
- receiving the target media resource sent by the media proxy service in response to the second play request includes: the application receiving a first response message sent by the media proxy service in response to the second play request, the first response message For the HTTP response message, the first response message includes the media stream generated by the media proxy service according to the cached target media resource.
- the HTTP protocol such as transmission of media streams.
- an embodiment of the present application provides a media player device.
- the device includes: a virtual server for receiving a first play request of an application program on a client device, the first play request includes a first identifier, and the first identifier corresponds to a target media resource in the server device; the virtual server further uses for determining whether the cache transfer process of the target media resource has been started according to the first identifier; the file cache unit is used to start the cache transfer process if the cache transfer process is not started to cache the target media resource from the server device to the client device; virtual The server is further configured to send the first address to the application program, where the first address is the local Uniform Resource Locator URL address of the client device for accessing the cached target media resource; the virtual server is further configured to receive the application program When a second play request is sent to the first address, the cached target media resource is sent to the application for playing.
- the file cache unit is further configured to continue the cache transfer process if the cache transfer process has been started but the cache transfer process is suspended, so as to continue to transfer the target media resources from the server device according to the cache progress of the target media resources cache to the client device;
- the virtual server is also used to send a second address to the application, where the second address is the local URL address of the client device for accessing the cached target media resource;
- the virtual server is also used to receive When the application sends the third play request to the second address, the cached target media resource is sent to the application for playback.
- the virtual server is further configured to send the third address to the application if the target media resource has been completely cached in the client device, so that the application obtains the target media resource from the third address for playback, and the first The third address is the file path of the target media resource cached in the client device.
- the virtual server is further configured to send a fourth address to the application if the target media resource has been completely cached in the client device, where the fourth address is used by the client device to access the cached target media resource
- the virtual server is further configured to send the cached target media resource to the application for playback when receiving the fourth play request sent by the application to the fourth address.
- the first address includes a local Internet Protocol IP address and a first port of the client device; and the second play request is a hypertext transfer protocol HTTP request.
- the virtual server is configured to send the cached target media resource to the application when receiving the second playback request sent by the application to the first address, including: a virtual server, configured to monitor the local IP address The first port of the address; the virtual server is further configured to generate a first response message when monitoring the second playback request, where the first response message is an HTTP response message, and the first response message includes a media stream.
- the virtual server is further configured to suspend the cache transfer process and record the cache progress of the target media resource if the cache transfer process is in progress when receiving a stop playback request from the application.
- an embodiment of the present application provides a media player device.
- the device includes: a first sending unit configured to send a first play request to a media proxy service on a client device, where the first play request includes a first identifier, and the first identifier corresponds to a target media resource in the server device; the address is received unit, for receiving the target address sent by the media proxy service; the second sending unit, for sending the second playback request to the local URL address if the target address is the local URL address of the client device; the playback unit, for receiving the media proxy The service responds to and plays the target media resource sent by the second play request, and the target media resource is cached by the media proxy service from the server device to the client device.
- the playing unit is further configured to obtain the target media resource from the file path address for playing if the target address is the file path address in the client device.
- the local URL address includes the local IP address and the first port of the client device; the second play request is a hypertext transfer protocol HTTP request.
- the second sending unit is configured to send the second play request to the local URL address, including: sending the second play request to the first port of the local IP address.
- the playing unit is configured to receive the target media resource sent by the media proxy service in response to the second play request, including: receiving a first response message sent by the media proxy service in response to the second play request, the first response message For the HTTP response message, the first response message includes the media stream generated by the media proxy service according to the cached target media resource.
- an embodiment of the present application provides an electronic device, including: a media proxy service module and an application program module; a media proxy service module for executing the method of the first aspect and its various implementations; an application program module for using Methods for performing the second aspect and implementations thereof.
- the embodiments of the present application further provide a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the computer-readable storage medium runs on a computer, the computer executes the methods of the above aspects.
- the embodiments of the present application further provide a computer program product including instructions, which, when executed on a computer, cause the computer to execute the methods of the above aspects.
- an embodiment of the present application further provides a chip system, where the chip system includes a processor for supporting the foregoing apparatus or system to implement the functions involved in the foregoing aspect, for example, generating or processing the functions involved in the foregoing method. information.
- Figure 1 is a schematic diagram of the architecture of a current distributed scenario
- FIG. 2 is a schematic diagram of the architecture of another distributed scenario at present
- FIG. 3 is a schematic diagram of a user playing a media resource in a server device on a client device according to an embodiment of the present application
- FIG. 4 is a schematic diagram of a sub-page of a media resource page shown in an embodiment of the present application.
- FIG. 5 is a schematic diagram of real-time streaming playback based on real-time streaming protocol RTSP;
- FIG. 6 is a schematic diagram of real-time streaming playback based on the real-time streaming protocol HLS;
- FIG. 7 is a schematic diagram of a hardware structure of a terminal device provided by an embodiment of the present application.
- FIG. 8 is a schematic diagram of a software architecture provided by an embodiment of the present application.
- FIG. 9 is a flowchart of a media playback method provided by an embodiment of the present application.
- FIG. 10 is a scene diagram of an application generating a first play request shown in an embodiment of the present application
- FIG. 11 is a scene diagram of an application generating a second play request according to an embodiment of the present application.
- FIG. 13 is a process flow diagram illustrating a local media service starting to play a scene according to an embodiment of the present application
- FIG. 14 is a process flow diagram illustrating a local media service terminating a playback scenario according to an embodiment of the present application
- FIG. 15 is a hardware architecture diagram of another media playback method provided by an embodiment of the present application.
- 16 is a schematic structural diagram of a media playback device provided by an embodiment of the present application.
- FIG. 17 is a schematic structural diagram of a chip system provided by an embodiment of the present application.
- Distributed scenario refers to a scenario in which multiple devices are connected through a network to interact with each other and data, so as to jointly accomplish a task goal.
- FIG. 1 is a schematic diagram of the architecture of a current distributed scenario.
- the distributed scenario architecture may include one or more client devices 11 and a server 12 .
- client devices 11 are connected with a server 12 in a wide area network (WAN).
- the client device 11 may include, for example, a mobile phone, a notebook computer, a tablet computer, a large-screen display device, a virtual/mixed/augmented reality device, a local server, etc., which is not limited in this embodiment of the present application.
- the server 12 may include, for example, a media server, an application server, a storage server, a web server, a data center, a content distribution node, etc., which is not limited in this embodiment of the present application.
- FIG. 2 is a schematic diagram of the architecture of another distributed scenario at present.
- the distributed field may include multiple terminal devices 21, and the multiple terminal devices 21 may establish connections through a wide area network WAN or a local area network (local area network, LAN).
- a local area network local area network, LAN
- multiple terminal devices 21 can access a wireless local area network (Wireless LAN, WLAN) created by a wireless access point (wireless access point, WAP) 22, The mutual data transmission is realized by the forwarding of the wireless access point 22 .
- WLAN wireless local area network
- WAP wireless access point
- the terminal device 21 here may include, for example, a mobile phone, a notebook computer, a tablet computer, a large-screen display device, a virtual/mixed/augmented reality device, a network attached storage (NAS), a router with a storage function, etc., wherein, A router can act as a wireless access point in this distributed scenario.
- a mobile phone for example, a mobile phone, a notebook computer, a tablet computer, a large-screen display device, a virtual/mixed/augmented reality device, a network attached storage (NAS), a router with a storage function, etc.
- NAS network attached storage
- the distributed scene can be used to implement the function of playing media objects across devices, that is, one device plays the media resources in another device.
- the device that plays media resources is referred to as a client device
- the device that provides media content is referred to as a server device.
- the manner in which the client device plays the media content may generally include local playback and real-time streaming playback.
- local playback means that when a user requests to play a media resource, the client device first pulls the complete media file from the server device to the local, and then starts playing; screen protocol, deploy services such as real-time streaming, content distribution and/or codec on the server device.
- the server device sends the media stream to the client device based on the deployed service, and the client device Play the media stream while buffering.
- FIG. 3 is a schematic diagram illustrating a user performing a gesture operation in a client device to play a media resource in a server device according to an embodiment of the present application.
- the user can operate the client device 30 to enter a distributed portal interface 31 corresponding to media playback provided by the client device 30
- the interface can include, for example, a server device list 32
- the server device list 32 can include Information 33 of some or all of the server devices in the distributed scenario.
- the information 33 of the server device may include, for example, one or more of the following information: device model (such as Mate 30pro, Huawei smart screen, etc.), device name (user-defined name, such as Huawei's Huawei mobile phone, etc.) ), device type (eg: mobile phone, tablet computer, notebook, large-screen display device), device status (online/offline), device occupancy status (for example, whether it is occupied by other user devices, etc.).
- device model such as Mate 30pro, Huawei smart screen, etc.
- device name user-defined name, such as Huawei mobile phone, etc.
- device type eg: mobile phone, tablet computer, notebook, large-screen display device
- device status online/offline
- device occupancy status for example, whether it is occupied by other
- the client device 31 can display the media resource page 34 of the server device.
- the media resource page 34 may display media files stored in the server device in the form of icons and/or texts, wherein the icons may be, for example, thumbnails of videos or pictures, and the texts may be, for example, the names of the media files.
- the media resource page 34 may include multiple layers of pages.
- the media resource page may present a first-level page 35 that includes at least one folder 36, and presents the name of each folder and the content contained in each folder. number of files.
- Folder 36 may serve as an icon with thumbnails of one or more files it contains.
- the media resource page 34 when the media resource page 34 is implemented, it may include fewer layers of pages (for example, only the first layer page 35 or only the second layer page 37 ), or may include more layers of pages.
- the storage path of the file in the server device is determined, which is not limited in this embodiment of the present application.
- the user can click 43 the icon 38 of any media file to request to play, and a file transfer can be established between the client device and the server device, and the media file in the server device is transferred to the client device.
- the client device starts playing the media file after receiving the complete media file.
- the access and transmission process of the media files may be implemented through a file transfer protocol (FTP) service, a Web-based distributed authoring and version control (WebDAV) service, and the like, which is not limited in this embodiment of the present application.
- FTP file transfer protocol
- WebDAV Web-based distributed authoring and version control
- local playback is similar to downloading media resources from the network and then playing them. It is necessary to pull the media files from the server device to the client device before playing. Therefore, the media files are played from the user request. There will be a certain delay in starting playback, which will cause users to feel stuck in the experience. This delay is usually determined according to the file transfer speed and the size of the media file. For example, if the media file is a movie, the transfer time may be as long as tens of seconds, which seriously affects the user experience.
- the media resource page 34 may also include multiple sub-pages, and each sub-page corresponds to a type. Switch between different sub-pages by manually operating 44 or clicking 45 on the name of the sub-page.
- the foregoing multiple types may include, for example, pictures, videos, audios, documents, others, recent, etc., which are not limited in this embodiment of the present application.
- FIG. 5 is a schematic diagram of real-time streaming playback based on the real-time streaming protocol RTSP.
- the real-time streaming protocol RTSP is a network application protocol designed for use in entertainment and communication systems to control servers. This protocol is used to create and control media sessions between terminals.
- the client connected to the server can issue commands, such as play, record and pause, in order to control the media stream from server to client or from client to server in real time.
- the real-time streaming playback based on the real-time streaming protocol RTSP can be implemented through the following steps:
- Step S1 the OPTIONS request process. Specifically include:
- Step S11 the client sends an OPTIONS request message (OPTIONS request) to the server to request a request type acceptable to the server.
- OTIONS request an OPTIONS request message
- Step S12 the server sends an OPTIONS response message (OPTIONS response) to the client to send all the request types that it can accept to the client.
- OTIONS response an OPTIONS response message
- Step S2 the DESCRIBE request process. Specifically include:
- Step S21 the client sends a DESCRIBE request message (DESCRIBE request) to the server to request to obtain media initialization description information from the server.
- DESCRIBE request a DESCRIBE request message
- Step S22 the server sends a DESCRIBE response message (DESCRIBE response) to the client to send the media initialization description information to the client.
- DESCRIBE response DESCRIBE response message
- Step S3, SETUP request flow Specifically include:
- Step S31 the client sends a SETUP request message (SETUP request) to the server to set the attributes and transmission mode of the media session, and remind the server to establish a session.
- SETUP request a SETUP request message
- Step S32 the server establishes a session, and sends a SETUP response message (SETUP response) to the client, so as to send the session identifier and related information to the client.
- SETUP response SETUP response
- Step S4 PLAY play request process. Specifically include:
- Step S41 the client sends a play request message (PLAY request) to the server to request to play the media resource.
- PLAY request a play request message
- Step S42 the server sends streaming media data (PLAY response) to the client in response to the PLAY request.
- Step S5 TEARDOWN request flow. Specifically include:
- Step S51 the client sends a TEARDOWN request message (TEARDOWN request) to the server to request to close the media session.
- TEARDOWN request a TEARDOWN request message
- Step S52 the server closes the session (TEARDOWN response) in response to the TEARDOWN request.
- RTSP real-time streaming playback based on RTSP involves a large number of interactive processes and requires high device resources; in addition, RTSP requires the deployment of RTSP services in server devices.
- RTSP requires the deployment of RTSP services in server devices.
- RTSP-based real-time streaming playback is difficult to implement in the scenario shown in Figure 2; in addition, RTSP streaming media Transmission and playback are performed at the same time, so the smoothness of playback depends on the quality of the network. When the quality of the network is poor, playback may become stuttered.
- FIG. 6 is a schematic diagram of real-time streaming playback based on the real-time streaming protocol HLS.
- HLS is a streaming media network transmission protocol based on the hypertext transfer protocol (HTTP). It works by dividing the entire stream into small HTTP-based files to download, a few at a time. When streaming media is playing, the client can choose to download the same resource at different rates from many different alternate sources, allowing the streaming session to adapt to different data rates.
- HTTP hypertext transfer protocol
- the HLS in addition to the server and the client, the HLS also needs to include a content distribution end, Distribution.
- the specific process of HLS implementing real-time streaming playback may include:
- the server obtains the media resources, encodes the media resources to obtain the media stream, and then divides the media stream through the stream splitter to obtain multiple small video files (.ts), and generates the corresponding video files.
- Playlist file (Index file), and finally send the obtained video file (.ts) and playlist file to the content distribution end.
- the content distribution end is used to store video files (.ts), and can send the playlist file (Index file) to the client; the client can obtain each video according to the list file (Index file) The address where the file (.ts) is stored on the content distribution side, and then the video file (.ts) is obtained and played based on these addresses.
- the real-time streaming playback based on HLS requires the deployment of file segmentation services and content distribution services in the server device, which requires high device resources and is also difficult to implement in the scenario shown in Figure 2; in addition, HLS streaming media Transmission and playback are also performed at the same time, so the smoothness of playback depends on the quality of the network. When the quality of the network is poor, the playback may also experience stuttering.
- an embodiment of the present application provides a media playback method.
- the method provided in this embodiment of the present application can be applied to the distributed scenario shown in FIG. 1 or FIG. 2 , and preferably can be applied to the distributed scenario provided by FIG. 2 and composed of thin devices.
- FIG. 7 is a schematic diagram of a hardware structure of a terminal device provided by an embodiment of the present application.
- the terminal device 100 may include a processor 110, a memory 120, a universal serial bus (USB) interface 130, a radio frequency circuit 140, a mobile communication module 150, a wireless communication module 160, a camera 170, a display A screen 180, a touch sensor 190, an air pressure sensor 210, a key 220, and the like.
- USB universal serial bus
- the processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), video codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural-network processing unit (neural-network processing unit, NPU), etc. Wherein, different processing units may be independent devices, or may be integrated in one or more processors, such as integrated in a system on a chip (system on a chip, SoC).
- a memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the memory in processor 110 is cache memory. This memory may hold instructions or data that have just been used or recycled by the processor 110 .
- the processor 110 may include one or more interfaces.
- the interface may include an integrated circuit (inter-integrated circuit, I2C) interface, an integrated circuit built-in audio (inter-integrated circuit sound, I2S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous transceiver (universal asynchronous transmitter) receiver/transmitter, UART) interface, mobile industry processor interface (MIPI), general-purpose input/output (GPIO) interface, subscriber identity module (SIM) interface, and / or universal serial bus (universal serial bus, USB) interface, etc.
- I2C integrated circuit
- I2S integrated circuit built-in audio
- PCM pulse code modulation
- PCM pulse code modulation
- UART universal asynchronous transceiver
- MIPI mobile industry processor interface
- GPIO general-purpose input/output
- SIM subscriber identity module
- USB universal serial bus
- Memory 120 may be used to store computer-executable program code, which includes instructions.
- the memory 120 may include a stored program area and a stored data area.
- the storage program area may store an operating system, an application program required for at least one function (such as a sound playback function, an image playback function, etc.), and the like.
- the storage data area may store data (such as audio data, phone book, etc.) created during the use of the terminal device 100 and the like.
- the memory 120 may include one or more storage units, for example, may include volatile memory (volatile memory), such as: dynamic random access memory (dynamic random access memory, DRAM), static random access memory (static random access memory) memory, SRAM), etc.; may also include non-volatile memory (non-volatile memory, NVM), such as: read-only memory (read-only memory, ROM), flash memory (flash memory), etc.
- volatile memory volatile memory
- DRAM dynamic random access memory
- static random access memory static random access memory
- SRAM static random access memory
- NVM non-volatile memory
- the processor 110 executes various functional applications and data processing of the terminal device 100 by executing the instructions stored in the memory 120 and/or the instructions stored in the memory provided in the processor.
- the wireless communication function of the terminal device 100 may be implemented by the radio frequency circuit 140 , the mobile communication module 150 , the wireless communication module 160 , the modulation and demodulation processor, the baseband processor, and the like.
- the radio frequency circuit 140 may include at least one antenna 141 for transmitting and receiving electromagnetic wave signals.
- Each antenna in terminal device 100 may be used to cover a single or multiple communication frequency bands.
- the antenna may be used in conjunction with a tuning switch.
- the mobile communication module 150 may provide a wireless communication solution including 2G/3G/4G/5G, etc. applied on the terminal device 100 .
- the mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA) and the like.
- the mobile communication module 150 can receive electromagnetic waves through the antenna 141, filter, amplify, etc. the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation.
- the mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and then convert it into electromagnetic waves for radiation through the antenna 141 .
- at least part of the functional modules of the mobile communication module 150 may be provided in the processor 110 .
- at least part of the functional modules of the mobile communication module 150 may be provided in the same device as at least part of the modules of the processor 110 .
- the modem processor may include a modulator and a demodulator.
- the modulator is used to modulate the low frequency baseband signal to be sent into a medium and high frequency signal.
- the demodulator is used to demodulate the received electromagnetic wave signal into a low frequency baseband signal. Then the demodulator transmits the demodulated low-frequency baseband signal to the baseband processor for processing.
- the low frequency baseband signal is processed by the baseband processor and passed to the application processor.
- the application processor outputs sound signals through audio devices (including but not limited to speakers, receivers, etc.), or displays images or videos through the display screen 180 .
- the modem processor may be a stand-alone device.
- the modem processor may be independent of the processor 110, and may be provided in the same device as the mobile communication module 150 or other functional modules.
- the wireless communication module 160 may include a wireless fidelity (Wi-Fi) module, a bluetooth (BT) module, a GNSS module, a near field communication (NFC) module, an infrared (IR) module modules etc.
- the wireless communication module 160 may be one or more devices integrating at least one of the above modules.
- the wireless communication module 160 receives electromagnetic waves via the antenna 141 , frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110 .
- the wireless communication module 160 can also receive the signal to be sent from the processor 110 , perform frequency modulation on it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 141 .
- the wireless communication function of the terminal device 100 may include, for example, a global system for mobile communications (GSM), a general packet radio service (GPRS), a code division multiple access (CDMA) code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE) ), 5th generation mobile networks new radio (5G NR), BT, GNSS, WLAN, NFC, FM, and/or IR functions.
- GSM global system for mobile communications
- GPRS general packet radio service
- CDMA code division multiple access
- CDMA code division multiple access
- WCDMA wideband code division multiple access
- TD-SCDMA time-division code division multiple access
- LTE long term evolution
- 5G NR 5th generation mobile networks new radio
- GNSS may include global positioning system (GPS), global navigation satellite system (GLONASS), Beidou navigation satellite system (BDS), quasi-zenith satellite system (quasi-zenith) satellite system, QZSS) and/or satellite based augmentation systems (SBAS).
- GPS global positioning system
- GLONASS global navigation satellite system
- BDS Beidou navigation satellite system
- QZSS quasi-zenith satellite system
- SBAS satellite based augmentation systems
- Camera 170 is used to capture still images or video.
- the camera 170 includes a lens and a photosensitive element, and the object generates an optical image through the lens and projects to the photosensitive element.
- the photosensitive element may be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor.
- CMOS complementary metal-oxide-semiconductor
- the photosensitive element converts the optical signal into an electrical signal, and then transmits the electrical signal to the ISP to convert it into a digital image signal.
- the ISP outputs the digital image signal to the DSP for processing.
- DSP converts digital image signals into standard RGB, YUV, RYYB and other formats of image signals.
- the terminal device 100 may include 1 or N cameras 170 , where N is a positive integer greater than 1.
- the NPU is a neural-network (NN) computing processor.
- NN neural-network
- Applications such as intelligent cognition of the terminal device 100 can be realized through the NPU, for example: image recognition, face recognition, speech recognition, text understanding, etc.
- the display screen 180 is used to display images, videos, and the like.
- the display screen 180 includes a display panel.
- the display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (active-matrix organic light).
- LED diode AMOLED
- flexible light-emitting diode flexible light-emitting diode (flex light-emitting diode, FLED), MiniLED, MicroLED, Micro-OLED, quantum dot light-emitting diode (quantum dot light emitting diodes, QLED) and so on.
- the terminal device 100 may include 1 or N display screens 180 , where N is a positive integer greater than 1.
- the touch sensor 190 is also called "touch device”.
- the touch sensor 190 may be disposed on the display screen 180 , and the touch sensor 190 and the display screen 180 form a touch screen, which is also referred to as a “touch screen”.
- the touch sensor 190 is used to detect a touch operation on or near it.
- the touch sensor can pass the detected touch operation to the application processor to determine the type of touch event.
- Visual output related to touch operations may be provided through display screen 180 .
- the touch sensor 190 may also be disposed on the surface of the terminal device 100 , which is different from the position where the display screen 180 is located.
- the air pressure sensor 210 is used to measure air pressure. In some embodiments, the terminal device 100 calculates the altitude through the air pressure value measured by the air pressure sensor 210 to assist in positioning and navigation.
- the keys 220 include a power-on key, a volume key, and the like.
- the keys 220 may be mechanical keys. It can also be a touch key.
- the terminal device 100 may receive key input and generate key signal input related to user settings and function control of the terminal device 100 .
- the terminal device 100 may include more or less components than those shown in the drawings, or combine some components, or separate some components, or arrange different components.
- the illustrated components may be implemented in hardware, software or a combination of software and hardware.
- any terminal device can be used as a server device or a client device in real-time streaming playback.
- Whether a terminal device is a server device or a client device depends on whether it is a media resource The provider is also the player. For example: for terminal device A and terminal device B, if terminal device A plays media files in terminal device B across devices, then terminal device A is the client device and terminal device B is the server device; If the device plays the media files in terminal device A, then terminal device B is the client device, and terminal device A is the server device.
- Each method step of the media playback method provided by the embodiments of the present application may be implemented in a client device and a server device, and is mainly implemented in a client device.
- the embodiments of the present application also provide a software architecture of a terminal device.
- the software architecture can be used for the client device and the server device to implement each method step of the media playback method.
- FIG. 8 is a schematic diagram of a software architecture provided by an embodiment of the present application.
- the software architecture includes a client part and a server part.
- the client part may include application programs and local media services (also called media proxy services, local proxy services, etc., which are not limited in this embodiment of the present application), and the server part may include a file management function.
- the application program may generally be an application program with file browsing and playing functions, such as a file manager application, a player application, or other media applications, which is not limited in this embodiment of the present application.
- the application may be a system application of the client device or a third-party application, which is not limited in this embodiment of the present application.
- the local media service is a function module newly added in the client device in the embodiment of the present application.
- the local media service may consist of, for example, a virtual server, a file caching function, and a file transfer function.
- the local media service can be regarded as a proxy service set between the application and the server device, which isolates the original streaming media transmission behavior from the server device to the application, and receives and caches the data from the server device. media resources, and provide the application with access to the media resources.
- the specific functions of the local media service will be further described in the following embodiments.
- the file management function of the server device is only required to implement conventional file storage and transmission functions, so there is no need to deploy any real-time streaming protocol related services in the server device.
- FIG. 9 is a flowchart of a media playback method provided by an embodiment of the present application. The method can be applied to a client device having the software architecture shown in FIG. 8 . As shown in Figure 9, the method may include the following steps:
- Step S101 the local media service acquires media resource information of the server device.
- the media resource information of the server device may include, for example, the file identifier of the media resource stored by the server device.
- each media file has a file identifier, and different media files have different file identifiers. Therefore, the file identifier A unique identity that can be used by client devices and server devices to identify a media file.
- the file identifier may be a file descriptor (FD), which may be in the form of a non-negative integer, and may be generated by the server device when the media file is created, which is not done in this embodiment of the present application. limited.
- FD file descriptor
- the file identifier may be a path of a media file, for example, an HTTP path of an audio file in a local area network in a distributed scenario, which is not limited in this embodiment of the present application.
- file identifier may also include other forms of file identifiers, which will not be repeated here.
- the media resource information may further include one or more of the file name, file type, file size, thumbnail image, and creation time of each media file.
- step S101 that is, the action of the local media service to obtain the media resource information of the server device can be triggered in various ways, which is not limited in the embodiment of the present application, as long as it can
- the media resource information may be acquired before the application program triggers the first application request.
- the local media service can periodically obtain the media resource information of the server device; or, when the server device detects that the media resource information has changed (for example: adding a file, deleting a file, file attributes changes), actively send the latest media resource information to the local media service; or, the local media service can trigger the behavior of acquiring the media resource information of the server device when the application is started.
- Step S102 the application sends a first play request to the local media service, where the first play request includes a first identifier.
- step S102 will be specifically described below with reference to a usage scenario.
- FIG. 10 is a scene diagram of an application generating a first play request according to an embodiment of the present application.
- the file management application in the client device is opened, and the “other devices” option is clicked 46 , the file management application can display the server device list 32 to the user.
- the user wants to access the media resources in a server device, he can click on the server device.
- the application detects that the user has clicked on a server device, it can obtain this service from the local media service.
- the media resource information of the terminal device is generated, and the media resource page 35 of the server device is generated according to the media resource information.
- the target media resource if the user wants to play a certain media resource, hereinafter referred to as the target media resource, he or she can click 48 the icon 39 of the target media resource.
- the application detects that the user has clicked 48 the icon 39 of the target media resource, it will send a message to the local
- the media service sends a first play request. It can be understood that the first identifier in the first play request is the media identifier of the target media resource.
- the application can also generate the first play request in other ways, such as in response to the user's voice input, in response to the remote control input etc., which are not limited in the embodiments of the present application.
- the communication between the application and the local media service can be achieved through a virtual server in the local media service.
- the virtual server may be, for example, an HTTP virtual server, so that message and data transmission can be established between the application and the HTTP virtual server based on the HTTP protocol.
- the HTTP virtual server can listen to the request of the application on the local IP address and specific port.
- This port can be pre-agreed by the application and the local media service.
- the local IP address may generally be 127.0.0.1, and the port may be any one or more of 1 to 65536.
- the port is denoted by xx below.
- the first play request may be an HTTP request sent to 127.0.0.1:xx. In this way, the local media service can receive the first playback request by monitoring 127.0.0.1:xx.
- the local media service may first determine whether it has started the buffer transmission process of the target media resource corresponding to the first identifier. If the local media service has not started the buffer transmission process, it means that the application The target media resource has not been played before, and it is the first time that the application sends the first playback request to the local media service. In this case, the local media service and application may perform steps S103-S107.
- the buffer transmission process is not started means that the local media service does not start the target media resource transmission process from the server device to the client device, and the client device does not locally Cache any file segment of the target media resource. This state generally corresponds to the scenario where the user requests to play the target media resource for the first time.
- Step S103 the local media service sets the first address.
- the first address may be an address of the client device used to access the cached target media resource, and may be used by the application to subsequently obtain the media stream corresponding to the target media resource.
- the first address may be a local Uniform Resource Locator URL address. If the message and data transmission is established between the application and the virtual server based on the HTTP protocol, the first address is still an HTTP address, for example: http://127.0.0.1:xx/y, where y indicates that the target media resource will be stored on the client The file path cached in the end device.
- Step S104 the local media service starts a buffer transmission process to buffer the target media resources of the server device to the client device.
- Step S105 the local media service sends the first address to the application, and the application receives the first address.
- step S105 may be performed by a virtual server of the local media service.
- the HTTP virtual server may send the application program to the first address through an HTTP protocol message.
- step S104 and step S105 may be performed synchronously, or step S105 may be performed before step S104, or step S105 may be performed after step S104.
- the local media service can already start caching the target media resource when sending the first address to the application, but the application has not yet received the user's request to start playing the media resource.
- the caching process and the playing process of the media resources are independent and decoupled from each other, and the caching process of the media resources may be performed before the playing process.
- step S105 may be implemented by the file caching function and the file transmission function of the local media service.
- the file caching function may first obtain the storage location of the target media resource based on the distributed file system formed between the client device and the server device, and the storage location may also be a URL.
- the local area network IP address of the client device in the distributed scenario is 192.168.1.105
- the local area network IP address of the server device is 192.168.1.107
- the target media resources are in the server device.
- the storage path is a/b/c, then, when the server device and the client device use the ftp protocol (only as an example, other protocols can also be used, which are not limited here) to transmit data, the storage of the target media resource
- the location can be: ftp://192.168.1.107/a/b/c.
- the file caching function can determine the caching strategy according to some set strategy factors.
- the strategy factors that can be used here can include but are not limited to one or more of the following: the network capability of the server device, the network capability of the client device, the service The protocol rate between the client device and the client device, the disk I/O performance of the server device, the disk I/O performance of the client device, the disk I/O load of the server device, the disk I/O of the client device load, the processor load of the server device, the processor load of the client device, etc.
- caching strategies that can be used here may include but are not limited to one or more of the following: cache speed, size of each file segment when file segment transmission is used, buffer health (referring to the cached progress and application The time difference between the progress of the playback) and so on.
- the relationship between the policy factor and the caching policy is not specifically limited in the embodiment of the present application, and a person skilled in the art can reasonably determine it based on knowledge in the art. For example: the higher the network capability of the server device and the network capability of the client device, the faster the cache speed, the larger each file segment, and the smaller the buffer health; the higher the network capability of the server device and the network capability of the client device are. Low, the smaller each file segment, the greater the buffer health.
- the file caching function can start the cross-device transmission of the target media resource according to the caching policy. For example, based on the determined caching speed, the target media resource is obtained from the storage location of the target media resource, and segmented and cached at the first address until the cached The target media resource meets the buffer health requirements.
- Step S106 the application sends a second play request to the first address.
- the second play request may be a request that the user wishes to start playing the media resource.
- FIG. 11 is a scene diagram of an application generating a second play request according to an embodiment of the present application.
- the scene shown in FIG. 11 may be a continuation of the scene shown in FIG. 10 .
- the application when the user wants to play the target media resource and clicks the icon of the target media resource, the application can enter the play interface 51 of the target media resource. Under the play interface 51, the application can start playing the target media resource in at least two ways, one way is "do not play automatically", and the other way is "play automatically”.
- the "No Autoplay” and “Autoplay” modes can be selected by the application as default settings. It can also be set by the user.
- the playing interface 51 may include a start playing button 52, and the application starts playing when the application detects that the user clicks 49 the start playing button 52. Then, if the application program adopts the mode of "do not play automatically", the application program can send a second play request to the first address when detecting that the user 49 clicks the start playing button 52 .
- the application In the "autoplay” mode, when the application detects that the user clicks on the icon of the target media resource, it enters the play interface 51 of the target media resource and directly starts playing. Then, if the application program adopts the "autoplay” mode, the application program can immediately send a second play request to the first address as long as it obtains the first address after detecting that the user clicks on the icon of the target media resource.
- the application program may not obtain the first address in advance, and can wait until the local media service feedbacks the first address meeting, and immediately send the second playback request to the first address; if the application program The program is not playing the target media resource for the first time, and the application may have obtained the first address during the previous playback, and can immediately send a second playback request to the first address.
- the second playback request may be an HTTP request
- the request may be sent to a first port of the first address
- the first port may be a port agreed in advance by the application and the local media service.
- the application and the local media service may agree on the same port for the first playback request and the second playback request, or may agree on a different port for the first playback request and the second playback request, which is not done in this embodiment of the present application limited.
- Step S107 When receiving the second play request, the local media service sends the cached target media resource to the application for playing.
- step S107 may be performed by a virtual server of the local media service.
- the virtual server may be, for example, an HTTP virtual server.
- the virtual server can create a service socket ServerSocket for the local IP address and the first port, and monitor the HTTP request received on the first port of the local IP address through the ServerSocket. If the second playback request is monitored, the cached target media resource Send to the app for playback.
- the local media service sends the cached target media resources to the application for playback, which may be implemented in the following manner: after monitoring the second playback request, the local media service may read the content from the first address.
- the file fragments of the target media resources in the segment cache are processed into media streams according to the audio/video time sequence corresponding to the file fragments, and then the media streams are sent to the application for playback.
- the media stream may be a media stream based on the HTTP protocol, and is sent to the application program by means of an HTTP response message.
- the application program can decode and render the media stream using its configured audio/video decoder, renderer, etc., thereby generating sound or images.
- the media playback method constructs a local media service on the client side, and when the application program requests to play the media resources of the server device, the client device can first cache the media resources through the local media service. To the local, so that the application can directly request the local media service to obtain media resources from the local and play them.
- the server device only needs to provide ordinary file transfer functions to the client device, and does not participate in and perceive the playback process. Therefore, there is no need to deploy playback-related services, which reduces the capability requirements for the server device, thereby realizing the thin device between thin devices. of media is played in real-time across devices.
- the application may or may not play the same target media resource in the server device for the first time, depending on the user's wishes.
- the local media service does not start the buffer transmission process, so the client device can completely execute the methods of steps S101-S107; when the application program does not play the target media resource for the first time, the local media service The media service may have already started the buffer transmission process in the previous playback process. In this case, the client may also perform other method steps according to the buffer status of the target media resource.
- the user may perform playback control operations such as start playback, pause playback, and terminate playback, or repeatedly play the target media resources.
- the target media resources may be different. cache status.
- the cache status of the target media resource may include “cache transfer process not started” and “cache transfer process started”.
- the "cached transfer process started” may further include states such as “cached transfer pending", “cached transfer in progress”, “cached transfer completed”, etc., wherein:
- “Cached transfer pending” means that the local media service has started the transfer process of the target media resources from the server device to the client device before this, but due to some reasons (for example, the user clicks to pause playback or temporarily closes the playback process) the transfer process is suspended, but the connection between the server device and the local media service used to transmit the target media resource and the pre-applied system resources are not released.
- the local media service records the cache location of the target media resource on the client, the target media The overall length of the resource and the current transmitted length of the target media resource (ie, the transmission progress).
- “Cached transmission in progress” means that the local media service has previously started the transfer process of the target media resource from the server device to the client device, and data transmission is in progress. This state generally corresponds to the user playing the target media resource, or , Pause the playback of the target media resource, but for some reasons (for example, the cached target media resource does not meet the buffer health requirement), the caching action of the target media resource is still in progress.
- the buffered transmission is completed means that the cross-device transmission of the target media resource has been completed, and the client device has completely cached each file segment of the target media resource.
- the local media service and the application can perform the following steps S108-S112 after step S102:
- Step S108 the local media service sets the second address.
- the second address may be an address of the client device for accessing the cached target media resource, and the second address and the first address may be the same or different.
- the difference between the first address and the second address may only be the port.
- the first address may include the local IP address and the first port
- the second address may include the local IP address. IP address and second port.
- both the first address and the second address can be a temporary address, and the local media service can generate such a temporary address every time it receives a first playback request, so that the application can obtain the temporary address from this temporary address later.
- Step S109 the local media service continues the buffering transmission process to continue to buffer the target media resource from the server device to the client device according to the buffering progress of the target media resource.
- Step S110 the local media service sends the second address to the application, and the application receives the second address.
- Step S111 the application sends a third play request to the second address.
- the third play request may be a request that the user wishes to continue playing the media resource.
- Step S112 when receiving the third play request, the local media service sends the cached target media resource to the application for playing.
- step S112 may be performed by a virtual server of the local media service.
- the virtual server may be, for example, an HTTP virtual server.
- the virtual server can create a service socket ServerSocket for the local IP address and the second port, and monitor the HTTP request received on the second port of the local IP address through the ServerSocket. If the third playback request is monitored, the cached target media resources Send to the app for playback.
- FIG. 12 is a flowchart of another method for playing media according to an embodiment of the present application. This method can be applied to the situation where the local media service has already cached the target media resource locally.
- the method may include the following steps 201-S203:
- Step S201 the application sends a first play request to a first address.
- Step S202 the local media service sends the third address to the application in response to the first playback request.
- the third address may be a file path of the target media resource cached locally.
- the first address is a local URL address, which is cached in the client device by the local IP address and port http://127.0.0.1:xx and the target media resource.
- the file path is composed of y; different from the first address, after the target media resource is cached, the local media service does not need to transmit data from the server device, and the target media resource does not need to be occupied by the HTTP virtual server, then the target media The resource can no longer use the URL address, therefore, the third address can directly be the file path y of the target media resource cached in the client device.
- y may be of the form: Storage (the root directory of the client device)/Movies/ShareMedia/1.mov.
- Step S203 the application reads the target media resource from the third address to play.
- the application program can access the target media resource file located at the third address, such as 1.mov, and play the file. This process is the same as the application program plays local media, and does not involve the streaming process.
- the method may include the following steps 201, S204-S207:
- Step S201 the application sends a first play request to a first address.
- Step S204 the local media service sets a fourth address.
- the second address may be an address of the client device used to access the cached target media resource
- the fourth address may be the same as or different from the first address and the second address.
- the difference between the first address, the second address and the fourth address may only be the port.
- the first address may include the local IP address and the first address. port
- the second address may include the local IP address and the second port
- the fourth address may include the local IP address and the fourth port.
- Step S205 the local media service sends the fourth address to the application, and the application receives the fourth address.
- Step S206 the application sends a fourth play request to the fourth address.
- the fourth play request may be a request that the user wishes to continue playing the media resource.
- Step S207 when the local media service receives the third and fourth play requests, it sends the cached target media resources to the application for playing.
- step S207 may be performed by a virtual server of the local media service.
- the virtual server may be, for example, an HTTP virtual server.
- the virtual server can create a service socket ServerSocket for the local IP address and the fourth port, and monitor the HTTP request received on the fourth port of the local IP address through the ServerSocket. If the fourth playback request is monitored, the cached target media resources Send to the app for playback.
- FIG. 13 is a complete processing flow chart illustrating a scenario where the local media service starts playing according to an embodiment of the present application. As shown in FIG. 13 , the complete processing flow may include, for example, the following steps:
- Step S301 the application sends a request for applying for a media stream resource corresponding to the target media resource to the local media service.
- the application when the application detects that the user clicks the icon of the target media resource on the media resource page, the application sends a playback request to the local media service, and the request is a request for applying for a media stream resource.
- the application when the application detects that the user clicks the resume button in the playback pause state of the target media resource, the application sends a resume request to the local media service, which is a request for applying for a media stream resource.
- Step S302 the local media service acquires the cache state of the target media resource according to the request of the application.
- the local media service can perform different processing flows next.
- the local media service can perform the following steps:
- Step S303a the local media service obtains the storage location of the target media resource in the server device.
- Step S303b the local media service starts the process of cross-device transmission, and caches the target media resource.
- the local media service is responsible for real-time updating and management of each file segment of the target media resource cached in the client device.
- Step S303c the local media service generates media stream data based on the cached target media resource, and sends the data to the client device for playback.
- the local media service can perform the following steps:
- Step S304a the local media service releases the suspended state of buffering and transmission, and continues to buffer the target media resource.
- the local media service may continue to cache the target media resources in an incremental transmission manner according to the cache progress of the target media resources, thereby avoiding repeated transmission of the cached target media resources.
- the local media service is responsible for real-time updating and management of each file segment of the target media resource cached in the client device.
- Step S304b the local media service generates media stream data based on the cached target media resources, and sends the data to the client device for playback.
- the local media service can select the file segment of the corresponding time to generate the media stream according to the previous playback progress of the target media resource. For example, when the target media resource is last played to 10 minutes and 20 seconds, if the user clicks "continue playing", the local media service can start to generate a media stream from the file segment corresponding to 10 minutes and 20 seconds.
- the application allows the user to choose whether to "continue playing from last played progress" or "play from the beginning” when the target media asset is not played for the first time. If the user selects "Continue to play from the progress of the last playback", the local media service can immediately start to continuously cache the target media resource from the server device, and select the file segment of the corresponding time to generate media according to the previous playback progress of the target media resource. flow. If the user selects "play from the beginning", the local media service can not continue to cache the target media resource from the server device, but generate the media stream of the target media resource from scratch, and then continue to cache the target media when the buffer health is insufficient. resource.
- the local media service can maintain the current cache transmission action, and generate media stream data based on the cached target media resource, and send it to the client device for playback.
- the local media service can directly generate media stream data based on the cached target media resources and send them to the client device for playback, without the need to re-cache the target media resources from the server device.
- the local media service can perform different processing procedures according to different cache states of the target media resources, so as to realize the incremental transmission and continuous caching of the target media resources across devices, avoid repeated transmission, reduce The occupation of transmission bandwidth between small devices reduces the storage space occupation of client devices.
- the cache status of the target media resource may also include "cache transfer not started”, “cache transfer pending”, “cache transfer in progress”, and "cache transfer completed”.
- FIG. 14 is a process flow diagram illustrating a scenario in which the local media service terminates playback according to an embodiment of the present application. As shown in FIG. 14 , the processing flow may include the following steps, for example:
- Step S401 the application sends a request to terminate the playback to the local media service.
- the application program when the application program detects that the user clicks the stop playback button, the pause playback button or closes the playback interface, the application program sends a playback termination request to the local media service.
- Step S402 the local media service acquires the cache state of the target media resource according to the request of the application.
- the local media service can perform different processing flows next.
- the local media service can perform the following steps:
- Step S403 the local media service releases the resources pre-applied for in the cross-device transmission process.
- These resources include, for example, storage space pre-allocated for caching target media resources, network resources pre-allocating for transmitting target media resources, processor resources pre-allocating for local media service-related processes, and the like.
- the local media service can perform the following steps:
- Step S404 the local media service updates the cache state to a "cache transmission pending" state.
- the local media service can perform the following steps:
- Step S405 the local media service clears the cache usage flag of the target media resource.
- the cache usage flag can be used to identify the cache status of the target media resource.
- the cache usage flag can be cleared.
- the local media service can merge each file fragment of the target media resource into a complete The media files are available for subsequent local playback by the application.
- the local media service can perform different processing procedures according to different cache states of the target media resources, such as changing the cache state to facilitate the user to perform other playback actions later, or clearing the cache usage flag to facilitate The application then performs local playback, etc.
- the media playback method provided by the above embodiments of the present application builds a local media service on the client side, and decouples the process of media resource caching and media streaming playback through the local media service, so that the server device does not need to deploy the streaming media service, and Participating in the perceptual playback process reduces the capability requirements for server-side devices, thereby enabling real-time playback of media across thin devices across devices.
- the local media service can also be built on other devices between the server device and the client device link, such as built in a wireless access point .
- FIG. 15 is a hardware architecture diagram of another media playback method provided by an embodiment of the present application.
- the client device 61 and the server device 62 are located in the same local area network through the router 63 .
- the local media service can be constructed in the router 63, corresponding to a local area network address.
- the application program of the client device 61 When the application program of the client device 61 detects that the target media resource is intended to be played, the application program may send a first play request including the first identifier to the local area network address of the local media service.
- the local media service located in the router 63 associates the first address with the first identifier in response to the first playback request.
- the first address may be a local area network address, such as http://192.168.1.101:xx/y , where xx represents the port, and y represents the file path of the target media resource to be cached in the router.
- the router may include a built-in or external memory 64 in order to realize the ability to cache media, and the router 63 may be The memory 64 allocates a local area network IP address, for example, 192.168.1.101, it can be seen that the first address can be determined according to the local area network IP address of the memory 64 .
- the local media service of the router 63 sends the first address to the application of the client device 61, and starts the process of caching the first address of the target media resource.
- the application program of the client device 61 can send a second play request to the first address, and when the local media service of the router 63 receives the second play request, it generates a media stream based on the cached target media resource and sends it to the client The application of the device 61 is played.
- the media playback method shown in FIG. 15 configures the local media service in the router, which is separated from the client device. In this way, the client device no longer performs the process of buffering media resources and generating media streams, which further reduces the capability requirements for the client device.
- this method can enable multiple client devices to play media resources of the same server device across devices at the same time.
- the router's local media service can send the image stream to the large-screen display device for display, and send the audio stream to different audio devices according to different channels to achieve stereo playback effect.
- each device such as the above-mentioned client device and access point device, includes corresponding hardware structures and/or software modules for executing each function.
- the present application can be implemented in hardware or a combination of hardware and computer software with the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein. Whether a function is performed by hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Skilled artisans may implement the described functionality using different methods for each particular application, but such implementations should not be considered beyond the scope of this application.
- FIG. 16 is a schematic structural diagram of a media playback apparatus provided by an embodiment of the present application.
- the client device may implement corresponding functions through the software device shown in FIG. 16 .
- the media playback apparatus may include: a local media service module and an application module.
- the local service module may include: a virtual server 701, configured to receive a first play request of an application on a client device, where the first play request includes a first identifier, and the first identifier corresponds to a target media resource in the server device;
- the virtual server 701 is further configured to determine whether the cache transfer process of the target media resource has been started according to the first identifier; the file cache unit 702 is used to start the cache transfer process if the cache transfer process has not been started to transfer the target media resource from the server device.
- the virtual server 701 is further configured to send the first address to the application, where the first address is the local uniform resource locator URL address of the client device for accessing the cached target media resource; the virtual server 701 , and is also used to send the cached target media resource to the application for playback when the second playback request sent by the application to the first address is received.
- the file cache unit 702 is further configured to continue the cache transfer process if the cache transfer process has been started but the cache transfer process is suspended, so as to continue to transfer the target media resource from the server according to the cache progress of the target media resource
- the device is cached to the client device; the virtual server 701 is also used to send a second address to the application, where the second address is the local URL address of the client device used to access the cached target media resource; the virtual server 701 is also used to When receiving the third play request sent by the application to the second address, the cached target media resource is sent to the application for playback.
- the virtual server 701 is further configured to send the third address to the application if the target media resource has been completely cached in the client device, so that the application obtains the target media resource from the third address and plays it,
- the third address is the file path of the target media resource cached in the client device.
- the virtual server 701 is further configured to send a fourth address to the application if the target media resource has been completely cached in the client device, where the fourth address is the target media used by the client device to access the cache The local URL address of the resource; the virtual server 701 is further configured to send the cached target media resource to the application for playback when receiving the fourth play request sent by the application to the fourth address.
- the first address includes a local Internet Protocol IP address and a first port of the client device; and the second play request is a hypertext transfer protocol HTTP request.
- the virtual server 701 is configured to send the cached target media resource to the application when receiving the second playback request sent by the application to the first address, including: the virtual server 701 for monitoring The first port of the local IP address; the virtual server 701 is further configured to generate a first response message when monitoring the second playback request, the first response message is an HTTP response message, and the first response message includes the target media according to the cached target media.
- the media stream generated by the resource including: the virtual server 701 for monitoring The first port of the local IP address; the virtual server 701 is further configured to generate a first response message when monitoring the second playback request, the first response message is an HTTP response message, and the first response message includes the target media according to the cached target media.
- the media stream generated by the resource including: the virtual server 701 for monitoring The first port of the local IP address; the virtual server 701 is further configured to generate a first response message when monitoring the second playback request, the first response message is an HTTP response message, and the first response message includes the target media according to the cached target
- the virtual server 701 is further configured to suspend the cache transfer process and record the cache progress of the target media resource if the cache transfer process is in progress when receiving a stop playing request from the application.
- the application module may include: a first sending unit 703, configured to send a first play request to the media proxy service on the client device, where the first play request includes a first identifier, and the first identifier corresponds to the target media in the server device resource; the address receiving unit 704 is used to receive the target address sent by the media proxy service; the second sending unit 705 is used to send a second playback request to the local URL address if the target address is the local URL address of the client device; the playback unit 706, for receiving and playing the target media resource sent by the media proxy service in response to the second play request, where the target media resource is cached by the media proxy service from the server device to the client device.
- a first sending unit 703 configured to send a first play request to the media proxy service on the client device, where the first play request includes a first identifier, and the first identifier corresponds to the target media in the server device resource
- the address receiving unit 704 is used to receive the target address sent by the media proxy service
- the second sending unit 705
- the playing unit 706 is further configured to obtain the target media resource from the file path address for playing if the target address is the file path address in the client device.
- the local URL address includes the local IP address and the first port of the client device; the second play request is a hypertext transfer protocol HTTP request.
- the second sending unit 705 is configured to send the second play request to the local URL address, including: sending the second play request to the first port of the local IP address.
- the playing unit 706 is configured to receive the target media resource sent by the media proxy service in response to the second play request, including: receiving a first response message sent by the media proxy service in response to the second play request, the first response The message is an HTTP response message, and the first response message includes the media stream generated by the media proxy service according to the cached target media resource.
- Embodiments of the present application further provide a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, when the computer-readable storage medium runs on a computer, the computer executes the methods of the above aspects.
- Embodiments of the present application also provide a computer program product containing instructions, which, when run on a computer, cause the computer to execute the methods of the above aspects.
- FIG. 17 is a schematic structural diagram of the chip system.
- the chip system includes a processor 801 for supporting the above-mentioned apparatus to implement the functions involved in the above-mentioned aspects, for example, generating or processing the information involved in the above-mentioned methods.
- the chip system further includes a memory 802 for storing computer instructions 803 and data necessary for the long-term connection device.
- the chip system may be composed of chips, or may include chips and other discrete devices.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
Claims (25)
- 一种媒体播放方法,其特征在于,包括:客户端设备上的媒体代理服务接收所述客户端设备上的应用程序的第一播放请求,所述第一播放请求包括第一标识,所述第一标识对应服务端设备中的目标媒体资源;所述媒体代理服务根据所述第一标识确定是否已启动所述目标媒体资源的缓存传输流程;如果未启动所述缓存传输流程,所述媒体代理服务启动所述缓存传输流程以将所述目标媒体资源从所述服务端设备缓存至所述客户端设备,并将第一地址发送给所述应用程序,所述第一地址为所述客户端设备的用于访问缓存的所述目标媒体资源的本地统一资源定位符URL地址;所述媒体代理服务在接收到所述应用程序向所述第一地址发送的第二播放请求时,将缓存的所述目标媒体资源发送给所述应用程序进行播放。
- 根据权利要求1所述的方法,其特征在于,所述媒体代理服务确定是否已启动所述目标媒体资源的缓存传输流程之后,还包括:如果已启动所述缓存传输流程,但是所述缓存传输流程被挂起,所述媒体代理服务继续所述缓存传输流程以根据所述目标媒体资源的缓存进度继续将所述目标媒体资源从所述服务端设备缓存至所述客户端设备,并将第二地址发送给所述应用程序,所述第二地址为所述客户端设备的用于访问缓存的所述目标媒体资源的本地URL地址;所述媒体代理服务在接收到所述应用程序向所述第二地址发送的第三播放请求时,将缓存的所述目标媒体资源发送给所述应用程序进行播放。
- 根据权利要求1或2所述的方法,其特征在于,所述媒体代理服务确定是否已启动所述目标媒体资源的缓存传输流程之后,还包括:如果所述目标媒体资源已经完全缓存至所述客户端设备,所述媒体代理服务将第三地址发送给所述应用程序,以使所述应用程序从所述第三地址获取所述目标媒体资源进行播放,所述第三地址为所述目标媒体资源在所述客户端设备中缓存的文件路径。
- 根据权利要求1或2所述的方法,其特征在于,所述媒体代理服务确定是否已启动所述目标媒体资源的缓存传输流程之后,还包括:如果所述目标媒体资源已经完全缓存至所述客户端设备,所述媒体代理服务将所述第四地址发送给所述应用程序,所述第四地址为所述客户端设备的用于访问缓存的所述目标媒体资源的本地URL地址;所述媒体代理服务在接收到所述应用程序向所述第四地址发送的第四播放请求时,将缓存的所述目标媒体资源发送给所述应用程序进行播放。
- 根据权利要求1所述的方法,其特征在于,所述第一地址包括所述客户端设备的本地网际协议IP地址和第一端口;所述第二播放请求为超文本传输协议HTTP请求。
- 根据权利要求5所述的方法,其特征在于,所述媒体代理服务在接收到所述应用程序向所述第一地址发送的第二播放请求时,将缓存的所述目标媒体资源发送给所述应用程序,包括:所述媒体代理服务监听所述本地IP地址的所述第一端口;所述媒体代理服务在监听到所述第二播放请求时,生成第一应答消息,所述第一应答消息为HTTP应答消息,所述第一应答消息包括根据已缓存的所述目标媒体资源生成的媒体流。
- 根据权利要求1或2所述的方法,其特征在于,还包括:所述媒体代理服务在接收到所述应用程序的停止播放请求时,如果正在进行所述缓存传输流程,将缓存传输流程挂起,以及记录所述目标媒体资源的缓存进度。
- 一种媒体播放方法,其特征在于,客户端设备上的应用程序向所述客户端设备上的媒体代理服务发送第一播放请求,所述第一播放请求包括第一标识,所述第一标识对应服务端设备中的目标媒体资源;所述应用程序接收所述媒体代理服务发送的目标地址;如果所述目标地址是所述客户端设备的本地URL地址,所述应用程序向所述本地URL地址发送第二播放请求;所述应用程序接收所述媒体代理服务响应于所述第二播放请求发送的所述目标媒体资源并进行播放,所述目标媒体资源由所述媒体代理服务从所述服务端设备缓存至所述客户端设备。
- 根据权利要求8所述的方法,其特征在于,所述应用程序接收所述媒体代理服务发送的目标地址之后,还包括:如果所述目标地址是所述客户端设备中的文件路径地址,所述应用程序从所述文件路径地址获取所述目标媒体资源进行播放。
- 根据权利要求8所述的方法,其特征在于,所述本地URL地址包括所述客户端设备的本地IP地址和第一端口;所述第二播放请求为超文本传输协议HTTP请求。
- 根据权利要求10所述的方法,其特征在于,所述应用程序向所述本地URL地址发送第二播放请求,包括:所述应用程序向所述本地IP地址的所述第一端口发送所述第二播放请求。
- 根据权利要求10或11所述的方法,其特征在于,所述应用程序接收所述媒体代理服务响应于所述第二播放请求发送的所述目标媒体资源,包括:所述应用程序接收所述媒体代理服务响应于所述第二播放请求发送的第一应答消息,所述第一应答消息为HTTP应答消息,所述第一应答消息包括所述媒体代理服务根据已缓存的所述目标媒体资源生成的媒体流。
- 一种媒体播放装置,其特征在于,包括:虚拟服务器,用于接收所述客户端设备上的应用程序的第一播放请求,所述第一播放请求包括第一标识,所述第一标识对应服务端设备中的目标媒体资源;所述虚拟服务器,还用于根据所述第一标识确定是否已启动所述目标媒体资源的缓存传输流程;文件缓存单元,用于如果未启动所述缓存传输流程,启动所述缓存传输流程以将所述目标媒体资源从所述服务端设备缓存至所述客户端设备;所述虚拟服务器,还用于将第一地址发送给所述应用程序,所述第一地址为所述客户端设备的用于访问缓存的所述目标媒体资源的本地统一资源定位符URL地址;所述虚拟服务器,还用于在接收到所述应用程序向所述第一地址发送的第二播放请求时,将缓存的所述目标媒体资源发送给所述应用程序进行播放。
- 根据权利要求13所述的装置,其特征在于,所述文件缓存单元,还用于如果已启动所述缓存传输流程,但是所述缓存传输流程被挂起,继续所述缓存传输流程以根据所述目标媒体资源的缓存进度继续将所述目标媒体资源从所述服务端设备缓存至所述客户端设备;所述虚拟服务器,还用于将第二地址发送给所述应用程序,所述第二地址为所述客户端设备的用于访问缓存的所述目标媒体资源的本地URL地址;所述虚拟服务器,还用于在接收到所述应用程序向所述第二地址发送的第三播放请求时,将缓存的所述目标媒体资源发送给所述应用程序进行播放。
- 根据权利要求13或14所述的装置,其特征在于,所述虚拟服务器,还用于如果所述目标媒体资源已经完全缓存至所述客户端设备,将第三地址发送给所述应用程序,以使所述应用程序从所述第三地址获取所述目标媒体资源进行播放,所述第三地址为所述目标媒体资源在所述客户端设备中缓存的文件路径。
- 根据权利要求13或14所述的装置,其特征在于,所述虚拟服务器,还用于如果所述目标媒体资源已经完全缓存至所述客户端设备,将所述第四地址发送给所述应用程序,所述第四地址为所述客户端设备的用于访问缓存的所述目标媒体资源的本地URL地址;所述虚拟服务器,还用于在接收到所述应用程序向所述第四地址发送的第四播放请求时,将缓存的所述目标媒体资源发送给所述应用程序进行播放。
- 根据权利要求13所述的装置,其特征在于,所述第一地址包括所述客户端设备的本地网际协议IP地址和第一端口;所述第二播放请求为超文本传输协议HTTP请求。
- 根据权利要求17所述的装置,其特征在于,所述虚拟服务器用于在接收到所述应用程序向所述第一地址发送的第二播放请求时,将缓存的所述目标媒体资源发送给所述应用程序时,包括:所述虚拟服务器,用于监听所述本地IP地址的所述第一端口;所述虚拟服务器,还用于在监听到所述第二播放请求时,生成第一应答消息,所述第一应答消息为HTTP应答消息,所述第一应答消息包括根据已缓存的所述目标媒体资源生成的媒体流。
- 根据权利要求13或14所述的装置,其特征在于,所述虚拟服务器,还用于在接收到所述应用程序的停止播放请求时,如果正在进行所述缓存传输流程,将缓存传输流程挂起,以及记录所述目标媒体资源的缓存进度。
- 一种媒体播放装置,其特征在于,包括:第一发送单元,用于向所述客户端设备上的媒体代理服务发送第一播放请求,所述第一播放请求包括第一标识,所述第一标识对应服务端设备中的目标媒体资源;地址接收单元,用于接收所述媒体代理服务发送的目标地址;第二发送单元,用于如果所述目标地址是所述客户端设备的本地URL地址,向所述本地URL地址发送第二播放请求;播放单元,用于接收所述媒体代理服务响应于所述第二播放请求发送的所述目标媒体资源并进行播放,所述目标媒体资源由所述媒体代理服务从所述服务端设备缓存至所述客户端设备。
- 根据权利要求20所述的装置,其特征在于,所述播放单元,还用于如果所述目标地址是所述客户端设备中的文件路径地址,从所述文件路径地址获取所述目标媒体资源进行播放。
- 根据权利要求20所述的装置,其特征在于,所述本地URL地址包括所述客户端设备的本地IP地址和第一端口;所述第二播放请求为超文本传输协议HTTP请求。
- 根据权利要求22所述的装置,其特征在于,所述第二发送单元用于向所述本地URL地址发送第二播放请求,包括:向所述本地IP地址的所述第一端口发送所述第二播放请求。
- 根据权利要求22或23所述的装置,其特征在于,所述播放单元用于接收所述媒体代理服务响应于所述第二播放请求发送的所述目标媒体资源,包括:接收所述媒体代理服务响应于所述第二播放请求发送的第一应答消息,所述第一应答消息为HTTP应答消息,所述第一应答消息包括所述媒体代理服务根据已缓存的所述目标媒体资源生成的媒体流。
- 一种电子设备,其特征在于,包括:媒体代理服务模块和应用程序模块;所述媒体代理服务模块,用于执行权利要求1-7任一项所述的方法;所述应用程序模块,用于执行权利要求8-12任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22774145.1A EP4287586A4 (en) | 2021-03-24 | 2022-03-18 | MEDIA PLAYBACK METHOD AND APPARATUS AND ELECTRONIC DEVICE |
US18/283,374 US20240171626A1 (en) | 2021-03-24 | 2022-03-18 | Media playing method and apparatus, and electronic device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110312246.2 | 2021-03-24 | ||
CN202110312246.2A CN115134420A (zh) | 2021-03-24 | 2021-03-24 | 一种媒体播放方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022199484A1 true WO2022199484A1 (zh) | 2022-09-29 |
Family
ID=83375008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/081696 WO2022199484A1 (zh) | 2021-03-24 | 2022-03-18 | 一种媒体播放方法、装置和电子设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240171626A1 (zh) |
EP (1) | EP4287586A4 (zh) |
CN (1) | CN115134420A (zh) |
WO (1) | WO2022199484A1 (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090003600A1 (en) * | 2007-06-29 | 2009-01-01 | Widevine Technologies, Inc. | Progressive download or streaming of digital media securely through a localized container and communication protocol proxy |
CN106657162A (zh) * | 2017-03-01 | 2017-05-10 | 北京东大正保科技有限公司 | 一种在线流媒体播放方法、流媒体下载和离线播放方法 |
CN106973302A (zh) * | 2016-01-14 | 2017-07-21 | 腾讯科技(深圳)有限公司 | 一种下载视频数据的方法、装置及系统 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309203B (zh) * | 2007-05-17 | 2011-03-16 | 中兴通讯股份有限公司 | 一种网络媒体服务方法 |
CN102055789B (zh) * | 2009-11-09 | 2013-10-09 | 华为技术有限公司 | 实现基于http的流媒体业务的方法、系统和网络设备 |
CN102497359B (zh) * | 2011-12-02 | 2014-06-04 | 山东大学 | 一种基于瘦客户端流媒体服务系统的运行方法 |
CN102497452B (zh) * | 2011-12-28 | 2014-07-30 | 山东大学 | 一种基于嵌入式终端的在线流媒体服务方法 |
CN103348657B (zh) * | 2012-02-06 | 2015-09-30 | 华为技术有限公司 | 流媒体播放方法、设备及系统 |
US20140199044A1 (en) * | 2013-01-15 | 2014-07-17 | Qualcomm Incorporated | Supporting transport diversity and time-shifted buffers for media streaming over a network |
EP2954685A4 (en) * | 2013-02-07 | 2016-09-14 | Opanga Networks Inc | TRANSPARENT MULTIMEDIA ELEMENT DISTRIBUTION AND REPRESENTATIVE |
CN104394475A (zh) * | 2014-11-28 | 2015-03-04 | 乐视致新电子科技(天津)有限公司 | 一种流媒体文件的播放方法及媒体播放器 |
CN104581207A (zh) * | 2014-12-23 | 2015-04-29 | 乐视致新电子科技(天津)有限公司 | 在线播放视频的方法、系统和播放应用代理设备 |
US9749293B2 (en) * | 2015-04-20 | 2017-08-29 | Shoelace Wireless, Inc. | Systems for improved mobile internet performance and security |
CN104796796B (zh) * | 2015-04-21 | 2018-03-16 | 范文鲜 | 提高Android平台的HLS流播放器容错的方法 |
US10506262B2 (en) * | 2015-12-29 | 2019-12-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for optimized media delivery |
CN106507181B (zh) * | 2016-11-30 | 2019-11-05 | 北京酷我科技有限公司 | 一种获取并存储在线视频数据的方法 |
CN106888385A (zh) * | 2017-01-17 | 2017-06-23 | 武汉噢易云计算股份有限公司 | 客户端在虚拟化环境下的视频播放方法及系统 |
CN107911712B (zh) * | 2017-11-30 | 2020-10-09 | 歌尔科技有限公司 | 数据缓冲方法和电子设备 |
CN109874028A (zh) * | 2017-12-01 | 2019-06-11 | 深圳市雷鸟信息科技有限公司 | 一种hls流媒体的播放方法、系统及存储介质 |
CN109963171B (zh) * | 2017-12-14 | 2021-01-05 | 腾讯科技(深圳)有限公司 | 多媒体信息传输方法、传输设备及存储介质 |
CN108322772A (zh) * | 2018-01-30 | 2018-07-24 | 北京奇艺世纪科技有限公司 | 一种视频文件处理方法、装置及电子设备 |
CN111314794A (zh) * | 2020-03-18 | 2020-06-19 | 浩云科技股份有限公司 | 一种流媒体播放地址生成方法 |
-
2021
- 2021-03-24 CN CN202110312246.2A patent/CN115134420A/zh active Pending
-
2022
- 2022-03-18 US US18/283,374 patent/US20240171626A1/en active Pending
- 2022-03-18 EP EP22774145.1A patent/EP4287586A4/en active Pending
- 2022-03-18 WO PCT/CN2022/081696 patent/WO2022199484A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090003600A1 (en) * | 2007-06-29 | 2009-01-01 | Widevine Technologies, Inc. | Progressive download or streaming of digital media securely through a localized container and communication protocol proxy |
CN106973302A (zh) * | 2016-01-14 | 2017-07-21 | 腾讯科技(深圳)有限公司 | 一种下载视频数据的方法、装置及系统 |
CN106657162A (zh) * | 2017-03-01 | 2017-05-10 | 北京东大正保科技有限公司 | 一种在线流媒体播放方法、流媒体下载和离线播放方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP4287586A4 |
Also Published As
Publication number | Publication date |
---|---|
CN115134420A (zh) | 2022-09-30 |
EP4287586A1 (en) | 2023-12-06 |
EP4287586A4 (en) | 2024-07-10 |
US20240171626A1 (en) | 2024-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020014880A1 (zh) | 一种多屏互动方法及设备 | |
US11496532B2 (en) | Offering media services through network edge | |
WO2022100304A1 (zh) | 应用内容跨设备流转方法与装置、电子设备 | |
CN111092898B (zh) | 报文传输方法及相关设备 | |
US9019372B2 (en) | Remote controlled studio camera system | |
CN113141523B (zh) | 资源传输方法、装置、终端及存储介质 | |
WO2021249318A1 (zh) | 一种投屏方法和终端 | |
CN113141524B (zh) | 资源传输方法、装置、终端及存储介质 | |
WO2022135527A1 (zh) | 一种视频录制方法及电子设备 | |
JP7181990B2 (ja) | データ伝送方法及び電子デバイス | |
EP3059945A1 (en) | Method and system for video surveillance content adaptation, and central server and device | |
WO2014154108A1 (zh) | 媒体流的转移方法和用户设备 | |
WO2023051243A1 (zh) | 视频码率切换方法、装置、电子设备及存储介质 | |
CN115349248A (zh) | 利用实时上行链路流式传输框架(flus)和5g应用功能(af)的基于网络的媒体处理(nbmp)部署 | |
WO2021155702A1 (zh) | 通信处理方法、装置、终端、服务器及存储介质 | |
US20220095020A1 (en) | Method for switching a bit rate, and electronic device | |
JP6583653B2 (ja) | ストリーミングメディア送信方法及びシステム、ユーザ機器及びサーバ | |
WO2015077983A1 (zh) | 在家庭网络中播放媒体的装置和方法 | |
WO2022199484A1 (zh) | 一种媒体播放方法、装置和电子设备 | |
WO2023134509A1 (zh) | 视频推流方法、装置、终端设备及存储介质 | |
WO2021114950A1 (zh) | 一种多路http通道复用的方法及终端 | |
CN116264619A (zh) | 资源处理方法、装置、服务器、终端、系统及存储介质 | |
WO2016177257A1 (zh) | 一种数据分享的方法和装置 | |
WO2024007998A1 (zh) | 一种数据传输的方法、电子设备和通信系统 | |
KR102419087B1 (ko) | 미디어 스트리밍 제어 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22774145 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2022774145 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2022774145 Country of ref document: EP Effective date: 20230829 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 18283374 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |