WO2020057224A1 - 基于dash协议的流媒体播放方法及装置 - Google Patents

基于dash协议的流媒体播放方法及装置 Download PDF

Info

Publication number
WO2020057224A1
WO2020057224A1 PCT/CN2019/093849 CN2019093849W WO2020057224A1 WO 2020057224 A1 WO2020057224 A1 WO 2020057224A1 CN 2019093849 W CN2019093849 W CN 2019093849W WO 2020057224 A1 WO2020057224 A1 WO 2020057224A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
stage
fragment
media
fragment file
Prior art date
Application number
PCT/CN2019/093849
Other languages
English (en)
French (fr)
Inventor
朱宗花
吕鹏
Original Assignee
青岛海信电器股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 青岛海信电器股份有限公司 filed Critical 青岛海信电器股份有限公司
Publication of WO2020057224A1 publication Critical patent/WO2020057224A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 

Definitions

  • the present application relates to the technical field of audio and video playback, and in particular, to a method and a device for playing streaming media based on the DASH protocol.
  • Network video playback is an important function of smart TVs now.
  • the connection between the player and the media content segment is created before the video starts. It can only parse and output the currently input data, and decapsulate the subsequent protocol to output new audio and video files.
  • the processor cannot process and cannot play the content of media files in other stages.
  • a method for playing streaming media based on the DASH protocol is provided, which is applied to a player.
  • the method includes receiving a data source to be played, wherein the data source includes a media index file and a slice.
  • the segment file includes a multi-stage segment file
  • the media index file is used to describe the streaming media data characteristics of the multi-stage segment file
  • the first-stage segment found according to the media index file
  • the address where the file is located plays the media content of the first stage fragment file; receives the user's instruction to select a jump time, finds the corresponding second stage fragment file from the media index file according to the jump time, and The jump time is converted into the relative playing time of the second-stage fragment file; and, the media content at the relative playing time of the second-stage fragment file is played.
  • a playback device which includes a display screen, a memory, and a processor.
  • Display screen configured to display video content and images.
  • a memory configured to store computer instructions and display content associated with the display screen.
  • a processor configured to execute computer instructions in the memory to implement: receiving a data source to be played, wherein the data source includes a media index file and a fragment file, and the fragment file includes a multi-stage fragment file
  • the media index file is used to describe the characteristics of the streaming media data of the multi-stage segment file; the address of the first stage segment file is found according to the media index file, and the first stage segment file is played
  • To receive a user's instruction to select a jump time find a corresponding second stage fragment file from the media index file according to the jump time, and convert the jump time to the second stage The relative playback time in the segment file; and playing the media content at the relative playback time of the second-stage segment file.
  • a machine-readable non-volatile storage medium on which computer instructions are stored, and when the computer instructions are executed, the computer instructions are implemented to receive a data source to be played, wherein, the The data source includes a media index file and a fragment file, the fragment file includes a multi-stage fragment file, and the media index file is used to describe the characteristics of the streaming media data of the multi-stage fragment file; according to the media index
  • the file finds the address where the first-stage fragment file is located, and plays the media content of the first-stage fragment file; receives an instruction from the user to select a jump time, and searches from the media index file according to the jump time A corresponding second stage fragment file, and converting the jump time into a relative playback time in the second stage fragment file; and playing the media at the relative playback time of the second stage fragment file content.
  • FIG. 1 is a flowchart of an embodiment of a DASH protocol-based streaming media playing method according to an embodiment of the present application
  • FIG. 2 is a flowchart of playing media content of a first-stage fragment file according to an embodiment of the present application
  • FIG. 3 is a flowchart of receiving a user-selected jump time instruction to jump to a second stage fragment file according to an embodiment of the present application
  • FIG. 4 is a schematic structural diagram of an embodiment of a DASH protocol-based streaming media playback device according to an embodiment of the present application
  • FIG. 5 is a flowchart of another embodiment of a DASH protocol-based streaming media playing method according to an embodiment of the present application
  • FIG. 7 is a schematic structural diagram of a playback device according to an embodiment of the present application.
  • an embodiment herein means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the present application.
  • the appearances of this phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are they independent or alternative embodiments that are mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
  • Dynamic Adaptive Streaming (DASH), HTTP Live Streaming (HLS), and Microsoft Smooth Streaming (MSS) are three major adaptive streaming media protocols. Since the HLS protocol was launched in 2009, and the DASH protocol is a recently emerging technology, most content providers use the HLS protocol, but the DASH protocol is fully compatible with the HLS and MSS protocols, so it has a wider application prospect.
  • DASH Dynamic Adaptive Streaming
  • HLS HTTP Live Streaming
  • MSS Microsoft Smooth Streaming
  • DASH and HLS are current streaming media transmission methods based on Hypertext Transport Protocol (HTTP) adaptive streaming. They both include media index files and a series of fragment files. Among them, the media index file is used to indicate the The resource locator (Uniform Resource Locator, URL for short) and media data characteristics of the slice file.
  • HTTP Hypertext Transport Protocol
  • the media index file is an m3u8 file, and an m3u8 file can only contain one complete video clip.
  • a TV series is a video fragment file indicated by an m3u8 file.
  • the user When the user performs fast forward and rewind, the user only operates in one m3u8 file.
  • the background needs to exit the current m3u8 file and open the m3u8 file corresponding to the next episode of the TV series. Therefore, when the user wants to jump from the current TV series to the next TV series, the player also performs the operation of exiting and re-entering.
  • the media index file is an MPD (Microsoft Project Database) file
  • the format is an XML format.
  • One MPD file can include multiple complete video content.
  • the client can use the MPD file to obtain media information such as the file playback duration and various supported resolutions, and can also dynamically select the media fragments it needs based on this information.
  • media information such as the file playback duration and various supported resolutions, and can also dynamically select the media fragments it needs based on this information.
  • each episode in the TV series can be regarded as the content in a period, and the user can play the three episodes of the TV series as a whole.
  • the MPD file includes the video clips corresponding to the three episodes of the TV series. Descriptive information.
  • connection method between some players and media content fragments will be created before the video starts. Only the current input data can be parsed and output. When the subsequent protocol is decapsulated and output new audio and video files, the player cannot process it. , Unable to play media file content in other stages.
  • the streaming media playback is based on the Gstreamer player, and its playback pipeline is generally created before the video starts to play.
  • the Gstreamer player includes multiple elements, as shown in Figure 1, including video source address element 101, protocol decapsulation element 102 (dashdemux) 102, format decapsulation element (qtdemux) 103, and buffer queue element (buffer queue).
  • Audio selector 111 Audio selector 111, Video decoder (such as H264decoder) 121, Audio decoder (such as aac decoder) 112, Video renderer 122, Audio renderer 113, and Audio weight A resample (not shown in the figure), a video receiver (not shown in the figure), an audio receiver (not shown in the figure), and the like.
  • Video decoder such as H264decoder
  • Audio decoder such as aac decoder
  • Video renderer 122 such as aac decoder
  • Audio renderer 113 Audio weight A resample (not shown in the figure)
  • a video receiver not shown in the figure
  • audio receiver not shown in the figure
  • each element implements a different function.
  • the video source address element is used by a user to select an audio / video program that they want to watch through a user interface (UI), and select one or more episodes of the audio and video program as playback content.
  • the protocol decapsulation component is used to output format information of video, audio, and subtitle files.
  • the format decapsulation component is used to parse video files, audio files, and subtitle files, and output corresponding original code streams.
  • the buffer queue element is used to store the decapsulated original code stream.
  • the audio selector is used to select one of multiple audio tracks as the default output track when multiple audio tracks are input.
  • the audio and video decoder is used to decode the original audio and video bitstreams based on the configuration information, such as video output yuv data and audio output pcm data.
  • the audio and video renderer is used to output the decoded data and display the images and sounds corresponding to the data to the user.
  • the video source address element 101 is connected to the protocol decapsulation element 102
  • the protocol decapsulation element 102 is connected to the video and audio format decapsulation element 103
  • the format decapsulation element 103 is then connected to the buffer queue element 104
  • the buffer queue Element 104 is connected to video decoder 121 and audio decoder 112
  • video renderer 122 is connected to video decoder 121
  • audio renderer 113 is connected to audio decoder 112
  • the final video stream is displayed from the video renderer to the user. Audio The stream is presented to the user from the audio renderer output.
  • an audio selector 111 may be provided between the buffer queue element 104 and the audio decoder 112.
  • the multimedia stream can be output through the connected pipeline, and the creation and destruction of the pipeline thread are managed by the Gstreamer player itself. The user program only needs to send control information to the player.
  • each file can be transmitted to the corresponding format decapsulation component according to the file type, and finally decoded and rendered. And then displayed on the player terminal. For example, if there is a mp4 format file after the protocol decapsulation, a track of video_1 is added to the file, and then the track interface is correspondingly connected to the interface of the video format decapsulation component, and the corresponding video stream is output. The video stream is then transmitted to the buffer queue element, decoded by the video decoder, and finally displayed on the display device after passing through the video renderer.
  • the above player pipeline can simultaneously play the audio and video files of several slices in the same stage.
  • the file track of the first stage is already connected to the format decapsulation component, and cannot be automatically broken.
  • the second stage fragment file cannot be connected with the format decapsulation component. Therefore, the player cannot obtain the content of the second stage media file, and cannot continue to play the media content of the second stage fragment file.
  • users can only perform operations such as playing one episode of a TV series at a time. For example, if the user chooses to watch episode 20 of the TV series, each episode has a total play time of 40 minutes. After the player starts playing, it can only fast forward and rewind within the duration of the episode, and cannot operate other selections.
  • the user wants to enter the next TV series either the user manually enters the next episode, or the display device automatically jumps to the next episode. This requires exiting the player, releasing the media content information of the previous connection, and then The next episode of media content reconnects to the player and starts playback. This brings a bad user experience to the user and increases the inconvenience to the user.
  • the user may select one or more episodes of the TV series to play as a whole.
  • the user selects three episodes of the TV series (that is, three video media contents).
  • the player enters the playback state, and the playing time is three episodes.
  • the duration of a TV series is 120 minutes.
  • the user can perform any operation during the playing time, such as fast forward, rewind, pause, change the display resolution, and double / slow speed operation.
  • the media content is the second video media content.
  • the media content is the first video media content. That is, you can seamlessly jump directly from the second media content to the first media content without the need for the player to quit and restart.
  • changing the display resolution of the entire three episodes of media content as a whole such as receiving a user instruction to change the display resolution from "standard definition” to "high definition”, does not change the display resolution of one episode, Is to update the display resolution of the entire three episodes of media content.
  • the user can perform operations on multiple episodes of media content, without being limited by the stage fragmentation, and without the need for the player to quit and restart.
  • this application proposes a streaming media playback method based on the DASH protocol. As shown in FIG. 2, the method includes the following steps S10 to S40.
  • the media index file is an MPD file, which describes the composition of the entire MPEG (Moving Picture Experts Group) DASH code stream.
  • a fragment file is a period, and a complete MPEG DASH code stream is composed of one or more phases, and each phase represents a time period. During the same period, the file type and bit rate of the media files do not change.
  • the display device can be set to pop up a list box on the display interface for the user to select the number of TV episodes.
  • the following examples can be used to achieve seamless playback and jump. Specifically, the user selects three consecutive episodes as a whole to play. Among them, a TV series corresponds to a fragment file.
  • the background After the player receives the user selection instruction, the background generates MPD files containing multiple stages based on the DASH protocol, saves these MPD files in the data directory, and passes these MPD files to the player.
  • the video source address component of the player finds the corresponding fragment file by searching the MPD file.
  • the protocol decapsulation component of the player can parse these MPD files locally.
  • the MPD file contains fragmented files in multiple stages.
  • the first-stage fragmentation file is located at the beginning of the multi-stage fragmentation file corresponding to the MPD file.
  • the second stage fragment file is any non-initial stage fragment file.
  • step S20 obtaining the file address from the video source address element to play the first stage fragment file includes the following steps S201 to S203.
  • the player When receiving a user's instruction to start playing audio and video, the player establishes a player pipeline, and the protocol decapsulating element parses the first stage fragment file to obtain the file type of the first stage fragment file.
  • the file type includes any one or combination of video type, audio type, and subtitle type.
  • the protocol decapsulating component establishes a first-stage file track (srcpdd) according to the parsed file type of the first-stage fragmented file, thereby setting the format decapsulating component.
  • the first stage file track includes, for example, video_01, audio_01, audio_02, and so on.
  • one audio and video file has one video stream, multiple audio streams, and multiple subtitle streams. Multiple audio streams correspond to multiple languages, and multiple subtitle streams correspond to multiple languages.
  • the number of file tracks in the first stage corresponds to the number of format decapsulation components. Decapsulate components based on the format of the first stage file track name, such as dmx_video_1, dmx_audio_01, dmx_audio_02.
  • the protocol decapsulating element establishes a connection with the format decapsulating element.
  • the interface (sinkpad) at the end of the format decapsulation component establishes a connection with the interface of the corresponding protocol decapsulation component.
  • the mp4 format data is parsed through the protocol decapsulation component, and the file track is established as video_01, and then the corresponding video stream format decapsulation component is named dmx_video_1, and the interface (sinkpad) and file track (srcpdd) on the format decapsulation component end )establish connection.
  • the file track of audio_1 is connected with the format decapsulation component named dmx_audio_1.
  • the player When the player pipeline is connected, the player obtains the file content of the first stage fragment file, and renders the media content of the first stage fragment file through the corresponding audio and video decoder and audio and video renderer.
  • S30 Receive an instruction for a user to select a jump time, find a corresponding second-stage fragment file in the media index file according to the jump time, and convert the jump time into the second-stage fragment. Playing time in the file.
  • step S30 an instruction for selecting a jump time by a user is received, and a corresponding second-stage fragment file in the media index file is searched according to the jump instruction, and specifically includes steps S301 to S304.
  • the player When the player outputs the content of the file in the first stage, the player receives an instruction to select a jump time by the user.
  • the protocol decapsulating component searches for the second-stage fragment file corresponding to the MPD file by the jump time. Specifically, in the MPD file, the playing time of the fragment file at each stage is known, and according to the jump time, the fragment file at the corresponding stage can be determined. Referring to FIG. 5, according to the type of one or some files in the second stage slice file, for example, a track video_2 is established according to a video type, and a track audio_3 and a track audio_4 are established according to an audio type.
  • the format decapsulation element is disconnected from the first stage fragment file, and the first stage file track (srcpdd) is deleted. If it is a multi-episode content under a TV series, the file type of the first stage fragmentation is the same as the file type of the second stage, and the number of file tracks of the first stage is the same as that of the second stage.
  • the format decapsulation element is disconnected from the first stage fragment file, and the first stage file tracks video_1, audio_1, and audio_2 are deleted.
  • format decapsulation elements with names “dmx_video_1”, “dmx_audio_1”, and “dmx_audio_2” are obtained.
  • the name of the format decapsulation element is obtained based on the second stage file track, the existing format decapsulation element is found, and the format decapsulation element is disconnected from the first stage.
  • the connection of the fragmented files establishes the connection between the format decapsulation element and the second stage file track.
  • the second-stage fragmentation file can be output from the above-mentioned connected pipeline, displayed or played on the display screen of the player.
  • the file address where the relative playback time of the second stage segment file is found according to the MPD file. Specifically, the player determines the second stage fragment file according to the jump time, and subtracts this time from the start time of the second stage fragment file to obtain the relative playback time.
  • the two-stage segmentation file is searched internally to obtain the address of the segment closest to the relative playback time and play it.
  • the start time of each stage starts from zero.
  • MPD files will automatically accumulate the time of multiple stages to get the total playback time.
  • the user does not select a jump time, but directly plays until the content of the first-stage fragment file ends.
  • the foregoing implementation manner may also be used. Specifically, the second stage file track is established based on the second stage fragment file type, and the first stage file track is deleted; and the name of the format decapsulation element is obtained based on the second stage file track; Establish a connection with the format decapsulation element according to the type of the second-stage fragmented file and the second-stage file track. At this time, the jump time is the start time of the second stage fragment file.
  • multiple pieces of fragment file information are put into one media index file.
  • the player can obtain the second stage fragment file corresponding to the jump time, and perform Play without the player re-establishing a connection to the media content.
  • a streaming media playback device is also provided in this embodiment, and the device is used to implement the foregoing embodiments, and the descriptions will not be repeated.
  • the term "module” may implement a combination of software and / or hardware for a predetermined function.
  • the devices described in the following embodiments are implemented in software, implementation in hardware, or a combination of software and hardware is also possible.
  • FIG. 6 is a DASH protocol-based streaming media playback device according to an embodiment of the present application.
  • the streaming media playback device includes a receiving module 41, a control module 42, and a playback module 43.
  • the playback device will be specifically described.
  • the receiving module 41 is configured to receive a data source to be played.
  • the data source includes a media index file and a fragment file, and the media index file is used to describe the characteristics of the streaming media data of the fragment file, and the fragment file includes multiple stages of fragment files, such as the first Phase fragment file and second phase fragment file.
  • the user selects a TV series to be played, and obtains a media index file of each TV series in the background, such as MPD1, MPD2, MPD3, and the like.
  • the display device can pop a frame to allow the user to select the number of episodes to play seamlessly.
  • the background If the user selects three episodes as a whole for seamless playback, the background generates a new MPD file based on MPD1, mp2, and MPD3 (that is, a new media index file is synthesized) ).
  • the MPD file contains information of the segment files to be described by the MPD1, MPD2, and MPD3.
  • a control module 42 is configured to search for a corresponding second-stage fragment file in the media index file according to an instruction of the user to select a second-stage fragment file, and convert the jump time to be based on the second-stage fragment file. Relative play time.
  • control module includes a protocol decapsulation element and a format decapsulation element.
  • protocol decapsulation element and the format decapsulation element are provided independently of the control module 42.
  • the protocol decapsulating element is used for protocol decapsulating the fragment file to obtain a file type of the fragment file, wherein the file type includes at least one of a video type, an audio type, and a subtitle type; a format decapsulating element For format decapsulation of fragmented files and output of the original code stream.
  • protocol decapsulating element is also used to find the second-stage fragment file corresponding to the MPD file by the jump time. Reset the first-stage file track (srcpdd) on the player side, and increase the file track based on the second-stage fragment file type and number to form a second-stage file track.
  • the playing module 43 is configured to play the media content of the first-stage fragment file and the second-stage fragment file.
  • control module 42 is configured to disconnect the format decapsulation element from the first-stage fragment file; and establish a connection between the format decapsulation element and the second-stage fragment file. connection.
  • An embodiment of the present invention further provides a playback device 700, which may include, for example, a smart TV, a smart phone, a tablet computer, a personal computer, a laptop computer, and the like.
  • the playback device 700 may include a display screen 701, a memory 702, and a processor 703.
  • the display screen 701 is configured to display video content and images
  • the memory 702 is configured to store computer instructions and communicate with the display.
  • the playback content associated with the screen 701 and the processor 703 are configured to execute computer instructions in the memory to cause the playback device to execute the method described above.
  • the display screen 701 includes a screen that provides an output interface between the playback device 700 and a user.
  • the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive an input signal from a user.
  • LCD liquid crystal display
  • TP touch panel
  • the memory 702 is configured to store various types of data to support the operation of the playback device 700. Examples of such data include instructions, data, pictures, audio, video, etc. for any application or method operating on the playback device 700.
  • the memory 702 may be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable Programming read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
  • SRAM static random access memory
  • EEPROM electrically erasable programmable read-only memory
  • EPROM erasable Programming read-only memory
  • PROM programmable read-only memory
  • ROM read-only memory
  • magnetic memory flash memory
  • flash memory magnetic disk or optical disk.
  • the processor 703 generally controls overall operations of the playback device 700, such as operations associated with display, data communication, and recording.
  • the processor 703 may include one or more modules to facilitate interaction between the processor 703 and other components.
  • the playback device 700 may further include an audio component 704, a communication component 705, and a power supply component 706.
  • the audio component 704 is configured to output and / or input audio signals.
  • the received audio signal may be further stored in the memory 702 or processed via the processor 703.
  • the audio component 704 further includes a speaker for outputting an audio signal.
  • the communication component 705 is configured to facilitate wired or wireless communication between the playback device 700 and other devices.
  • the playback device 700 can access a wireless network based on a communication standard, such as WiFi, 3G, 4G, or 5G, or a combination thereof.
  • the communication component 705 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel.
  • the communication component 705 further includes a near field communication (NFC) module to facilitate short-range communication.
  • NFC near field communication
  • the power supply component 706 provides power to various components of the playback device 700.
  • the power component 706 may include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power for the playback device 700.
  • An embodiment of the present invention also provides a machine-readable non-volatile storage medium having computer instructions stored thereon, and the computer instructions, when executed, implement the method described above.
  • the non-volatile storage medium may be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

