CN107566854B - Method and device for acquiring and sending media content - Google Patents

Method and device for acquiring and sending media content Download PDF

Info

Publication number
CN107566854B
CN107566854B CN201610516466.6A CN201610516466A CN107566854B CN 107566854 B CN107566854 B CN 107566854B CN 201610516466 A CN201610516466 A CN 201610516466A CN 107566854 B CN107566854 B CN 107566854B
Authority
CN
China
Prior art keywords
target
terminal
media
code rate
resolution
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201610516466.6A
Other languages
Chinese (zh)
Other versions
CN107566854A (en
Inventor
顾迎节
张永靖
张尧烨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610516466.6A priority Critical patent/CN107566854B/en
Publication of CN107566854A publication Critical patent/CN107566854A/en
Application granted granted Critical
Publication of CN107566854B publication Critical patent/CN107566854B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

The embodiment of the invention provides a method and a device for acquiring and sending media content, relates to the technical field of multimedia, and can ensure that the video display quality of a terminal with the current screen size is higher by selecting proper resolution under the condition of determining a target code rate. The specific scheme is as follows: the media server sends the media description file to the terminal, the terminal determines a target code rate according to the current network quality, determines a target resolution from at least two resolutions corresponding to the target code rate according to the screen size of the terminal, determines a target fragment corresponding to the target code rate and the target resolution according to the playing progress, and further obtains media content corresponding to the target fragment from the media server. The embodiment of the invention is used for acquiring and sending the media content.

Description

Method and device for acquiring and sending media content
Technical Field
The embodiment of the invention relates to the technical field of multimedia, in particular to a method and a device for acquiring and sending media content.
Background
In the current video quality assessment technology, the influencing factors of the video display quality mainly include: resolution, frame rate, coding type, code rate, content complexity, screen size of the terminal, and the like. For terminals with different screen sizes, when other factors are unchanged, the video display quality of the terminals is different when the resolution is different.
In the prior art, a HyperText Transfer Protocol (HTTP) media stream is usually described by media presentations in a media description file, where each media presentation corresponds to a bitrate and a resolution. And under the condition that other factors are determined, the terminal determines the target code rate according to the current network quality and acquires the media content of the media stream in the media presentation corresponding to the target code rate.
The resolution corresponding to the target bitrate may not necessarily enable the video display quality of the terminal with the current screen size to be higher, but may enable the video display quality of the terminal with the current screen size to be lower, thereby affecting the video viewing experience of the terminal user.
Disclosure of Invention
Embodiments of the present invention provide a method and an apparatus for acquiring and sending media content, so that the video display quality of a terminal with a current screen size is high by selecting an appropriate resolution in the case of determining a target bitrate.
In order to achieve the above purpose, the embodiment of the invention adopts the following technical scheme:
in a first aspect, an embodiment of the present invention provides a method for acquiring media content, including: first, the terminal receives a media description file transmitted by a media server. The media presentation file is used for describing at least two media presentations, each media presentation corresponds to one code rate and one resolution, each code rate corresponds to at least two resolutions, and each media presentation comprises at least one fragment. And secondly, the terminal determines the target code rate according to the current network quality of the terminal. And then, the terminal determines the target resolution from at least two resolutions corresponding to the target code rate according to the screen size of the terminal. And then, the terminal determines the target fragment corresponding to the target code rate and the target resolution according to the playing progress. And then, the terminal sends a target fragment request message to the media server, wherein the target fragment request message carries the fragment identifier of the target fragment. And finally, the terminal receives the media content corresponding to the target fragment sent by the media server.
In this way, each media display in the media description file corresponds to one code rate and one resolution, and each code rate corresponds to at least two resolutions, so that after the terminal determines the target code rate, the terminal can determine the target resolution which enables the video display quality to be highest from the at least two resolutions corresponding to the target code rate according to the screen size of the terminal, thereby determining the target fragment corresponding to the target code rate and the target resolution according to the playing progress and obtaining the media content corresponding to the target fragment. Therefore, the terminal can obtain better video display quality by selecting proper resolution, and the video watching experience of the terminal user is improved.
In one possible design, the media description file also includes content complexity, encoding type, and frame rate. The terminal determines the target resolution from at least two resolutions corresponding to the target code rate according to the screen size of the terminal, wherein the step of determining the target resolution comprises the following steps: the terminal calculates at least two resolutions corresponding to the target code rate according to the screen size, the target code rate and the content complexity, the coding type and the frame rate in the media description file of the terminal, wherein each resolution is respectively corresponding to the video display quality score, and the resolution corresponding to the highest video display quality score is determined to be the target resolution, so that the video display quality of the terminal with the current screen size is better due to the determined target resolution.
In one possible design, the method further includes: the terminal sends decision indication information to the media server to indicate that the target resolution is determined by the terminal, so that the media server clearly needs to send media description files to the terminal, wherein the media description files at least need to contain at least two resolutions corresponding to the target code rate.
In a second aspect, an embodiment of the present invention provides a computer storage medium for storing computer software instructions for the terminal, which includes a program designed to execute the first aspect.
In a third aspect, an embodiment of the present invention provides a terminal, which has a function of implementing a terminal behavior in the method in the first aspect. The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more units corresponding to the above functions.
In a fourth aspect, an embodiment of the present invention provides a terminal, which includes a memory, a transceiver, and a processor. Wherein the memory is configured to store computer executable program code and is coupled to the transceiver. The program code comprises instructions which, when executed by the processor, cause the terminal to perform the information or instructions referred to in the method of the first aspect above.
In a fifth aspect, an embodiment of the present invention provides a method for sending media content, including: first, a media server receives a media description file request message transmitted by a terminal. Secondly, the media server transmits the media description file to the terminal. The media presentation comprises at least one fragment, one code rate corresponding to each media presentation is used for determining a target code rate according to the current network quality, and at least two resolutions corresponding to each code rate are used for determining a target resolution according to the target code rate and the screen size of the terminal. And then, the media server receives the target fragment request message sent by the terminal. The target fragment request message carries a fragment identifier of the target fragment, and the target fragment is determined according to the playing progress and corresponds to the target code rate and the target resolution. And finally, the media server sends the media content corresponding to the target fragment to the terminal.
In this way, the media server sends the media description file to the terminal, so that the terminal can determine the target resolution which enables the video display quality to be highest from at least two resolutions corresponding to the target code rate according to the screen size of the terminal after the target code rate is determined, thereby determining the target fragment corresponding to the target code rate and the target resolution according to the playing progress and obtaining the media content corresponding to the target fragment. Therefore, the terminal can obtain better video display quality by selecting proper resolution, and the video watching experience of the terminal user is improved.
In one possible design, the method further includes: the media server receives decision indication information sent by the terminal, and the decision indication information is used for indicating that the target resolution is determined by the terminal, so that the media server clearly needs to include at least two resolutions corresponding to the target code rate in a media description file which needs to be sent to the terminal.
In one possible design, the method further includes: the media server receives the media description file and the media content sent by the source server.
In a sixth aspect, an embodiment of the present invention provides another computer storage medium for storing computer software instructions for the media server, which includes a program designed to execute the fifth aspect.
In a seventh aspect, an embodiment of the present invention provides a media server, which has a function of implementing a media server behavior in the method of the fifth aspect. The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more units corresponding to the above functions.
In an eighth aspect, an embodiment of the present invention provides a media server, which includes a memory, a transceiver, and a processor. Wherein the memory is configured to store computer executable program code and is coupled to the transceiver. The program code comprises instructions which, when executed by the processor, cause the media server to carry out the information or instructions referred to in the method of the fifth aspect above.
In a ninth aspect, an embodiment of the present invention provides a method for sending media content, including: first, a media server receives a media description file request message transmitted by a terminal. Secondly, the media server transmits the media description file to the terminal. The media presentation comprises at least one fragment, and one code rate corresponding to each media presentation is used for determining a target code rate according to the current network quality. Then, the media server receives the target code rate, the screen size and the playing progress indication sent by the terminal. And then, the media server determines the target resolution from at least two resolutions corresponding to the target code rate according to the screen size of the terminal. And then, the media server determines the target fragment corresponding to the target code rate and the target resolution according to the playing progress indication. And finally, the media server sends the media content corresponding to the target fragment to the terminal.
Thus, each media display in the media description file corresponds to one code rate and one resolution, each code rate corresponds to at least two resolutions, and therefore, after the terminal determines the target code rate, the media server determines the target resolution which enables the video display quality to be highest from the at least two resolutions corresponding to the target code rate by receiving the target code rate, the screen size of the terminal and the playing progress indication sent by the terminal and according to the screen size of the terminal, thereby determining the target fragments corresponding to the target code rate and the target resolution according to the playing progress indication and sending the media content corresponding to the target fragments to the terminal. Therefore, the media server can enable the terminal with the current screen size to obtain better video display quality by selecting proper resolution, and improve the video watching experience of the terminal user.
In one possible design, the media description file also includes content complexity, encoding type, and frame rate. The media server determines a target resolution from at least two resolutions corresponding to the target code rate according to the screen size of the terminal, wherein the target resolution comprises: the media server calculates at least two resolutions corresponding to the target code rate according to the screen size of the terminal, the target code rate and the content complexity, the coding type and the frame rate in the media description file, wherein each resolution is respectively corresponding to the video display quality score, and determines the resolution corresponding to the highest video display quality score as the target resolution, so that the video display quality of the terminal with the current screen size is better due to the determined target resolution.
In one possible design, the play progress indication is a time point or a slice identifier. When the playing progress indication is the fragment identification, the media server determines the target fragment corresponding to the target code rate and the target resolution according to the playing progress indication, and the method comprises the following steps: and the media server determines a time point according to the fragments indicated by the fragment identification, and determines target fragments corresponding to the target code rate and the target resolution according to the time point.
In one possible design, the method may further include: the media server receives decision indication information sent by the terminal to indicate that the target resolution is determined by the media server, so that the media server definitely needs to determine the target resolution according to the target code rate and the screen size of the terminal.
In one possible design, the method may further include: the media server receives the media description file and the media content sent by the source server.
In a tenth aspect, an embodiment of the present invention provides a computer storage medium for storing computer software instructions for the media server, which includes a program for executing the program designed in the ninth aspect.
In an eleventh aspect, an embodiment of the present invention provides a media server, which has a function of implementing the media server behavior in the method of the above ninth aspect. The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more units corresponding to the above functions.
In a twelfth aspect, an embodiment of the present invention provides a media server, which includes a memory, a transceiver, and a processor. Wherein the memory is configured to store computer executable program code and is coupled to the transceiver. The program code comprises instructions which, when executed by the processor, cause the media server to carry out the information or instructions referred to in the method of the ninth aspect described above.
In a thirteenth aspect, an embodiment of the present invention provides a method for acquiring media content, including: first, the terminal receives a media description file transmitted by a media server. The media presentation file is used for describing at least two media presentations, each media presentation corresponds to one code rate and one resolution, each code rate corresponds to at least two resolutions, and each media presentation comprises at least one fragment. And secondly, the terminal determines the target code rate according to the current network quality of the terminal. And then, the terminal sends the target code rate, the screen size of the terminal and the playing progress indication to the media server. The screen size of the terminal is used for determining the target resolution according to the target code rate, and the playing progress indication is used for determining the target fragments corresponding to the target code rate and the target resolution. And finally, the terminal receives the media content corresponding to the target fragment sent by the media server.
In this way, each media display in the media description file corresponds to one code rate and one resolution, and each code rate corresponds to at least two resolutions, so that after the terminal determines the target code rate, the terminal sends the target code rate, the terminal screen size and the playing progress indication to the media server, so that the media server determines the target resolution which enables the video display quality to be highest from at least two resolutions corresponding to the target code rate according to the terminal screen size, thereby determining the target fragments corresponding to the target code rate and the target resolution according to the playing progress indication, and sending the media content corresponding to the target fragments to the terminal. Therefore, the media server can enable the terminal with the current screen size to obtain better video display quality by selecting proper resolution, and improve the video watching experience of the terminal user.
In one possible design, the play progress indication is a time point or a slice identifier. When the playing progress indication is the fragment identification, the media server determines the target fragment corresponding to the target code rate and the target resolution according to the playing progress indication, and the method comprises the following steps: and the media server determines a time point according to the fragments indicated by the fragment identification, and determines target fragments corresponding to the target code rate and the target resolution according to the time point.
In one possible design, the method further includes: the terminal sends decision indication information to the media server to indicate that the target resolution is determined by the media server, so that the media server definitely needs to determine the target resolution according to the target code rate and the screen size of the terminal.
In a fourteenth aspect, an embodiment of the present invention provides a computer storage medium for storing computer software instructions for the terminal, which includes a program designed to execute the thirteenth aspect.
In a fifteenth aspect, an embodiment of the present invention provides a terminal having a function of implementing a terminal behavior in the method of the thirteenth aspect. The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more units corresponding to the above functions.
In a sixteenth aspect, an embodiment of the present invention provides a terminal, which includes a memory, a transceiver, and a processor. Wherein the memory is configured to store computer executable program code and is coupled to the transceiver. The program code comprises instructions which, when executed by the processor, cause the terminal to carry out the information or instructions referred to in the method of the thirteenth aspect.
A seventeenth aspect provides a system comprising an origin server and the terminal and media server provided in the above aspects.
Compared with the prior art, the embodiment of the invention determines the target code rate, determines the target resolution ratio which enables the video display quality to be highest according to the screen size of the terminal, determines the target fragment corresponding to the target code rate and the target resolution ratio according to the playing progress, and acquires the media content corresponding to the target fragment, so that the terminal with the current screen size can obtain better video display quality by selecting proper resolution ratio, and the video watching experience of a terminal user is improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained according to these drawings without creative efforts.
Fig. 1 is a schematic diagram of a basic architecture of a media playing system according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a terminal and a media server according to an embodiment of the present invention;
fig. 3 is a flowchart of a method for acquiring and sending media content according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of a media description file in adaptive streaming according to an embodiment of the present invention;
fig. 5 is a flow chart of another method for acquiring and transmitting media content according to an embodiment of the present invention;
fig. 6 is a flowchart of another method for acquiring and transmitting media content according to an embodiment of the present invention;
fig. 7 is a schematic structural diagram of another terminal according to an embodiment of the present invention;
fig. 8 is a schematic structural diagram of another media server according to an embodiment of the present invention;
fig. 9 is a schematic structural diagram of another media server according to an embodiment of the present invention.
Detailed Description
The technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. It is to be understood that the described embodiments are merely exemplary of the invention, and not restrictive of the full scope of the invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
For ease of understanding, examples are given in part to illustrate concepts related to the present invention. As follows:
code rate: i.e., bit rate, refers to the number of bits transmitted per second.
Resolution ratio: the number of pixel points included in a unit inch may include a width value indicating a pixel value that can be displayed in the horizontal direction and a height value indicating a pixel value that can be displayed in the vertical direction.
Content complexity: indicating the degree of complexity or diversity of the video picture content.
The coding type is as follows: the format types adopted by video coding can be H.264/avc type, H.265/hevc type, etc.
Frame rate: the number of frames that can be displayed per second is a measure of the number of display frames measured.
Because each media presentation in the prior art corresponds to one code rate and one resolution, and one code rate corresponds to only one resolution, when the terminal determines the target code rate according to the current network quality and acquires the media content in the media presentation corresponding to the target code rate in the media description file, the resolution corresponding to the target code rate may cause the video display quality of the terminal with the current screen size to be lower, thereby affecting the video viewing experience of the terminal user.
In view of the foregoing problems, the following embodiments of the present invention provide a method and an apparatus for acquiring and transmitting media content, which can select an appropriate resolution in a case of determining a target bitrate, so that a terminal with a current screen size can obtain a better video display quality.
A basic architecture schematic diagram of a media playing system in an embodiment of the present invention may be shown in fig. 1, which includes a source server 1100, one or more media servers 1200, and a plurality of terminals 1300, where media streams involved in the media playing system are HTTP streams, and specifically may be Dynamic Adaptive Streaming over HTTP (DASH), HTTP live Streaming (HTTP L live Streaming, H L S), HTTP Dynamic Streaming (HDS), or HTTP smooth Streaming (HTTP L live Streaming, HSS), and the like.
In the basic architecture shown in fig. 1, the source server 1100 is mainly responsible for storage of media content, transcoding, encryption, generation of a media description file, and the like. The media server 1200 may be mainly responsible for receiving media contents and media description files from the origin server 1100 and transmitting the media contents and media description files to the terminal according to a request of the terminal. The terminal 1300 is mainly responsible for acquiring the media content and the media description file from the media server, and for parsing the media description file, decoding, decrypting, rendering, presenting, and the like of the media content. The terminal may be various media playing devices such as a mobile phone, a television, a tablet computer, and the like.
Specifically, fig. 2 is a schematic structural diagram of a device in a media playing system according to an embodiment of the present invention, configured to trigger a flow of acquiring and sending media content in the system shown in fig. 1. The device may include one or more ports coupled to a Transceiver (Transceiver) 230. The transceiver 230 may be a transmitter, a receiver, or a combination thereof that transmits or receives data packets from other network nodes through a port. The processor is coupled to the transceiver for processing the data packets. Processor 220 may include one or more multi-core processors. The processor may be a general purpose processor, an Application Specific Integrated Circuit (ASIC), or a Digital Signal Processor (DSP).
The memory 210 may be a non-transitory storage medium coupled to the processor 220 for storing different types of data, such as media description files, media content, and so forth. The Memory may include a Read Only Memory (ROM), a Random Access Memory (RAM), or other types of dynamic storage devices that may store information and instructions, and may also be a disk Memory. The memory may be configured to store instructions to implement media content retrieval and delivery related methods. It will be understood that the executable instructions may be programmed or loaded into at least one of the processor, cache memory and long term storage of the device.
The apparatus shown in fig. 2 may implement the execution of one or more instructions to trigger the acquisition and transmission of media content according to embodiments of the present invention. These instructions may be stored in memory or may be integrated into the kernel of the operating system or a plug-in to the kernel.
Specifically, fig. 2 may be a schematic structural diagram of a terminal provided in the embodiment of the present invention. The terminal may include a memory 210, a processor 220 and a transceiver 230 and one or more ports coupled to the transceiver. A memory 210 for storing computer executable program code; a processor 220 is coupled with the memory 210 and the transceiver 230; wherein the program code comprises instructions which, when executed by the processor, cause the network element to perform the relevant steps performed by the terminal in fig. 3-6, respectively.
In addition, fig. 2 may also be a schematic structural diagram of a media server provided in the embodiment of the present invention. The media server may include a memory 210, a processor 220 and a transceiver 230 and one or more ports coupled to the transceiver. A memory 210 for storing computer executable program code; a processor coupled with the memory and the transceiver; wherein the program code comprises instructions which, when executed by the processor, cause the network element to perform the relevant steps performed by the media server in figures 3-6.
With reference to the schematic structural diagram of the terminal and the media server shown in fig. 2, a flowchart of a method for acquiring and sending media content according to an embodiment of the present invention is shown in fig. 3, and may include the following steps:
101. the media server receives a media description file request message sent by the terminal.
Specifically, the terminal may send a media description file request message to the media server according to a uniform resource locator (uniform resource L locator, UR L) of the media description file acquired in advance, and carry UR L of the media description file in the media description file request message.
Illustratively, the media description file request message sent by the terminal may be:
GET http://example.com/mpd?HTTP/1.1
Connection:keep-alive
where "HTTP:// example. com/mpd" is UR L of the media description file, "HTTP/1.1" represents the HTTP protocol version, and "Connection: keep-alive" represents maintaining the Connection.
102. The media server sends a media description file to the terminal, wherein the media description file is used for describing at least two media presentations, each media presentation corresponds to one code rate and one resolution, each code rate corresponds to at least two resolutions, and each media presentation comprises at least one fragment.
The media server can specifically send the media description file to the terminal according to UR L of the media description file after receiving a media description file request message sent by the terminal, where the media description file is used to describe at least two media presentations, each media presentation corresponds to one bitrate and one resolution, each bitrate corresponds to at least two resolutions, each media presentation includes at least one segment, and a segment is a basic unit for the media server to send media content to the terminal.
The Media Description file in different HTTP streams may be represented in different forms, for example, a (Media Presentation Description, MPD) file in a DASH stream, an M3U8 file in H L S, and a ism/ismc file in HSS.
For example, the specific structure of the MPD file in the DASH stream may be as shown in fig. 4. In fig. 4, a complete media file may be divided into one or more periods (Period), each Period being a media time Period having a start time and an end time. Each time segment contains one or more adaptation sets (AdaptationSet), each adaptation set corresponding to a media component, such as audio, video, subtitles, etc. Each adaptation set comprises a plurality of media presentations (playback), each media presentation corresponds to one bitrate and one resolution, and in different media presentations, one bitrate can correspond to at least two resolutions. Each media presentation may be divided into one or more segments (segments), which are the basic units of a terminal requesting media content from a media server.
For example, a specific example of a video adaptation set can be seen in table 1 below:
TABLE 1
Figure GDA0001060424930000121
The description of the attributes in the adaptation set shown in table 1 above can be referred to as table 2 below:
TABLE 2
Figure GDA0001060424930000131
As can be seen from tables 1 and 2, the attributes of the above-mentioned video adaptation set define content complexity, coding type and frame rate, the content complexity is an average content complexity of the calculated adaptation set, the coding type is avc, i.e., h.264, the frame rate is 40fps (frames/sec), the adaptation set in table 1 contains 8 media presentations, and has 4 code rates, i.e., 256kb/s, 512kb/s, 1024kb/s, and 2048kb/s, respectively, each code rate corresponds to 2 resolutions, i.e., 256kb/s corresponds to resolution (width value 320, height value 240) and resolution (width value 640, height value 480), i.e., 512kb/s corresponds to resolution (width value 320, height value 240) and resolution (width value 640, height value 480), i.e., 1024kb/s corresponds to resolution (width value 640, height value 480, height value 240), and resolution (width value 1280, height value 480), i.e., 1280 kb/s corresponds to only one slice, so that only one high resolution (1280) is used in each slice, and only one high resolution (1280) is used in each slice).
103. And after receiving the media description file sent by the media server, the terminal determines the target code rate according to the current network quality.
After receiving the media description file sent by the media server, the terminal may determine the target bitrate according to the current network quality. The current network quality is used to describe the current network condition of the terminal, such as the current download speed of the terminal. The target code rate is the optimal code rate selected by the terminal according to the current network quality, and if the current network quality is good, the terminal can select a higher code rate as the target code rate to obtain better video watching experience; when the current network quality is poor, the terminal can select a lower code stream as a target code rate to prevent playing jamming caused by insufficient cache.
Specifically, there are many common methods for the terminal to determine the target code rate according to the current network quality, and a specific implementation manner will be exemplified below.
For example, referring to the following formula (1), the terminal may calculate the maximum code rate that can be currently selected according to the current download speed, the terminal buffer duration, and the minimum buffer duration.
Maximum code rate ═ download speed ═ terminal buffer duration/minimum buffer duration equation (1)
If the current downloading speed is 300kb/s, the duration of the current terminal cache content is 10s, and the minimum cache time is 2s, the maximum code rate is 1500 kb/s. At this time, the target code rate should be less than or equal to the maximum code rate 1500kb and close to the maximum code rate 1500 kb. Taking the example in table 1 as an example, the 4 code rates that can be selected are 56kb/s, 512kb/s, 1024kb/s and 2048kb/s, wherein the code rate that is smaller than or equal to the maximum code rate of 1500kb is 1024kb/s, and the code rate that is closest to the maximum code rate of 1500kb is the target code rate.
It should be noted that, the method for determining the target code rate according to the current network quality by the terminal is the prior art, and there are other methods besides the above method. The embodiments of the present invention will not be described in detail.
104. And the terminal determines the target resolution from at least two resolutions corresponding to the target code rate according to the screen size of the terminal.
After the target bitrate is determined, since the video display quality of the terminal with different screen sizes is also related to the resolution, in this step, the terminal can determine the target resolution from at least two resolutions corresponding to the target bitrate according to the screen size, so that the video display quality of the terminal is the highest.
Still taking the example illustrated in table 1 as an example, when the target bitrate is determined to be 1024kb/s, the target bitrate corresponds to 2 resolutions (width 640 and height 480) and (width 1280 and height 720), and the terminal may determine one target resolution that maximizes the video display quality of the terminal from the 2 resolutions.
105. And the terminal determines the target fragment corresponding to the target code rate and the target resolution according to the playing progress.
Because one code rate and one resolution correspond to one media presentation, the terminal can determine the target media presentation according to the target code rate and the target resolution. When the target media display comprises one fragment, the fragment is the target fragment which the terminal wants to obtain; when the target media presentation comprises a plurality of segments, different segments correspond to different time segments, and each time segment corresponds to a start time and an end time. The terminal can determine the target fragment needing to be acquired from the plurality of fragments included in the target media display according to the playing progress indication.
106. The terminal sends a target fragment request message to the media server, wherein the target fragment request message carries a fragment identifier of a target fragment.
The fragment identifier is used to uniquely identify one fragment, and may specifically be UR L of the fragment, a number corresponding to the fragment, or start-stop time corresponding to the fragment, and the like, where a specific form of the fragment identifier is not limited herein.
For example, when the segment identifier is UR L of the segment, the target segment request message sent by the terminal to the media server may specifically be:
GET http://example.com/56363639.mp4HTTP/1.1
Connection:keep-alive
where "http:// example. com/5663639. mp 4" denotes UR L of the target fragment.
107. And after receiving the target fragment request message sent by the terminal, the media server sends the media content corresponding to the target fragment to the terminal.
Specifically, the media server can find the media content corresponding to the target fragment according to the UR L of the target fragment carried in the target fragment request and send the media content to the terminal.
108. And after receiving the media content corresponding to the target fragment sent by the media server, the terminal caches and plays the media content corresponding to the target fragment.
And the terminal receives and caches the media content corresponding to the target fragment sent by the media server so as to play the video.
In the method for acquiring and sending media content provided in the above embodiment of the present invention, each media display corresponds to one code rate and one resolution, each code rate corresponds to at least two resolutions, and after determining the target code rate, the terminal determines, according to the screen size of the terminal, the target resolution that enables the video display quality to be the highest from the at least two resolutions corresponding to the target code rate, so as to determine the target segment according to the target code rate and the target resolution, and acquire the media content corresponding to the target segment. Therefore, the terminal can obtain better video display quality by selecting proper resolution, and the problem that the video display quality of the terminal with the current screen size is influenced by the fact that the target code rate only corresponds to one unique resolution which may cause the video display quality of the terminal with the current screen size to be lower in the prior art is solved.
It should be noted that, in step 104, there may be a plurality of methods for the terminal to determine the video display quality, and there may also be a plurality of methods for the terminal to determine the target resolution that enables the video display quality to be the highest from the at least two resolutions corresponding to the target bitrate according to the screen size of the terminal. For example, of the at least two resolutions corresponding to the target bitrate, the resolution closest to the maximum resolution allowed by the terminal having the current screen size is the target resolution that enables the video display quality to be the highest. The following will be exemplified in a manner of determining the target resolution by calculating the video display quality score.
In this manner, the media description file may further include content complexity, encoding type, and frame rate. The content complexity in the media description file may be calculated in various ways, for example, the content complexity may be calculated in units of segments, and when one segment intersects with multiple video scenes, the content complexity of the segment may be an average value of the content complexities of the multiple scenes, where the step 104 specifically includes:
the terminal calculates video display quality scores corresponding to each resolution in at least two resolutions corresponding to the target code rate according to the screen size of the terminal, the target code rate and the content complexity, the coding type and the frame rate in the media description file, and determines the resolution corresponding to the highest video display quality score as the target resolution.
Specifically, the screen display quality Q can be calculated according to the following formula (2)sc
Figure GDA0001060424930000161
Wherein d, e, f are constants, QmaxIs the maximum value of the screen display quality, P is the effective display pixel density, and the calculation formula of P can be as follows (3):
Figure GDA0001060424930000171
wherein, height and width are respectively a height value and a width value of the video resolution.
The reference mass Q is calculated according to the following formula (4)B
Figure GDA0001060424930000172
Wherein a, c are constants whose values are related to the coding type and resolution, QminIs the minimum value of the screen display quality, λ is the frame rate factor, and the calculation formula of λ can be as the following formula (5), wherein F in formula (5)BaseA reference frame rate; y is1The formula (6) may be represented by the following formula (6), wherein formula (6) represents Y1Related to content complexity; y is2The formula (7) may be represented by the following formula (7), wherein formula (7) represents Y2Related to content complexity:
Figure GDA0001060424930000173
Y1func1(VideoComplexity) formula (6)
Y2Func2(VideoComplexity) formula (7)
Video display quality score QvThe calculation formula of (c) may be as follows (8):
Figure GDA0001060424930000174
wherein, c1,c2,c3,c4Is a constant.
Illustratively, the set parameter values are as follows: qmax=5,Qmin=1,d=50,e=1,f=1,FBase=30,a=10,c=0.1,Y1=VideoComplexity,Y2=VideoComplexity,c1=1,c2=0,c3=1,c4=0。
When the target resolution is 1024kb/s shown in table 1, the two corresponding resolutions are (width value is 640 and height value is 480) and (width value is 1280 and height value is 720), then it can be calculated as follows:
when the resolution is (width value 640, height value 480), the video display quality score Qv=2.75。
When the resolution is (1280 for width and 720 for height), the video display quality score Q is obtainedv=3.56。
The calculation result shows that: the score of the video display quality corresponding to the resolution (width value 1280, height value 720) is higher than the score of the video display quality corresponding to the resolution (width value 640, height value 480), the video display quality corresponding to the resolution (width value 1280, height value 720) is higher than the video display quality corresponding to the resolution (width value 1280, height value 720). Therefore, of the two resolutions corresponding to the target code rate of 1024kb/s, the video display quality corresponding to the resolution (1280 for width and 720 for height) is the highest, and the resolution (1280 for width and 720 for height) is the target resolution.
Further, the method provided by the embodiment of the present invention may further include:
109. the terminal sends decision indication information to the media server to indicate that the target resolution is determined by the terminal.
110. And the media server receives the decision indication information sent by the terminal.
In step 101-108 of the embodiment of the present invention, the target resolution is determined by the terminal, and therefore the terminal may further send decision indication information to the media server to indicate that the target resolution is determined by the terminal. After receiving the decision indication information sent by the terminal, the media server knows that the target resolution is decided by the terminal, and the media server does not carry out the decision of the target resolution. In an alternative embodiment, steps 109 and 110 may precede step 102, so that the media server clearly needs to include at least two resolutions corresponding to the target bitrate in the media description file that needs to be sent to the terminal; in another alternative implementation, steps 109 and 110 may also precede step 107; in another alternative implementation manner, the terminal may carry the decision indication information in the target fragmentation request message and send the target fragmentation request message to the media server, which is not specifically limited herein.
As an example, the target request fragment carrying the decision indication information may be:
GET http://example.com/mpd?Decider=”client”HTTP/1.1
Connection:keep-alive
wherein, the Decider indicates the decision indication information, which indicates that the Decider is the terminal, and is used for indicating that the target resolution is determined by the terminal.
Another embodiment of the present invention provides another method for acquiring and sending media content, where the method is used for a media server to send media content that a terminal needs to acquire to the terminal, and referring to fig. 5, the method may further include:
201. the media server receives a media description file request message sent by the terminal.
202. The media server sends a media description file to the terminal, wherein the media description file is used for describing at least two media presentations, each media presentation corresponds to one code rate and one resolution, each code rate corresponds to at least two resolutions, and each media presentation comprises at least one fragment.
203. And after receiving the media description file sent by the media server, the terminal determines the target code rate according to the current network quality.
It should be noted that, in step 202 of the embodiment of the present invention, in the media description file sent by the media server to the terminal, one code rate corresponding to each media presentation may be used by the terminal to determine the target code rate according to the current network quality. Other descriptions regarding the steps 201-203 can refer to the detailed descriptions regarding the steps 101-103 in the above embodiments.
204. And the terminal sends the target code rate, the screen size of the terminal and the playing progress indication to the media server.
The playing progress indication is used for describing the video playing progress corresponding to the terminal at present. After receiving the media description file and determining the target code rate according to the network quality, the terminal can send the target code rate, the screen size of the terminal and the playing progress indication to the media server. The screen size of the terminal can be used for the media server to determine the target resolution according to the target code rate, and the playing progress indication can be used for the media server to determine the target fragments corresponding to the target code rate and the target resolution;
205. and after receiving the target code rate, the screen size of the terminal and the playing progress indication sent by the terminal, the media server determines the target resolution from at least two resolutions corresponding to the target code rate according to the screen size of the terminal.
Since the video display quality of the terminals with different screen sizes is also related to the resolution, after receiving the screen size and the target bitrate of the terminal sent by the terminal, the media server can determine a target resolution which can enable the video display quality to be the highest from at least two resolutions corresponding to the target bitrate according to the screen size of the terminal.
206. And the media server determines the target fragment corresponding to the target code rate and the target resolution according to the playing progress indication.
After determining the target resolution, the media server may determine, according to a play progress indication received from the terminal, a target segment corresponding to the target code rate and the target resolution, where the target segment is a segment that needs to be acquired when the terminal plays the video according to the current play progress.
207. And the media server sends the media content corresponding to the target fragment to the terminal.
After determining the target segment, the media server may send media content corresponding to the target segment to the terminal.
208. And after receiving the media content corresponding to the target fragment sent by the media server, the terminal caches and plays the media content corresponding to the target fragment.
And the terminal receives and caches the media content corresponding to the target fragment sent by the media server so as to play the video.
In the method for acquiring and sending media content provided in the above embodiment of the present invention, each media display corresponds to one bit rate and one resolution, each bit rate corresponds to at least two resolutions, and after determining the target bit rate, the terminal sends the play progress indication, the target bit rate, and the screen size of the terminal to the media server, so that the media server determines the target resolution that enables the video display quality to be the highest from the at least two resolutions corresponding to the target bit rate according to the screen size of the terminal, thereby determining the target segment corresponding to the target bit rate and the target resolution according to the play progress indication, and sending the media content corresponding to the target segment to the terminal. Therefore, the media server can enable the terminal with the current screen size to obtain better video display quality by selecting proper resolution, and the problem that the video display quality of the terminal with the current screen size is possibly low due to the fact that the target code rate only corresponds to one unique resolution in the prior art, and the video viewing experience of a terminal user is influenced due to the resolution.
The media description file saved in the media server may further include content complexity, encoding type, and frame rate. The step 205 may specifically include:
the media server calculates video display quality scores corresponding to each resolution in at least two resolutions corresponding to the target code rate according to the screen size of the terminal, the target code rate and the content complexity, the coding type and the frame rate in the media description file, and determines the resolution corresponding to the highest video display quality score as the target resolution.
Specifically, the process of determining the target resolution by the media server is similar to the process of determining the target resolution by the terminal, and reference may be specifically made to the description in the foregoing embodiment, which is not described herein again.
In addition, the media description file sent by the media server to the terminal may include or may not include content complexity, coding type, and frame rate, which is not specifically limited herein.
The playing progress indication may specifically be a time point or a segment identifier.
When the playing progress indication is a time point, in step 208, the media server determines the target segment corresponding to the target code rate and the target resolution according to the time point.
When the playing progress indication is the segment identifier, in step 208, the media server may determine a time point according to the segment indicated by the segment identifier, and determine a target segment corresponding to the target code rate and the target resolution according to the time point.
A media presentation may comprise one or more segments, each segment corresponding to a time segment and thus a start time and an end time. When the playing progress indication is the fragment identifier, the terminal may determine a reference fragment according to the current video playing progress, and send the fragment identifier of the reference fragment to the media server. In a possible implementation manner, the media server may identify a start time of a corresponding reference fragment for the fragment according to a time point determined by the fragment identifier received from the terminal. The time point determined by the media server according to the playing progress indication can indicate the current video playing progress of the terminal, so that the media server can determine that the start-stop time range comprises the time point according to the time point and the segment corresponding to the target code rate and the target resolution, and the segment is the target segment.
Certainly, the target bitrate and the screen size of the terminal may not be carried in the reference fragment request message, but are sent separately through an additional message, which is not specifically limited herein.
After receiving the reference fragment request message, the media server may determine a corresponding bitrate according to UR L of the reference fragment, where the bitrate is the target bitrate.
GET http://example.com/56363638.mp4?ScreenSize=”14”HTTP/1.1
Connection:keep-alive
Wherein, the ' http:// example. com/565663638. mp4 ' indicates that UR L ═ 14 ' of the reference slice indicates that the screen size of the terminal is 14 inches.
In addition, the screen size of the terminal may also be separately transmitted through an additional message, which is not specifically limited herein.
Further, before the step 208, the method may further include:
209. the terminal sends decision indication information to the media server to indicate that the target resolution is determined by the media server.
210. And the media server receives the decision indication information sent by the terminal.
In step 201 and 208 of the embodiment of the present invention, the target resolution is decided by the media server, and the terminal does not make the decision of the target resolution, so the terminal can also send decision indication information to the media server, so that the media server definitely needs to determine the target resolution according to the target bitrate and the screen size of the terminal.
In a possible implementation manner, the terminal may further carry the decision indication information in a reference fragment request message and send the reference fragment request message to the media server. For example, the reference fragment request message may specifically be:
GET http://example.com/56363638.mp4?Decider=”server”&Screen
Size=”14”HTTP/1.1
Connection:keep-alive
wherein, the Decider-server represents the decision indication information, which indicates that the Decider is the media server, and is used for indicating that the target resolution is determined by the media server.
Further, the media server may obtain the media description file and the media content from the source server before sending the media description file and the media content to the terminal. Thus, referring to fig. 6, before steps 101 and 201 in the above two method embodiments, it may further include:
301. the media server sends a request message to the origin server to request acquisition of the media description file and the media content.
302. And after receiving the request message sent by the media server, the source server sends the media description file and the media content to the media server.
303. The media server receives the media description file and the media content sent by the source server.
As shown in fig. 7, an embodiment of the present invention further provides a schematic structural diagram of a terminal 700, where the terminal 700 may include: a receiving unit 701, a processing unit 702 and a transmitting unit 703. The receiving unit 701 is configured to receive a media description file sent by a media server, where the media description file is used to describe at least two media presentations, each media presentation corresponds to one code rate and one resolution, each code rate corresponds to at least two resolutions, and each media presentation includes at least one fragment; a processing unit 702, configured to determine a target code rate according to a current network quality of the terminal 700; determining a target resolution from at least two resolutions corresponding to the target code rate according to the screen size of the terminal 700; determining target fragments corresponding to the target code rate and the target resolution according to the playing progress; a sending unit 703, configured to send a target fragment request message to a media server, where the target fragment request message carries a fragment identifier of a target fragment; the receiving unit 701 is further configured to receive media content corresponding to the target segment sent by the media server.
Further, the processing unit 702 may further execute the steps of 103, 104, 105, and the like, executed by the terminal in fig. 3 and fig. 6, and the sending unit 703 is further configured to execute the steps of 106, and the like, executed by the terminal in fig. 3 and fig. 6. The embodiments of the invention will not be described in detail here.
In another embodiment of the present invention, in the structural diagram of the terminal 700 shown in fig. 7, the receiving unit 701 is configured to receive a media description file sent by a media server, where the media description file is used to describe at least two media presentations, each media presentation corresponds to one code rate and one resolution, each code rate corresponds to at least two resolutions, and each media presentation includes at least one segment; a processing unit 702, configured to determine a target code rate according to a current network quality of the terminal 700; a sending unit 703, configured to send the target code rate, the screen size of the terminal 700, and the play progress indicator to the media server, where the screen size of the terminal 700 is used to determine the target resolution according to the target code rate, and the play progress indicator is used to determine a target segment corresponding to the target code rate and the target resolution; the receiving unit 701 is further configured to receive media content corresponding to the target segment sent by the media server.
Further, the processing unit 702 may further perform the steps of 203 and the like performed by the terminal in fig. 5-6, and the sending unit 703 is further configured to perform the steps of 204 and the like performed by the terminal in fig. 5-6. The embodiments of the invention will not be described in detail here.
Further, the terminal 700 in fig. 7 is presented in the form of a functional unit. As used herein, a "unit" may refer to an application specific integrated circuit, a processor and memory that execute one or more software or firmware programs, an integrated logic circuit, and/or other devices that may provide the functionality described above. In a simple embodiment, those skilled in the art will appreciate that the terminal 700 in fig. 7 may take the form shown in fig. 2. The units may be implemented by the processor and memory of fig. 2.
As shown in fig. 8, an embodiment of the present invention further provides a schematic structural diagram of a media server 800, where the media server 800 may include: a receiving unit 801 and a transmitting unit 802. The receiving unit 801 is configured to receive a media description file request message sent by a terminal; a sending unit 802, configured to send a media description file to a terminal, where the media description file is used to describe at least two media presentations, each media presentation corresponds to one code rate and one resolution, each code rate corresponds to at least two resolutions, each media presentation includes at least one slice, one code rate corresponding to each media presentation is used to determine a target code rate according to current network quality, and at least two resolutions corresponding to each code rate are used to determine a target resolution according to the target code rate and a screen size of the terminal; the receiving unit 801 is further configured to receive a target fragment request message sent by the terminal, where the target fragment request message carries a fragment identifier of a target fragment, and the target fragment is determined according to the playing progress and corresponds to the target code rate and the target resolution; the sending unit 802 is further configured to send the media content corresponding to the target segment to the terminal.
Further, the receiving unit 801 is further configured to perform the steps of 101 and the like performed by the media server in fig. 3 and fig. 6, and the sending unit 802 is further configured to perform the steps of 102, 107 and the like performed by the media server in fig. 3 and fig. 6. And, the media server may further include a processing unit 803 for controlling the receiving unit 801 and the transmitting unit 802 to perform corresponding functions. The embodiments of the invention will not be described in detail here.
As shown in fig. 9, an embodiment of the present invention further provides a schematic structural diagram of a media server 900, where the media server 900 may include: a receiving unit 901, a transmitting unit 902 and a processing unit 903. The receiving unit 901 is configured to receive a media description file request message sent by a terminal; a sending unit 902, configured to send a media description file to a terminal, where the media description file is used to describe at least two media presentations, each media presentation corresponds to one code rate and one resolution, each code rate corresponds to at least two resolutions, each media presentation includes at least one slice, and one code rate corresponding to each media presentation is used to determine a target code rate according to current network quality; the receiving unit 901 is further configured to receive a target code rate sent by the terminal, a screen size of the terminal, and a play progress indication; a processing unit 903, configured to determine a target resolution from at least two resolutions corresponding to a target code rate according to a screen size of the terminal; determining target fragments corresponding to the target code rate and the target resolution according to the playing progress indication; the sending unit 902 is further configured to send the media content corresponding to the target segment to the terminal.
Further, the receiving unit 901 is further configured to execute the steps 201 and the like performed by the media server in fig. 5-6, the processing unit 903 is further configured to execute the steps 205, 206 and the like performed by the media server in fig. 5-6, and the sending unit 902 is further configured to execute the steps 202, 207 and the like performed by the media server in fig. 5-6. The embodiments of the invention will not be described in detail here.
Further, the media servers in fig. 8 and 9 are presented in the form of functional units. As used herein, a "unit" may refer to an application specific integrated circuit, a processor and memory that execute one or more software or firmware programs, an integrated logic circuit, and/or other devices that may provide the functionality described above. In a simple embodiment, those skilled in the art will appreciate that the media server in fig. 8 and 9 may take the form shown in fig. 2. The units may be implemented by the processor and memory of fig. 2.
An embodiment of the present invention further provides a computer storage medium, which is used to store computer software instructions for the terminal shown in fig. 7 or the media server shown in fig. 8 and 9, and which contains a program designed to execute the method embodiment. By executing the stored program, the acquisition and transmission of media content can be achieved.
Another embodiment of the present invention further provides a media playing system, which may include an origin server, the terminal shown in fig. 7, and the media server shown in fig. 8 and 9. The basic architecture diagram of the media playing system can be specifically seen in fig. 1.
It will be appreciated by those of ordinary skill in the art that all or a portion of the subject matter of the present application may be implemented in software, in combination with hardware and/or firmware. For example, the subject matter described herein may be implemented in software executed by one or more processors. In one exemplary embodiment, the subject matter described herein may be implemented using a non-transitory computer-readable medium having stored thereon computer-executable instructions that, when executed by a computer processor, control the computer to perform steps. Example computer readable media suitable for implementing the subject matter described herein include non-transitory computer readable media such as disk memory devices, chip memory devices, programmable logic devices, and application specific integrated circuits. In addition, a computer-readable medium embodying the subject matter described herein may be located on a single device or computing platform or may be distributed across multiple devices or computing platforms.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.

Claims (24)

1. A method for obtaining media content, comprising:
receiving a media description file sent by a media server, wherein the media description file is used for describing at least two media presentations, each media presentation corresponds to one code rate and one resolution, each code rate corresponds to at least two resolutions, and each media presentation comprises at least one fragment;
determining a target code rate according to the current network quality of the terminal;
according to the screen size of the terminal, determining a target resolution from at least two resolutions corresponding to the target code rate;
determining a target fragment corresponding to the target code rate and the target resolution according to the playing progress;
sending a target fragmentation request message to the media server, wherein the target fragmentation request message carries a fragmentation identification of the target fragmentation;
and receiving the media content corresponding to the target fragment sent by the media server.
2. The method of claim 1, wherein the media description file further comprises a content complexity, an encoding type and a frame rate, and wherein determining a target resolution from the at least two resolutions corresponding to the target code rate according to the screen size of the terminal comprises:
and calculating video display quality scores corresponding to each resolution in at least two resolutions corresponding to the target code rate according to the screen size of the terminal, the target code rate and the content complexity, the coding type and the frame rate in the media description file, and determining the resolution corresponding to the highest video display quality score as the target resolution.
3. The method according to claim 1 or 2, characterized in that the method further comprises:
sending decision indication information to the media server to indicate that the target resolution is determined by the terminal.
4. A method for transmitting media content, comprising:
receiving a media description file request message sent by a terminal;
sending a media description file to the terminal, wherein the media description file is used for describing at least two media presentations, each media presentation corresponds to one code rate and one resolution, each code rate corresponds to at least two resolutions, each media presentation comprises at least one fragment, the code rate corresponding to each media presentation is used for determining a target code rate according to the current network quality, and the resolution corresponding to each code rate is used for determining a target resolution according to the target code rate and the screen size of the terminal;
receiving a target fragment request message sent by the terminal, wherein the target fragment request message carries a fragment identifier of the target fragment, and the target fragment is determined according to the playing progress and corresponds to the target code rate and the target resolution;
and sending the media content corresponding to the target fragment to the terminal.
5. The method of claim 4, further comprising:
and receiving decision indication information sent by the terminal, wherein the decision indication information is used for indicating that the target resolution is determined by the terminal.
6. A method for transmitting media content, comprising:
receiving a media description file request message sent by a terminal;
sending a media description file to the terminal, wherein the media description file is used for describing at least two media presentations, each media presentation corresponds to one code rate and one resolution, each code rate corresponds to at least two resolutions, each media presentation comprises at least one fragment, and one code rate corresponding to each media presentation is used for determining a target code rate according to the current network quality;
receiving the target code rate, the screen size of the terminal and a playing progress indication sent by the terminal;
according to the screen size of the terminal, determining a target resolution from at least two resolutions corresponding to the target code rate;
determining a target fragment corresponding to the target code rate and the target resolution according to the playing progress indication;
and sending the media content corresponding to the target fragment to the terminal.
7. The method of claim 6, wherein the media description file further comprises a content complexity, an encoding type and a frame rate, and wherein determining a target resolution from the at least two resolutions corresponding to the target code rate according to the screen size of the terminal comprises:
and calculating video display quality scores corresponding to each resolution in at least two resolutions corresponding to the target code rate according to the screen size of the terminal, the target code rate and the content complexity, the coding type and the frame rate in the media description file, and determining the resolution corresponding to the highest video display quality score as the target resolution.
8. The method according to claim 6 or 7, wherein the playing progress indication is a time point or a slice identifier; when the playing progress indication is a fragment identifier, the determining, according to the playing progress indication, a target fragment corresponding to the target code rate and the target resolution includes:
and determining a time point according to the fragments indicated by the fragment identification, and determining the target fragments corresponding to the target code rate and the target resolution according to the time point.
9. The method of claim 8, wherein prior to determining the target resolution, the method further comprises:
and receiving decision indication information sent by the terminal, wherein the decision indication information is used for indicating that the target resolution is determined by a media server.
10. A method for obtaining media content, comprising:
receiving a media description file sent by a media server, wherein the media description file is used for describing at least two media presentations, each media presentation corresponds to one code rate and one resolution, each code rate corresponds to at least two resolutions, and each media presentation comprises at least one fragment;
determining a target code rate according to the current network quality of the terminal;
sending the target code rate, the screen size of the terminal and a playing progress indication to the media server, wherein the screen size of the terminal is used for determining a target resolution according to the target code rate, and the playing progress indication is used for determining a target fragment corresponding to the target code rate and the target resolution;
and receiving the media content corresponding to the target fragment sent by the media server.
11. The method of claim 10, wherein the indication of the progress of the playing is a time point or a slice identifier.
12. The method according to claim 10 or 11, characterized in that the method further comprises:
sending decision indication information to the media server to indicate that the target resolution is determined by the media server.
13. A terminal, comprising:
the system comprises a receiving unit, a processing unit and a processing unit, wherein the receiving unit is used for receiving a media description file sent by a media server, the media description file is used for describing at least two media presentations, each media presentation corresponds to one code rate and one resolution, each code rate corresponds to at least two resolutions, and each media presentation comprises at least one fragment;
the processing unit is used for determining a target code rate according to the current network quality of the terminal; according to the screen size of the terminal, determining a target resolution from at least two resolutions corresponding to the target code rate; determining a target fragment corresponding to the target code rate and the target resolution according to the playing progress;
a sending unit, configured to send a target fragment request message to the media server, where the target fragment request message carries a fragment identifier of the target fragment;
the receiving unit is further configured to receive the media content corresponding to the target segment sent by the media server.
14. The terminal of claim 13, wherein the media description file further includes a content complexity, an encoding type, and a frame rate, and the processing unit is configured to determine, according to a screen size of the terminal, a target resolution from at least two resolutions corresponding to the target code rate, specifically including:
and calculating video display quality scores corresponding to each resolution in at least two resolutions corresponding to the target code rate according to the screen size of the terminal, the target code rate and the content complexity, the coding type and the frame rate in the media description file, and determining the resolution corresponding to the highest video display quality score as the target resolution.
15. The terminal according to claim 13 or 14, wherein the sending unit is further configured to send decision indication information to the media server to indicate that the target resolution is determined by the terminal.
16. A media server, comprising:
a receiving unit, configured to receive a media description file request message sent by a terminal;
a sending unit, configured to send a media description file to the terminal, where the media description file is used to describe at least two media presentations, each media presentation corresponds to one code rate and one resolution, each code rate corresponds to at least two resolutions, each media presentation includes at least one fragment, one code rate corresponding to each media presentation is used to determine a target code rate according to current network quality, and at least two resolutions corresponding to each code rate are used to determine a target resolution according to the target code rate and a screen size of the terminal;
the receiving unit is further configured to receive a target fragment request message sent by the terminal, where the target fragment request message carries a fragment identifier of the target fragment, and the target fragment is determined according to a playing progress and corresponds to the target code rate and the target resolution;
the sending unit is further configured to send the media content corresponding to the target segment to the terminal.
17. The media server according to claim 16, wherein the receiving unit is further configured to receive decision indication information sent by the terminal, and the decision indication information is used to indicate that the target resolution is determined by the terminal.
18. A media server, comprising:
a receiving unit, configured to receive a media description file request message sent by a terminal;
a sending unit, configured to send a media description file to the terminal, where the media description file is used to describe at least two media presentations, each media presentation corresponds to one code rate and one resolution, each code rate corresponds to at least two resolutions, each media presentation includes at least one fragment, and one code rate corresponding to each media presentation is used to determine a target code rate according to current network quality;
the receiving unit is further configured to receive the target code rate, the screen size of the terminal, and a play progress indication sent by the terminal;
the processing unit is used for determining a target resolution from at least two resolutions corresponding to the target code rate according to the screen size of the terminal; determining a target fragment corresponding to the target code rate and the target resolution according to the playing progress indication;
the sending unit is further configured to send the media content corresponding to the target segment to the terminal.
19. The media server according to claim 18, wherein the media description file further includes a content complexity, an encoding type, and a frame rate, and the processing unit is configured to determine, according to a screen size of the terminal, a target resolution from at least two resolutions corresponding to the target code rate specifically includes:
and calculating video display quality scores corresponding to each resolution in at least two resolutions corresponding to the target code rate according to the screen size of the terminal, the target code rate and the content complexity, the coding type and the frame rate in the media description file, and determining the resolution corresponding to the highest video display quality score as the target resolution.
20. The media server according to claim 18 or 19, wherein the playing progress indication is a time point or a slice identifier; when the playing progress indication is a segment identifier, the processing unit is configured to determine, according to the playing progress indication, that a target segment corresponding to the target code rate and the target resolution specifically includes:
and determining a time point according to the fragments indicated by the fragment identification, and determining the target fragments corresponding to the target code rate and the target resolution according to the time point.
21. The media server according to claim 20, wherein the receiving unit is further configured to receive decision indication information sent by the terminal, and the decision indication information is used to indicate that the target resolution is determined by the media server.
22. A terminal, comprising:
the system comprises a receiving unit, a processing unit and a processing unit, wherein the receiving unit is used for receiving a media description file sent by a media server, the media description file is used for describing at least two media presentations, each media presentation corresponds to one code rate and one resolution, each code rate corresponds to at least two resolutions, and each media presentation comprises at least one fragment;
the processing unit is used for determining a target code rate according to the current network quality of the terminal;
a sending unit, configured to send the target bitrate, a screen size of the terminal, and a play progress indicator to the media server, where the screen size of the terminal is used to determine a target resolution according to the target bitrate, and the play progress indicator is used to determine a target segment corresponding to the target bitrate and the target resolution;
the receiving unit is further configured to receive the media content corresponding to the target segment sent by the media server.
23. The terminal of claim 22, wherein the indication of playing progress is a time point or a slice identifier.
24. The terminal according to claim 22 or 23, wherein the sending unit is further configured to send decision indication information to the media server to indicate that the target resolution is determined by the media server.
CN201610516466.6A 2016-06-30 2016-06-30 Method and device for acquiring and sending media content Active CN107566854B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610516466.6A CN107566854B (en) 2016-06-30 2016-06-30 Method and device for acquiring and sending media content

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610516466.6A CN107566854B (en) 2016-06-30 2016-06-30 Method and device for acquiring and sending media content