公开了一种基于DASH协议的流媒体播放方法和装置。作为一个示例,该流媒体播放方法包括:接收待播放的数据源,其中,所述数据源包括媒体索引文件和分片文件,所述分片文件包括多阶段的分片文件,所述媒体索引文件用于描述所述多阶段分片文件的流媒体数据特征;根据媒体索引文件查找到的第一阶段分片文件所在的地址,播放第一阶段分片文件的媒体内容;当接收用户选择跳转时间的指令,根据该跳转时间从媒体索引文件中查找对应的第二阶段分片文件,并将所述跳转时间转换为所述第二阶段分片文件中的相对播放时间;播放第二阶段分片文件的相对播放时间处的媒体内容。

Description

基于DASH协议的流媒体播放方法及装置
相关申请的交叉引用
本专利申请要求于2018年9月20日提交的、申请号为2018111033755,和2018年11月20日提交的、申请号为2018113867855的中国专利申请的优先权,这些申请的全文以引用的方式并入本文中。
技术领域
本申请涉及音视频播放技术领域,特别涉及一种基于DASH协议的流媒体播放方法和装置。
背景技术
网络视频播放是现在智能电视的重要功能。现有的播放器中,播放器与媒体内容片段的连接方式会在视频起播之前创建好,只能对当前输入的数据进行解析输出,对后续协议解封装输出新的音视频文件时,播放器无法进行处理,无法播放其他阶段的媒体文件内容。
发明内容
本申请实施方式的第一方面,提供一种基于DASH协议的流媒体播放方法,应用于播放器,该方法包括:接收待播放的数据源,其中,所述数据源包括媒体索引文件和分片文件,所述分片文件包括多阶段的分片文件,所述媒体索引文件用于描述该多个阶段分片文件的流媒体数据特征;根据所述媒体索引文件查找到的第一阶段分片文件所在的地址,播放第一阶段分片文件的媒体内容;接收用户选择跳转时间的指令,根据所述跳转时间从所述媒体索引文件中查找对应的第二阶段分片文件,并将跳转时间转换为所述第二阶段分片文件的相对播放时间;以及,播放所述第二阶段分片文件的相对播放时间处的媒体内容。
本申请实施方式的第二方面,提供一种播放设备,包括显示屏、存储器和处理器。显示屏,配置为展示视频内容以及图像等。存储器,配置为存储计算机指令和与所述显示屏关联的展示内容。处理器,配置为执行所述存储器中的计算机指令以实现:接收待播放的数据源,其中,所述数据源包括媒体索引文件和分片文件,所述分片文件包括多 阶段的分片文件,所述媒体索引文件用于描述所述多阶段分片文件的流媒体数据特征;根据所述媒体索引文件查找到第一阶段分片文件所在的地址,并播放所述第一阶段分片文件的媒体内容;接收用户选择跳转时间的指令,根据所述跳转时间从所述媒体索引文件中查找对应的第二阶段分片文件,并将所述跳转时间转换为所述第二阶段分片文件中的相对播放时间;以及,播放所述第二阶段分片文件的相对播放时间处的媒体内容。
本申请实施方式的第三方面,提供一种机器可读的非易失性存储介质,其上存储有计算机指令,所述计算机指令被执行时实现:接收待播放的数据源,其中,所述数据源包括媒体索引文件和分片文件,所述分片文件包括多阶段的分片文件,所述媒体索引文件用于描述所述多阶段分片文件的流媒体数据特征;根据所述媒体索引文件查找到第一阶段分片文件所在的地址,并播放所述第一阶段分片文件的媒体内容;接收用户选择跳转时间的指令,根据所述跳转时间从所述媒体索引文件中查找对应的第二阶段分片文件,并将所述跳转时间转换为所述第二阶段分片文件中的相对播放时间;以及,播放所述第二阶段分片文件的相对播放时间处的媒体内容。
附图说明
为了更清楚地说明本申请实施方式,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的基于DASH协议的流媒体播放方法的一实施例流程图;
图2是本申请实施例提供播放第一阶段分片文件的媒体内容的流程图;
图3是本申请实施例提供的接收用户选择跳转时间指令跳转到第二阶段分片文件的的流程图;
图4是本申请实施例提供的基于DASH协议的流媒体播放装置的一实施例结构示意图;
图5是本申请实施例提供的基于DASH协议的流媒体播放方法的另一实施例流程图;
图6是根据本申请实施例的一种基于DASH协议的流媒体播放装置;
图7是根据本申请实施例的一种播放设备的结构示意图。
具体实施方式
为使本申请所属的技术领域中技术人员能够更清楚地理解本申请,下面结合附图,通过具体实施例对本申请实施例中的技术方案作进一步地详细描述。显然所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其他实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其他实施例相结合。
由于网络环境的复杂性,传统流媒体技术无法满足低网速下视频流畅播放的需求,因而自适应流媒体技术应运而生。动态自适应流媒体(Dynamic Adaptive Streaming over HTTP,简称DASH)和实时流(HTTP Live Streaming,简称HLS)以及微软平滑流式传输(Microsoft Smooth Streaming,简称MSS)为三大自适应流媒体协议。由于HLS协议是在2009年推出,而DASH协议是近期才兴起的技术,内容的提供商多数采用的是HLS协议,但是DASH协议可以完全兼容HLS协议和MSS协议,所以具有更加广泛的应用前景。
DASH和HLS为目前基于超文本传输协议(hypertext transport protocol,简称HTTP)自适应流式传输的流媒体传输方式,均包含媒体索引文件和一系列分片文件,其中,媒体索引文件用于指示分片文件的资源定位符(Uniform Resource Locator,简称URL)和媒体数据特征。
对于HLS协议,其媒体索引文件为m3u8文件,并且一个m3u8文件只能包含一个完整的视频片段。示例性的,一集电视剧为一个m3u8文件指示的视频分片文件,用户在进行快进快退时,只是在一个m3u8文件中进行操作。当用户想要跳转到下一集时,后台需退出当前的m3u8文件,并打开下一集电视剧所对应的m3u8文件。所以,当用户要从当前集电视剧跳转到下一集电视剧时,播放器也进行了退出再重进的操作。
对于DASH协议,其媒体索引文件为MPD(Microsoft Project Database)文件,格式为XML格式。一个MPD文件可包括多个完整的视频内容。客户端可以通过该MPD文件获取文件播放时长、所支持的各种不同分辨率等媒体信息,也可以根据这些信息动态的选择自己需要的媒体片段。示例性的,电视剧中的每一集可以当做是一个阶段(period)中的内容,用户可以将三集电视剧作为一个整体进行播放,此时,MPD文件中包含了三集电视剧所对应的视频片段的描述信息。
但是,一些播放器与媒体内容片段的连接方式会在视频起播之前创建好,只能对当前输入的数据进行解析输出,对后续协议解封装输出新的音视频文件时,播放器无法进行处理,无法播放其他阶段的媒体文件内容。
本申请的实施例中,流媒体播放基于Gstreamer播放器,其播放管道一般在视频起播之前就创建完成。Gstreamer播放器中包括多个元件(element),如图1所示,包括视频源地址元件101、协议解封装元件(dashdemux)102、格式解封装元件(qtdemux)103、缓冲队列元件(buffer queue)104、音频选择器(Audio selector)111、视频解码器(如H264decoder)121、音频解码器(如aac decoder)112、视频渲染器(video render)122、音频渲染器(audio render)113以及音频重采样器(resample)(图中未示出)、视频接收器(video sink)(图中未示出)、音频接收器(audio sink)(图中未示出)等。
具体地,每个元件实现不同的功能。例如,视频源地址元件用于用户通过用户界面(User Interface,UI)选择想要观看的音视频节目,并选择音视频节目的一集或者多集作为播放内容。协议解封装元件用于输出视频、音频以及字幕文件的格式信息。格式解封装元件用于将视频文件、音频文件、字幕文件进行解析,输出对应的原始码流。缓冲队列元件用于对解封装后的原始码流进行存储。音频选择器用于当输入多个音轨时,从多个音轨中选择一个作为默认输出的轨道。音视频解码器用于基于配置信息,分别对音频和视频原始码流进行解码,如视频输出yuv数据,音频输出pcm数据。音视频渲染器用于输出解码后的数据,并将数据对应的图像和声音展现给用户。
若需要输出音视频时,多个上述元件连接成播放管道(pipeline)。如图1所示,视 频源地址元件101与协议解封装元件102连接,协议解封装元件102与视频、音频格式解封装元件103连接,格式解封装元件103再与缓冲队列元件104连接,缓冲队列元件104分别与视频解码器121和音频解码器112连接,视频渲染器122与视频解码器121连接,音频渲染器113与音频解码器112连接,最终视频流从视频渲染器输出展示给用户,音频流从音频渲染器输出展示给用户。可选的,也可以在缓冲队列元件104和音频解码器112之间设置音频选择器111。多媒体流就可以通过上述连接好的pipeline中输出,并且pipeline线程的创建和销毁都由Gstreamer播放器本身管理,用户程序只需要对播放器发出控制信息即可。
一些播放器管道在媒体内容播放之前就已经创建好,当第一阶段分片文件通过协议解封装元件输出后,可按照文件类型将各文件传给对应的格式解封装元件,最终通过解码、渲染后显示到播放器终端上。例如,若协议解封装后有mp4格式的文件,为该文件增加video_1的轨道,再将该轨道接口对应连接到视频格式解封装元件的接口上,输出对应的video流。然后再将该video流传送到缓冲队列元件,并由视频解码器进行解码,最终通过视频渲染器后在显示设备上显示。
上述播放器管道可以对同一阶段的若干个切片的音视频文件进行同步播放,但是,当有第二阶段分片文件输入时,由于第一阶段文件轨道已与格式解封装元件连接,无法自动断开,所以无法将第二阶段分片文件与格式解封装元件进行连接,因此,播放器获取不到第二阶段的媒体文件内容,无法续播第二阶段分片文件的媒体内容。
在一些播放模式中,用户在同一时间内只能对一集电视剧进行播放等操作。例如用户选择第20集电视剧观看,每集电视剧共40分钟的播放时间,则播放器开始播放以后,只能在一集电视剧的播放时长内进行快进快退,而不能对其他选集进行操作。当用户要进入下一集电视剧时,要么是用户手动操作进入下一集,要么是显示设备自动跳转到下一集,这均需要退出播放器,释放上一次连接的媒体内容信息,再将下一集媒体内容重新连接到播放器,并启动播放。这样给用户带来了不良的用户体验,给用户增加了操作的不便性。
在本实施例所提出的播放模式中,用户可以选择一集或多集电视剧作为一个整体进行播放。例如,在给用户提供用于选择观看集数的UI界面中,用户选择了三集电视剧(即三个视频媒体内容),在播放器确定播放集数以后,进入播放状态,播放时长为三集电视剧的播放时长,即120分钟。而且用户可以在该播放时长内任意进行操作,如快进、快退、暂停、改变显示分辨率以及倍速/慢速的操作。
例如用户观看到第45分钟,该媒体内容为第二个视频媒体内容,当用户快退到第30分钟时,该媒体内容为第一个视频媒体内容。也即,可以直接从第二个媒体内容无缝跳转到第一个媒体内容,无需播放器的退出和重启。
另一方面,将整个三集的媒体内容作为一个整体进行显示分辨率的改变,如接收用户指令将显示分辨率从“标清”变更为“高清”,并非改变其中一集的显示分辨率,而是将整个三集的媒体内容更新显示分辨率。
在上述实施例中,用户可以对多集的媒体内容进行操作,不受阶段分片的限制,也无需播放器的退出和重启。
为适应DASH协议的跨阶段播放,本申请提出一种基于DASH协议的流媒体播放方法,如图2所示,包括如下步骤S10~S40。
S10,接收待播放的数据源,其中,所述数据源包括媒体索引文件和多个阶段的分片文件,所述媒体索引文件用于描述所述多个阶段分片文件的流媒体数据特征。
在一些示例中,媒体索引文件为MPD文件,描述整个MPEG(Moving Picture Experts Group)DASH码流的构成。一个分片文件为一个阶段(period),一条完整的MPEG DASH码流由一个或多个阶段构成,每个阶段代表一个时间段。同一个阶段内,媒体文件的文件类型和码率不发生改变。
当用户在显示界面上选择某个电视剧进行观看时,后台获取该电视剧的所有媒体索引子文件。可选地,将所述多个阶段分片文件所对应的子媒体索引文件合成为一个媒体索引文件,其中该媒体索引文件包括用于区分不同分片文件的字段。显示设备可设置成在显示界面弹出列表框供用户选择电视剧集数,可通过以下示例方式实现无缝播放和跳转。具体地,用户选择连续的三集作为一个整体进行播放。其中,一集电视剧对应一个分片文件。当播放器接收到用户选择指令后,后台基于DASH协议生成包含多个阶段的MPD文件,将这些MPD文件保存在数据(data)目录下,并将这些MPD文件传递给播放器。播放器的视频源地址元件通过查找MPD文件的方式找到对应的分片文件,播放器的协议解封装元件可本地解析这些MPD文件。
S20,根据媒体索引文件查找到的第一阶段分片文件所在的地址,播放第一阶段分片文件的媒体内容。
MPD文件中包含多个阶段的分片文件。第一阶段分片文件位于MPD文件所对应的多个阶段的分片文件的起始阶段。第二阶段分片文件为任一非起始阶段的分片文件。
具体的,如图3所示,步骤S20中从视频源地地址元件获取文件地址播放第一阶段分片文件,包括以下步骤S201~S203。
S201,当接收到用户起播音视频的指令时,播放器建立播放器管道,协议解封装元件解析第一阶段分片文件,得到该第一阶段分片文件的文件类型。其中,文件类型包括视频类型、音频类型和字幕类型中的任一种或组合。
S202,协议解封装元件根据解析出的第一阶段分片文件的文件类型建立第一阶段文件轨道(srcpdd),由此设置格式解封装元件。
第一阶段文件轨道(srcpdd)包括如video_01、audio_01、audio_02等。一般一个音视频文件中,有一个视频流和多个音频流及多个字幕流。多个音频流对应多种语言表示,以及多个字幕流也会对应多个语言表示。第一阶段文件轨道的数量对应格式解封装元件的数量。基于第一阶段文件轨道命名对应的格式解封装元件,如dmx_video_1、dmx_audio_01、dmx_audio_02。
S203,根据第一阶段分片文件的类型和第一阶段文件轨道,协议解封装元件与格式解封装元件建立连接。
当设置第一阶段文件轨道对应的格式解封装元件后,格式解封装元件端的接口(sinkpad)与对应的协议解封装元件的接口建立连接。示例性的,经过协议解封装元件解析出mp4格式的数据,建立文件轨道为video_01,然后设置对应的视频流格式解封装元件命名为dmx_video_1,格式解封装元件端的接口(sinkpad)与文件轨道(srcpdd)建立连接。同样,当第一阶段分片文件还有音频时,将audio_1的文件轨道与名为dmx_audio_1的格式解封装元件连接。
在播放器管道连通的情况下,播放器获取了第一阶段分片文件的文件内容,并通过对应的音视频解码器、音视频渲染器将第一阶段分片文件的媒体内容进行呈现。
S30,接收用户选择跳转时间的指令,根据所述跳转时间查找所述媒体索引文件中所对应的第二阶段分片文件,并将所述跳转时间转换为所述第二阶段分片文件中的播放时间。
如图4所示,步骤S30中接收用户选择跳转时间的指令,根据所述跳转指令查找所述媒体索引文件中所对应的第二阶段分片文件,具体包括步骤S301~S304。
S301,根据跳转指令查找第二阶段分片文件,并基于所述第二阶段分片文件类型建立第二阶段文件轨道。
播放器在输出第一阶段的文件内容时,接收用户选择跳转时间的指令。协议解封装元件通过跳转时间查找MPD文件对应的第二阶段分片文件。具体的,MPD文件中,已知各个阶段分片文件的播放时长,根据所述跳转时间,可以确定其所对应阶段的分片文件。参照图5,根据第二阶段分片文件中的一个或一些文件的类型,例如根据视频类型建立轨道video_2,根据音频类型建立轨道audio_3和轨道audio_4。
S302,断开所述格式解封装元件与所述第一阶段分片文件的连接,删除第一阶段文件轨道。
在第二阶段文件轨道已经建立完成后,断开格式解封装元件与所述第一阶段分片文件的连接,删除第一阶段文件轨道(srcpdd)。如果是一个电视剧下的多集内容,则第一阶段分片文件类型与第二阶段文件类型相同,第一阶段文件轨道数与第二阶段文件轨道数也相同。
参照图5,在轨道video_2、轨道audio_3建立完成后,断开格式解封装元件与第一阶段分片文件的连接,并删除第一阶段文件轨道video_1、audio_1和audio_2。
S303,基于第二阶段文件轨道获取所述格式解封装元件的名称。
参照图5,基于视频轨道video_2和音频轨道audio_3、audio_4获取名称为“dmx_video_1”、“dmx_audio_1”、“dmx_audio_2”的格式解封装元件。
S304,根据所述第二阶段分片文件的类型和第二阶段文件轨道,与所述格式解封装元件建立连接。
在上述步骤中,当建立第二阶段文件轨道后,基于第二阶段文件轨道获取格式解封装元件的名称,查找已有的格式解封装元件,并断开格式解封装元件与所述第一阶段分片文件的连接,建立格式解封装元件与第二阶段文件轨道的连接。这样,不仅实现了不同阶段文件之间的无缝播放,而且复用播放器中的格式解封装元件,节约播放器的资源,避免设置较多的元件数量。
此时,第二阶段分片文件可以从上述连接好的管道中输出,显示或者播放于所述播放器的显示屏上。
S40,播放第二阶段分片文件的相对播放时间处的媒体内容。
根据MPD文件查找到所述第二阶段分片文件的相对播放时间处所在的文件地址。具体的,播放器根据跳转时间确定所处的第二阶段分片文件,并将该时间减去第二阶段 分片文件的起始时间,获得相对播放时间,在利用该相对播放时间在第二阶段分片文件内部进行查找,从而取到最接近所述相对播放时间的片段的地址并进行播放。
每一个阶段的起始时间都是从零开始的,MPD文件会自动将多个阶段的时间进行累加,得到总的播放时间。而通过跳转时间查找对应的一个阶段时,需要先找到对应的阶段,再根据跳转时间减去该阶段的起始时间得到相对播放时间,并播放该相对播放时间处的媒体内容。
可选的,在一些实施例中,用户没有选择跳转时间,而是直接播放到第一阶段分片文件内容结束,要续播第二阶段分片文件时,也可用上述实施方式。具体的,基于所述第二阶段分片文件类型建立所述第二阶段文件轨道,并删除所述第一阶段文件轨道;基于所述第二阶段文件轨道获取所述格式解封装元件的名称;根据所述第二阶段分片文件的类型和第二阶段文件轨道,与所述格式解封装元件建立连接。此时,跳转时间即为第二阶段分片文件的起始时间。
本申请实施例通过将多个分片文件信息放入一个媒体索引文件中,当用户选择跳转时间时,则播放器可获取所述跳转时间所对应的第二阶段分片文件,并进行播放,而无需播放器重新建立与媒体内容的连接。
在本实施例中还提供了一种流媒体播放装置,该装置用于实现上述实施例,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能的。
图6为根据本申请实施例的一种基于DASH协议的流媒体播放装置,如图6所示,该流媒体播放装置包括接收模块41、控制模块42和播放模块43,下面对该流媒体播放装置进行具体说明。
接收模块41用于接收待播放的数据源。所述数据源包括,媒体索引文件和分片文件,所述媒体索引文件用于描述所述分片文件的流媒体数据特征,所述分片文件包括多个阶段的分片文件,例如第一阶段分片文件和第二阶段分片文件。示例性的,用户选择待播放的电视剧,后台获取每一集电视剧的媒体索引文件,如MPD1、MPD2、MPD3等。显示设备可弹框让用户选择无缝播放的集数,若用户选择三集作为无缝播放的整体时,后台根据MPD1、mp2、MPD3生成一个新的MPD文件(即合成一个新的媒体索引文件)。该MPD文件包含了上述MPD1、MPD2、MPD3所要描述的分片文件的信息。
控制模块42,用于根据用户选择跳转到第二阶段的指令查找所述媒体索引文件中所对应的第二阶段分片文件,并将跳转时间转化为基于所述第二阶段分片文件的相对播放时间。
在一些实施例中,控制模块包括协议解封装元件和格式解封装元件。在另一些实施例中,协议解封装元件和格式解封装元件被设置成独立于控制模块42。其中,协议解封装元件用于协议解封装分片文件,得到所述分片文件的文件类型,其中,所述文件类型包括视频类型、音频类型和字幕类型中的至少一种;格式解封装元件,用于格式解封装分片文件,输出原始码流。
进一步的,协议解封装元件还用于通过跳转时间查找MPD文件对应的第二阶段分片文件。在播放器侧重置所述第一阶段文件轨道(srcpdd),并基于所述第二阶段分片文件类型及个数增加文件轨道,形成第二阶段文件轨道。
播放模块43,用于播放第一阶段分片文件和第二阶段分片文件的媒体内容。
在一些实施例中,控制模块42用于,断开所述格式解封装元件与所述第一阶段分片文件的连接;以及建立所述格式解封装元件与所述第二阶段分片文件的连接。
本发明实施方式还提供了一种播放设备700,例如,可包括智能电视、智能手机、平板电脑、个人电脑、膝上电脑等。如图7所示,播放设备700可包括显示屏701、存储器702和处理器703,其中,显示屏701,配置为展示视频内容以及图像等,存储器702,配置为存储计算机指令和与所述显示屏701关联的播放内容,处理器703,配置为执行所述存储器中的计算机指令使得所述播放设备执行上面所描述的方法。
显示屏701包括在播放设备700和用户之间提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。
存储器702被配置为存储各种类型的数据以支持播放设备700的操作。这些数据的示例包括用于在播放设备700上操作的任何应用程序或方法的指令、数据、图片、音频、视频等。存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器、磁盘或光盘。
处理器703通常控制播放设备700的整体操作,诸如与显示、数据通信和记录相关 联的操作。处理器703可以包括一个或多个模块,便于处理器703和其他组件之间的交互。
继续参照图7,播放设备700还可包括音频组件704、通信组件705和电源组件706。
音频组件704被配置为输出和/或输入音频信号。所接收的音频信号可以被进一步存储在存储器702或经由处理器703处理。音频组件704还包括扬声器,用于输出音频信号。
通信组件705被配置为便于播放设备700和其他设备之间有线或无线方式的通信。播放设备700可以接入基于通信标准的无线网络,如WiFi,3G,4G或5G,或它们的组合。在一个示例性实施例中,通信组件705经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个实施例中,通信组件705还包括近场通信(NFC)模块,以促进短程通信。
电源组件706为播放设备700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为播放设备700生成、管理和分配电力相关联的组件。
本发明实施方式还提供一种机器可读的非易失性存储介质,其上存储有计算机指令,所述计算机指令被执行时实现上面所描述的方法。例如,所述非易失性存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施方式中的映射过程,在此不再赘述。
以上所述仅为本申请的较佳实施方式,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (15)

  1. 一种基于动态自适应流媒体DASH协议的流媒体播放方法,包括:
    接收待播放的数据源,其中,所述数据源包括媒体索引文件和分片文件,所述分片文件包括多阶段的分片文件,所述媒体索引文件用于描述所述多阶段分片文件的流媒体数据特征;
    根据所述媒体索引文件查找到第一阶段分片文件所在的地址,并播放所述第一阶段分片文件的媒体内容;
    接收用户选择跳转时间的指令,根据所述跳转时间从所述媒体索引文件中查找对应的第二阶段分片文件,并将所述跳转时间转换为所述第二阶段分片文件中的相对播放时间;
    播放所述第二阶段分片文件的相对播放时间处的媒体内容。
  2. 根据权利要求1所述的方法,其中,所述第一阶段分片文件位于所述媒体索引文件所对应的、所述多阶段分片文件中的起始阶段;所述第二阶段分片文件位于媒体索引文件所对应的、在所述多个阶段分片文件中任一非起始阶段。
  3. 根据权利要求1所述的方法,其中,根据所述跳转指令查找所述媒体索引文件中所对应的第二阶段分片文件,包括:
    根据所述跳转指令查找所述第二阶段分片文件,并基于所述第二阶段分片文件的类型建立所述第二阶段文件轨道;
    断开播放设备的格式解封装元件与所述第一阶段分片文件的连接,删除所述第一阶段文件轨道;
    基于所述第二阶段文件轨道匹配所述格式解封装元件;
    根据所述第二阶段分片文件的类型和第二阶段文件轨道,与所述格式解封装元件建立连接。
  4. 根据权利要求1所述的方法,其中,在根据所述媒体索引文件查找到的所述第一阶段分片文件所在的地址,播放第一阶段分片文件的媒体内容之前,还包括:
    解封装所述第一阶段分片文件,得到所述第一阶段分片文件的文件类型,所述文件类型包括视频类型、音频类型和字幕类型中的至少一种。
  5. 根据权利要求1所述的方法,其中,根据所述媒体索引文件查找到所述第一阶段分片文件所在的地址,播放所述第一阶段分片文件的媒体内容,包括:
    建立所述第一阶段分片文件的类型对应的第一阶段文件轨道,并基于所述第一阶段文件轨道,匹配对应的格式解封装元件;
    根据所述第一阶段分片文件的类型和所述第一阶段文件轨道,与所述对应的格式解封装元件建立连接。
  6. 根据权利要求1所述的方法,其中,所述接收待播放的数据源,包括:
    接收用户选择多个阶段分片文件所对应的子媒体索引文件的指令;
    根据所述指令将所述多个阶段分片文件所对应的子媒体索引文件合成为一个媒体索引文件。
  7. 根据权利要求1所述的方法,其中,播放所述第二阶段分片文件的相对播放时间处的媒体内容,包括:
    根据所述媒体索引文件查找到的所述第二阶段分片文件的相对播放时间处所在的地址,播放所述第二阶段分片文件的相对播放时间处的媒体内容。
  8. 一种播放设备,包括显示屏、存储器和处理器,其中,所述显示屏配置为展示视频内容以及图像等,所述存储器配置为存储计算机指令和与所述显示屏关联的展示内容,所述处理器配置为执行所述存储器中的计算机指令以实现:
    接收待播放的数据源,其中,所述数据源包括媒体索引文件和分片文件,所述分片文件包括多阶段的分片文件,所述媒体索引文件用于描述所述多阶段分片文件的流媒体数据特征;
    根据所述媒体索引文件查找到第一阶段分片文件所在的地址,并播放所述第一阶段分片文件的媒体内容;
    接收用户选择跳转时间的指令,根据所述跳转时间从所述媒体索引文件中查找对应的第二阶段分片文件,并将所述跳转时间转换为所述第二阶段分片文件中的相对播放时间;
    播放所述第二阶段分片文件的相对播放时间处的媒体内容。
  9. 根据权利要求8所述的播放设备,所述述第一阶段分片文件位于所述媒体索引文件所对应的、所述多阶段分片文件中的起始阶段;所述第二阶段分片文件位于媒体索引文件所对应的、在所述多个阶段分片文件中任一非起始阶段。
  10. 根据权利要求8所述的播放设备,所述根据所述跳转指令查找所述媒体索引文件中所对应的第二阶段分片文件是通过下述执行:
    根据所述跳转指令查找所述第二阶段分片文件,并基于所述第二阶段分片文件的类型建立所述第二阶段文件轨道;
    断开所述播放设备的格式解封装元件与所述第一阶段分片文件的连接,删除所述第一阶段文件轨道;
    基于所述第二阶段文件轨道匹配所述格式解封装元件;
    根据所述第二阶段分片文件的类型和第二阶段文件轨道,与所述格式解封装元件建立连接。
  11. 根据权利要求8所述的播放设备,其中,所述处理器,进一步配置为执行所述存储器中的计算机指令以实现:
    解封装所述第一阶段分片文件,得到所述第一阶段分片文件的文件类型,所述文件类型包括视频类型、音频类型和字幕类型中的至少一种。
  12. 根据权利要求8所述的播放设备,其中,所述根据所述媒体索引文件查找到所述第一阶段分片文件所在的地址,播放所述第一阶段分片文件的媒体内容是通过下述执行:
    建立所述第一阶段分片文件的类型对应的第一阶段文件轨道,并基于所述第一阶段文件轨道,匹配对应的格式解封装元件;
    根据所述第一阶段分片文件的类型和所述第一阶段文件轨道,与所述对应的格式解封装元件建立连接。
  13. 根据权利要求8所述的播放设备,其中,所述接收待播放的数据源是通过下述执行:
    接收用户选择多个阶段分片文件所对应的子媒体索引文件的指令;
    根据所述指令将所述多个阶段分片文件所对应的子媒体索引文件合成为一个媒体索引文件。
  14. 根据权利要求8所述的播放设备,其中,所述播放所述第二阶段分片文件的相对播放时间处的媒体内容是通过下述执行:
    根据所述媒体索引文件查找到的所述第二阶段分片文件的相对播放时间处所在的地址,播放所述第二阶段分片文件的相对播放时间处的媒体内容。
  15. 一种机器可读的非易失性存储介质,其上存储有计算机指令,所述计算机指令被执行时实现:
    接收待播放的数据源,其中,所述数据源包括媒体索引文件和分片文件,所述分片文件包括多阶段的分片文件,所述媒体索引文件用于描述所述多阶段分片文件的流媒体数据特征;
    根据所述媒体索引文件查找到第一阶段分片文件所在的地址,并播放所述第一阶段分片文件的媒体内容;
    接收用户选择跳转时间的指令,根据所述跳转时间从所述媒体索引文件中查找对应 的第二阶段分片文件,并将所述跳转时间转换为所述第二阶段分片文件中的相对播放时间;
    播放所述第二阶段分片文件的相对播放时间处的媒体内容。