Publications (2)

Publication Number Publication Date
CN107566854A CN107566854A (en) 2018-01-09
CN107566854B true CN107566854B (en) 2020-08-07

Family

ID=60968783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610516466.6A Active CN107566854B (en) 2016-06-30 2016-06-30 Method and device for acquiring and sending media content

Country Status (1)

Country Link
CN (1) CN107566854B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108989838B (en) * 2018-08-07 2021-07-30 刘子和 DASH code rate self-adaption method based on video content complexity perception
CN111372126B (en) * 2019-06-27 2022-08-05 杭州海康威视系统技术有限公司 Video playing method, device and storage medium
CN111372127B (en) * 2020-03-10 2022-08-30 深圳市腾讯信息技术有限公司 Data transmission method and related device
CN112632902B (en) * 2020-03-11 2024-06-04 西安诺瓦星云科技股份有限公司 Text processing method and device, text playing method and device and text playing control system
CN115225937B (en) * 2020-03-24 2023-12-01 腾讯科技(深圳)有限公司 Immersive media providing method, acquisition method, device, equipment and storage medium
CN113490003A (en) * 2021-06-01 2021-10-08 珠海派诺科技股份有限公司 Multi-resolution self-adaptive streaming media code rate conversion method, electronic equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102232298A (en) * 2011-04-07 2011-11-02 华为技术有限公司 Method, device and system for transmitting and processing media content
CN102801690A (en) * 2011-05-25 2012-11-28 华为技术有限公司 Stream media processing method, distribution server, client and system
CN104270646A (en) * 2014-09-22 2015-01-07 何震宇 Self-adaption transmission method and system based on mobile streaming media

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5339290B2 (en) * 2009-11-12 2013-11-13 日本電信電話株式会社 Video multiplexing apparatus, video multiplexing method, and program
CN102130936B (en) * 2010-08-17 2013-10-09 华为技术有限公司 Method and device for supporting time shifting and look back in dynamic hyper text transport protocol (HTTP) streaming transmission scheme
CN103379363B (en) * 2012-04-19 2018-09-11 腾讯科技(深圳)有限公司 Method for processing video frequency and device, mobile terminal and system
CN104010232B (en) * 2014-05-23 2017-12-12 惠州Tcl移动通信有限公司 A kind of intelligence plays method, system, player and the mobile terminal of Online Video
CN104935595B (en) * 2015-06-16 2019-10-15 华为技术有限公司 Content item polymerization and relevant apparatus and communication system
CN105472403A (en) * 2015-12-08 2016-04-06 康佳集团股份有限公司 Cloud service framework implementation method and system for supporting adaptive mobile streaming media
CN105407107A (en) * 2015-12-24 2016-03-16 成都信息工程大学 Transmission method and device for streaming media data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102232298A (en) * 2011-04-07 2011-11-02 华为技术有限公司 Method, device and system for transmitting and processing media content
CN102801690A (en) * 2011-05-25 2012-11-28 华为技术有限公司 Stream media processing method, distribution server, client and system
CN104270646A (en) * 2014-09-22 2015-01-07 何震宇 Self-adaption transmission method and system based on mobile streaming media