PCT/CN2019/093849 2018-09-20 2019-06-28 基于dash协议的流媒体播放方法及装置 WO2020057224A1 (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201811103375 2018-09-20
CN201811103375.5 2018-09-20
CN201811386785.5 2018-11-20
CN201811386785.5A CN109274696A (zh) 2018-09-20 2018-11-20 基于dash协议的流媒体播放方法及装置

Publications (1)

Publication Number Publication Date
WO2020057224A1 true WO2020057224A1 (zh) 2020-03-26

Family

ID=65190866

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/093849 WO2020057224A1 (zh) 2018-09-20 2019-06-28 基于dash协议的流媒体播放方法及装置

Country Status (2)

Country Link
CN (1) CN109274696A (zh)
WO (1) WO2020057224A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109274696A (zh) * 2018-09-20 2019-01-25 青岛海信电器股份有限公司 基于dash协议的流媒体播放方法及装置
US10771865B2 (en) 2019-02-11 2020-09-08 Netflix, Inc. Techniques for advancing playback of interactive media titles in response to user selections
CN111654725B (zh) * 2019-03-04 2021-12-21 北京开广信息技术有限公司 媒体流的实时接收方法及客户端
CN111031354B (zh) * 2019-12-09 2020-12-01 腾讯科技(深圳)有限公司 一种多媒体播放方法、装置及存储介质
CN113014966A (zh) * 2019-12-19 2021-06-22 中兴通讯股份有限公司 Mp4文件虚拟mss分片方法、设备和存储介质
CN114073098B (zh) * 2020-04-28 2023-04-25 Vidaa(荷兰)国际控股有限公司 流媒体同步方法及显示设备
CN111601142B (zh) * 2020-05-08 2022-03-01 青岛海信传媒网络技术有限公司 一种字幕的显示方法及显示设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013033565A1 (en) * 2011-08-31 2013-03-07 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive http streaming
US20150113159A1 (en) * 2013-10-22 2015-04-23 Qualcomm Incorporated Layered Adaptive HTTP Streaming
CN106331898A (zh) * 2016-09-09 2017-01-11 三星电子(中国)研发中心 一种基于dash的多媒体内容插入播放的方法和设备
CN106550284A (zh) * 2015-09-21 2017-03-29 北京国双科技有限公司 一种播放分片视频的方法及装置
CN106792271A (zh) * 2016-12-30 2017-05-31 中广热点云科技有限公司 自适应流媒体中文件表达关联的系统和方法
CN107634930A (zh) * 2016-07-18 2018-01-26 华为技术有限公司 一种媒体数据的获取方法和装置
CN109274696A (zh) * 2018-09-20 2019-01-25 青岛海信电器股份有限公司 基于dash协议的流媒体播放方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013033565A1 (en) * 2011-08-31 2013-03-07 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive http streaming
US20150113159A1 (en) * 2013-10-22 2015-04-23 Qualcomm Incorporated Layered Adaptive HTTP Streaming
CN106550284A (zh) * 2015-09-21 2017-03-29 北京国双科技有限公司 一种播放分片视频的方法及装置
CN107634930A (zh) * 2016-07-18 2018-01-26 华为技术有限公司 一种媒体数据的获取方法和装置
CN106331898A (zh) * 2016-09-09 2017-01-11 三星电子(中国)研发中心 一种基于dash的多媒体内容插入播放的方法和设备
CN106792271A (zh) * 2016-12-30 2017-05-31 中广热点云科技有限公司 自适应流媒体中文件表达关联的系统和方法
CN109274696A (zh) * 2018-09-20 2019-01-25 青岛海信电器股份有限公司 基于dash协议的流媒体播放方法及装置

Also Published As

Publication number Publication date
CN109274696A (zh) 2019-01-25

Similar Documents

Publication Publication Date Title
WO2020057224A1 (zh) 基于dash协议的流媒体播放方法及装置
US9979768B2 (en) System and method for transitioning between receiving different compressed media streams
US11785289B2 (en) Receiving device, transmitting device, and data processing method
US10250949B2 (en) Broadcast content to HTTP client conversion
US8555175B2 (en) Display generation device, display generation method, program, and content download system
US20090063645A1 (en) System and method for supporting messaging using a set top box
US20090317064A1 (en) Playback apparatus, method, and program
US8918810B2 (en) Apparatus and method for providing available codec information
US20210021655A1 (en) System and method for streaming music on mobile devices
CN101527153B (zh) 使异步的传递文本和音视频数据在移动终端同步显示的方法
KR101529923B1 (ko) 영상표시장치 및 영상표시장치의 영상검색방법
CN1972447A (zh) 基于流媒体技术的多画面播放器及其播放方法
US8565579B2 (en) Method of updating additional data and apparatus for reproducing the same
JP2009303062A (ja) 放送受信端末、放送データ合成方法、プログラムおよび記録媒体
JP4977585B2 (ja) コンテンツ再生装置、および、コンテンツ情報表示方法
KR101482736B1 (ko) 녹화파일 리스트를 외부로 제공하는 방송수신장치,녹화파일 제공방법 및 녹화파일 제공 시스템
JP2007184899A (ja) ウェブサービス技術を支援するa/vネットワークにおけるコンテンツ再生時の字幕表示方法及びその装置
KR101271086B1 (ko) 멀티미디어 시청시스템, 이에 포함되는 방송신호 수신장치, 이들을 이용하는 멀티미디어 시청방법, 방송신호 수신방법
JP2008301250A (ja) コンテンツ再生システムおよびコンテンツ再生方法
JP2013090060A (ja) 映像処理装置及び映像処理方法
KR101271083B1 (ko) 멀티미디어 시청시스템, 이에 포함되는 방송신호 수신장치, 이들을 이용하는 멀티미디어 시청방법, 방송신호 수신방법
CN115604496A (zh) 一种显示设备、直播切台方法及存储介质
CN117835010A (zh) 一种媒资播放方法及显示设备
KR20100115988A (ko) 콘텐츠 재생 제어 장치 및 방법
JP2009088680A (ja) 動画配信装置、端末装置、動画配信システム、方法、および端末装置のプログラム

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: 19862583

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19862583

Country of ref document: EP

Kind code of ref document: A1