Also Published As

Publication number Publication date
CN107566854A (en) 2018-01-09

Similar Documents

Publication Publication Date Title
CN107566854B (en) Method and device for acquiring and sending media content
US20230283653A1 (en) Methods and apparatus to reduce latency for 360-degree viewport adaptive streaming
US10863211B1 (en) Manifest data for server-side media fragment insertion
KR102119287B1 (en) Device for obtaining content by choosing the transport protocol according to the available bandwidth
US9521469B2 (en) Carriage of quality information of content in media formats
CN107634930B (en) Method and device for acquiring media data
JP2016530751A (en) A concept for determining the quality of media data streams with varying quality versus bit rate
EP4192020B1 (en) Channel change method and apparatus
US10701461B2 (en) Video Processing Method, Terminal and Server
US20140109156A1 (en) Method, terminal, server and system for playing media file
CN108881931B (en) Data buffering method and network equipment
US11438645B2 (en) Media information processing method, related device, and computer storage medium
KR102012528B1 (en) Method for dynamic adaptation of the reception bitrate and associated receiver
CN106688239A (en) Video downloading method, apparatus, and system
CN110149560B (en) Player optimization method and system based on HLS protocol, storage medium and terminal
CN107005700B (en) Method for composing an intermediate video representation
CN108810567B (en) Audio and video visual angle matching method, client and server
US11363086B2 (en) Method and network equipment for establishing a manifest
CN114245153B (en) Slicing method, slicing device, slicing equipment and readable storage medium
WO2017092433A1 (en) Method and device for video real-time playback
US20240163322A1 (en) Methods, systems, and media for delivering manifestless streaming media content
US10728295B2 (en) Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache
KR20140056094A (en) Method for downloading content according to communication parameters, and associated content receiver
CN108574881B (en) Projection type recommendation method, server and client
TW201441935A (en) System and method of video screenshot

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant