WO2011079694A1 - 媒体处理方法、设备和系统 - Google Patents

媒体处理方法、设备和系统 Download PDF

Info

Publication number
WO2011079694A1
WO2011079694A1 PCT/CN2010/079545 CN2010079545W WO2011079694A1 WO 2011079694 A1 WO2011079694 A1 WO 2011079694A1 CN 2010079545 W CN2010079545 W CN 2010079545W WO 2011079694 A1 WO2011079694 A1 WO 2011079694A1
Authority
WO
WIPO (PCT)
Prior art keywords
user terminal
transcoding
code stream
current bandwidth
bandwidth
Prior art date
Application number
PCT/CN2010/079545
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 华为技术有限公司
Priority to EP10840483.1A priority Critical patent/EP2437455B1/en
Publication of WO2011079694A1 publication Critical patent/WO2011079694A1/zh
Priority to US13/340,230 priority patent/US9143576B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • 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/752Media network packet handling adapting media to network capabilities
    • 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/756Media network packet handling adapting media to device capabilities
    • 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/762Media network packet handling at the source 
    • 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/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234336Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a streaming media processing method, device, and system.
  • BACKGROUND With the advancement of network technologies, streaming media services are rapidly developing, and users can access audio and video services by using terminal devices such as mobile phones, computers, and televisions to access wired or wireless networks. Due to different types of access networks, the network bandwidth is different. For example, GSM can only provide tens of K of bandwidth, and WIFI can provide tens of M of bandwidth. Even for the same network, bandwidth will follow. Time changes, especially on wireless networks. The higher the network bandwidth, the better the video quality that can be provided. How to provide the best video experience under variable bandwidth is a problem faced by streaming service providers.
  • FIG. 1 an implementation of the prior art, wherein the code stream storage server in FIG. 1 stores a plurality of code rate streams of each streaming media program, and each code stream is fixed for a fixed time (eg, 2 Second) is divided into different slices, as the basic unit of streaming media transmission, as shown in Figure 2.
  • a fixed time eg, 2 Second
  • the stream server in FIG. 1 is configured to detect an access bandwidth of the user terminal, and then select a code stream fragment that matches the bandwidth of the user terminal from the code stream storage server and send the fragment to the user terminal. For example, the code stream storage server stores the pre-compressed 0.
  • the stream server can only send the code stream that matches the user terminal to the user terminal according to the bandwidth of the user terminal, there is a disadvantage that the user bandwidth cannot be fully utilized and the optimal streaming quality is provided, for example, when the user bandwidth is 1.
  • the streaming server can only select 1 Mbps of the stream fragmentation, so that the user's bandwidth of 1.8 Mbps is not fully utilized. Summary of the invention
  • the embodiments of the present invention provide a streaming media processing method, device, and system, which are used to enable a user terminal to efficiently use a bandwidth to obtain a higher quality streaming media.
  • a streaming media processing method includes:
  • the code stream in the pre-stored code stream whose code rate is higher than the current bandwidth of the terminal user is selected for transcoding, and a code stream matching the current bandwidth of the user terminal is output to the user terminal.
  • a streaming media processing device includes:
  • An obtaining unit configured to acquire a current bandwidth of the user terminal
  • a transcoding control unit configured to determine whether to transcode according to a current bandwidth of the user terminal and a code rate of the pre-stored code stream
  • a service processing unit configured to: after the transcoding control unit determines to perform transcoding, receive and obtain a user by selecting a code stream in the pre-stored code stream that has a code rate higher than a current bandwidth of the user terminal, and performing transcoding The code stream whose current bandwidth is matched by the terminal is output to the user terminal.
  • a streaming media processing system includes:
  • An obtaining unit configured to acquire a current bandwidth of the user terminal
  • a code stream storage unit configured to store a streaming media code stream
  • transcoding control unit configured to determine, according to a current bandwidth of the user terminal and a code rate of the code stream storage unit pre-stored code stream, whether the transcoding is required
  • a transcoding unit configured to: when the transcoding judging unit judges that transcoding is required, select a code stream in a pre-stored code stream of the code stream storage unit that has a higher code rate than a current bandwidth of the user terminal, and perform transcoding, and output a code stream whose current bandwidth is matched by the user terminal;
  • a service processing unit configured to output a code stream output by the transcoding unit to the user terminal.
  • the embodiment of the present invention determines whether to transcode according to the current bandwidth of the user terminal and the pre-stored code stream, and if yes, selects a code stream in which the code rate of the pre-stored code stream is higher than the current bandwidth of the user terminal, and performs transcoding, and outputs the current bandwidth of the user terminal.
  • the matched code stream can enable the user terminal to effectively utilize the bandwidth to obtain higher quality streaming media.
  • FIG. 1 is a schematic structural diagram of a prior art streaming media system
  • FIG. 2 is a schematic diagram of fragmentation of a pre-stored code stream
  • FIG. 3 is a schematic flowchart of a first-class media processing method according to an embodiment of the present invention.
  • FIG. 4 is a schematic flowchart of a method for processing a streaming media according to an embodiment of the present invention
  • FIG. 5 is a schematic diagram of a pre-stored code stream according to Embodiment 2 of the present invention.
  • FIG. 6 is a schematic diagram of determining whether to perform transcoding through a threshold according to Embodiment 2 of the present invention.
  • FIG. 7 is a schematic structural diagram of a three-stream media processing device according to an embodiment of the present invention.
  • FIG. 8 is another schematic structural diagram of a three-stream media processing device according to an embodiment of the present invention.
  • FIG. 9 is another schematic structural diagram of a three-stream media processing device according to an embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of a four-stream media processing system according to an embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of a specific implementation of a four-stream media processing system according to an embodiment of the present invention:
  • FIG. 12 is a schematic diagram of a flow of processing a streaming media based on the system shown in FIG. 11 according to an embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE INVENTION The present invention will be further described in detail below with reference to specific embodiments and related drawings.
  • a first embodiment of the present invention provides a streaming media processing method for fully utilizing user bandwidth to output a higher quality code stream. Referring to FIG. 3, the following steps are included:
  • S101 Determine, according to a current bandwidth of the user terminal and a code rate of the pre-stored code stream, whether transcoding is required. S102. If yes, select a code stream in the pre-stored code stream that has a higher code rate than a current bandwidth of the user terminal. And outputting, to the user terminal, a code stream that matches a bandwidth of the user terminal.
  • selecting a code stream of the pre-stored code stream that is less than or equal to the bandwidth of the user terminal and having the highest code rate is output to the user terminal.
  • the judging whether the transcoding needs to be different according to the current bandwidth of the user terminal and the pre-stored code stream for example: When there are multiple pre-stored code streams, and the bandwidth of the user terminal reaches a certain threshold, it is judged that transcoding needs to be performed; otherwise, transcoding is not performed; wherein the threshold setting may be fixed or performed by user configuration parameters. Adjustment; or,
  • transcoding such as current streaming media processing resources (such as transcoding processing resources, etc.), and user terminal performance parameters (such as computing power) and user network performance parameters (such as packet loss). Factors such as rate, delay, etc. to determine whether to transcode.
  • the current bandwidth of the user terminal can be obtained by detecting the bandwidth of the user terminal in real time, or by using the previously configured information, or by other means.
  • the code stream in the pre-stored code stream whose code rate is higher than the current bandwidth of the user terminal is selected for transcoding; the code rate at the same resolution may be higher than the current value of the user terminal.
  • the code stream such as the highest selection; can also select the code stream with higher code rate than the current bandwidth of the user terminal at different resolutions. In order to obtain the same code stream resolution as the user terminal, the resolution needs to be converted at this time. .
  • the code stream matching the user bandwidth is output, where the matching may mean that the code rate of the code stream is equal to the bandwidth of the user terminal; or the code rate of the code stream is combined with other bandwidth of the user terminal bandwidth (such as the current streaming media processing resource).
  • the bandwidth obtained after the packet loss rate is equal. It should be noted that the equality here does not mean strictly equivalent. Because the communication device has a certain error between the actual output and the bandwidth of the user terminal during processing or transmission, it can also be considered It is equal. In other cases, the same error can also exist.
  • the embodiment of the present invention determines whether to transcode according to the current bandwidth of the user terminal and the pre-stored code stream, and if yes, selects a code stream in which the code rate of the pre-stored code stream is higher than the current bandwidth of the user terminal, and performs transcoding, and outputs the current bandwidth of the user terminal.
  • the matched code stream can enable the user terminal to effectively utilize the bandwidth to obtain higher quality streaming media, thereby improving the quality of the streaming media service.
  • An embodiment of the present invention provides a streaming media processing method. Referring to FIG. 4, the method includes the following steps:
  • the S20U obtains the current bandwidth of the user terminal.
  • the current bandwidth of the user terminal can be obtained through real-time detection; or, by using pre-configured information, the configured information can be obtained by counting the bandwidth of the user terminal at the historical time, such as statistics obtained at 8:00 am to night.
  • the 6-point user terminal has a large bandwidth, and the user bandwidth is small from 6 pm to 10 pm.
  • the pre-stored code stream generally includes multiple compressed streaming media streams (such as avi, rm, mp4, and the like). Stream); but because of the limited storage capacity and processing capacity, it is impossible to store a lot, such as generally 5-10 (can be adjusted according to memory capacity and processing capacity); at the same time, for a specific resolution They are all set to a stream of several different code rates. Referring to FIG.
  • the code stream 1 - code stream 2 stores a code stream with a resolution of 400*200, and the highest code rate is 15 Mbps; the code stream 3 code stream 5 stores 8Mbps ⁇ The code rate of the resolution is 200 * 100, the highest code rate is 3Mbps; the code stream 6 - code stream 7 is stored as a resolution of 100 * 50 code stream, the highest code rate is 0. 8Mbps
  • the threshold setting can be fixed or dynamically adjusted.
  • the fixed threshold can be used as follows: A threshold is set between each pre-stored code stream, and the code is transcoded when the threshold is crossed. If the threshold is not exceeded, no transcoding is performed.
  • the code stream can be used. 7 Mbps, and set a threshold value of 0.6 Mbps, when the current bandwidth of the user terminal exceeds 0.6 Mbps, transcoding, and vice versa, no transcoding.
  • the threshold of the code stream can also be similarly set.
  • the threshold can be dynamically adjusted by letting the user adjust a configuration parameter.
  • the parameters and algorithms for the specific adjustment are not limited. See Figure 6, for A specific method for adjusting parameters according to an embodiment of the present invention:
  • transcoding When there is only one pre-stored code stream, if the code rate of the code stream is greater than the current bandwidth of the user terminal, it is determined that transcoding is required; conversely, if the code rate of the code stream is less than or equal to the current bandwidth of the user terminal. , judge that no transcoding is required. Determining whether the transcoding can be combined with the current bandwidth of the user terminal and the pre-stored code stream, and can also be combined with streaming media processing resources (such as transcoding processing resources), user terminal performance parameters (such as computing power), or user network performance parameters (such as Factors such as packet loss rate, delay, etc.
  • streaming media processing resources such as transcoding processing resources
  • user terminal performance parameters such as computing power
  • user network performance parameters such as Factors such as packet loss rate, delay, etc.
  • the corresponding threshold can be lowered, that is, the TH can be transcoded as long as it exceeds the Bi-point; conversely, when the streaming media transcoding capability is compared If there are a lot of flows that need to be processed, it means that the streaming media processing resources are insufficient. In this case, you can increase the corresponding threshold or not transcode.
  • the code stream in the pre-stored code stream whose code rate is higher than the current bandwidth of the user terminal is selected for transcoding (selecting less than or equal to does not improve the streaming media quality, so there is no meaning).
  • the code stream with the highest code rate at the current resolution may be selected for transcoding; for example, taking FIG. 5 as an example, the resolution of the current code stream to the user terminal is assumed to be 200*100, and the code rate is 1 5Mbps; If it is judged that the code rate exceeds the threshold (such as 2Mbps), transcoding is performed. At this time, the code stream with the highest code rate at this resolution is selected for transcoding. For example, a code stream of 3 Mbps is selected for transcoding.
  • a code stream that is not the highest code rate at this resolution for transcoding.
  • a code stream having a code rate of 1.5 Mbps may also be selected for transcoding;
  • the code stream matching the bandwidth of the user terminal is output, where the matching may mean that the code rate of the code stream is equal to the bandwidth of the user terminal; or the code rate of the code stream is combined with other user bandwidth (such as streaming media processing resources, users)
  • the terminal bandwidth is equal to the bandwidth of the user, such as the current bandwidth of the terminal user is 2M, but the user network performance parameters are relatively poor (such as the packet loss rate is relatively high), at this time can output 1.
  • the bandwidth of the user terminal is 1. 7 Mbps and the transcoding threshold is 2 Mbps. Since the transcoding threshold is less than the transcoding threshold, no transcoding is performed. In this case, a code smaller than or equal to the bandwidth of the user terminal is selected. The one with the highest bit rate in the stream is given to the user terminal. Here, 1.5 Mbps is selected for the user terminal, so that the quality of the streaming media can be guaranteed to the greatest extent.
  • the specific time of the foregoing determination is not limited, but the conversion needs to be converted in units of time slicing, that is, the end of one code stream can be transferred to another code stream.
  • the length of the same code stream may be different.
  • the time slots of the same code stream in the same sequence must be equal. Otherwise, the time when the code stream is switched may not correspond.
  • the lengths of the segments 11, 12, 13, 14 or 21, 22, 23, 24 may be different, but the length of the segments 11, 21, 31 71 or 13, 23, 33 73 Must be the same.
  • the embodiment of the present invention determines whether to transcode according to the current bandwidth of the user terminal and the pre-stored code stream, and if yes, selects a code stream in which the code rate of the pre-stored code stream is higher than the current bandwidth of the user terminal, and performs transcoding, and outputs the current bandwidth of the user terminal.
  • the matched code stream can enable the user terminal to effectively utilize the bandwidth to obtain higher quality streaming media.
  • the embodiment of the present invention determines whether to transcode according to the current bandwidth of the user terminal and the pre-stored code stream, and if yes, selects a code stream in which the code rate of the pre-stored code stream is higher than the current bandwidth of the user terminal, and performs transcoding, and outputs the current bandwidth of the user terminal.
  • the matched code stream can enable the user terminal to effectively utilize the bandwidth to obtain higher quality streaming media, thereby improving the quality of the streaming media service.
  • the embodiment of the present invention provides a streaming media processing device 30.
  • a streaming media processing device 30 Referring to FIG. 7, the following unit is included: an obtaining unit 31, configured to acquire a current bandwidth of the user terminal;
  • the transcoding control unit 32 is configured to determine, according to the current bandwidth of the user terminal and the code rate of the pre-stored code stream, whether to transcode;
  • the service processing unit 33 is configured to: after the transcoding control unit 32 determines to perform transcoding, receive the user that is obtained by transcoding the code stream whose code rate is higher than the current bandwidth of the user terminal in the pre-stored code stream. The code stream whose current bandwidth is matched by the terminal is output to the user terminal.
  • the transcoding control unit 32 determines that the transcoding is not performed, the code stream that is less than or equal to the bandwidth of the user terminal and has the highest code rate in the pre-stored code stream is selected and output to the user terminal.
  • the transcoding control unit determines whether the transcoding can be judged according to the following situations: When there are multiple pre-stored code streams, and the current bandwidth of the user terminal reaches a certain threshold, it is determined that transcoding needs to be performed; otherwise, transcoding is not performed; wherein the threshold is set to be fixed, or configured
  • the parameters are adjusted. The format of the configuration parameters and the specific algorithm can be adjusted according to the actual situation.
  • the threshold Determining whether to perform transcoding according to the user terminal bandwidth and the pre-stored code stream in combination with one or more of a streaming media processing resource, the user terminal performance parameter, and a user network performance parameter, for example, when streaming media processing
  • the threshold can be adjusted to be larger or not transcoded.
  • the packet loss rate is large, the threshold can be adjusted to be larger or not transcoded.
  • the packet loss rate is small, the packet loss rate can be reduced. The threshold is adjusted to be smaller.
  • a device or a unit (such as a transcoding unit) that processes a transcoding and a device or a unit (such as a code stream storage unit) that pre-stores a code stream may be in the same device as the embodiment of the present invention, or may be The device is implemented.
  • FIG. 8 is a schematic structural diagram of a transcoding unit not in the same device as the device of the embodiment of the present invention
  • FIG. 9 is a schematic diagram of a device including a transcoding unit according to an embodiment of the present invention; similarly, the code stream storage unit may also be performed. Similar to the device, as shown in FIG. 8 and FIG. 9, the code stream storage unit is not in the same device as the device in the embodiment of the present invention. In an actual application, the code stream storage unit may also be included in the embodiment of the present invention.
  • Each of the above units may be implemented by various hardware processing units, such as a processing chip or a dedicated hardware processing chip and other hardware circuits having similar functions, and one of the functional units may be implemented by one or more hardware processing units,
  • a hardware processing unit can also implement one or more functional units, which is not limited herein.
  • For the specific operation procedure between the units reference may also be made to the related steps of the second embodiment, and details are not described herein again.
  • the streaming media processing device in the embodiment of the present invention may be a streaming media server, a media gateway, a media resource server, or the like.
  • the embodiment of the present invention determines whether to transcode according to the current bandwidth of the user terminal and the pre-stored code stream, and if yes, selects a code stream in which the code rate of the pre-stored code stream is higher than the current bandwidth of the user terminal, and performs transcoding, and outputs the current bandwidth of the user terminal.
  • the matched code stream can enable the user terminal to effectively utilize the bandwidth to obtain higher quality streaming media, thereby improving the quality of the streaming media service.
  • Embodiment 4 The embodiment of the present invention provides a streaming media processing system 40, which is shown in FIG. 10, and includes: an obtaining unit 41, configured to acquire a current bandwidth of the user terminal;
  • a code stream storage unit 42 is configured to store a streaming media code stream
  • the transcoding control unit 43 is configured to determine, according to the current bandwidth of the user terminal and the code rate of the code stream storage unit pre-stored the code stream, whether the transcoding is required;
  • a transcoding unit 44 configured to: when the transcoding judging unit judges that transcoding is required, select a code stream in the pre-stored code stream of the code stream storage unit that has a code rate higher than a current bandwidth of the user terminal, and perform transcoding, and output a code stream that matches the current bandwidth of the user terminal;
  • the service processing unit 45 is configured to output the code stream output by the transcoding unit to the user terminal.
  • the service processing unit is further configured to: when the transcoding control unit determines that transcoding is not required, select a code stream in the pre-stored code stream that is less than or equal to the bandwidth of the user terminal and has the highest code rate, and output the code stream to the user. terminal.
  • the step of determining, by the transcoding control unit, whether transcoding is required according to the current bandwidth of the user terminal and the code rate of the code stream storage unit pre-stored the code stream includes:
  • the threshold is set to be fixed, or configured Parameter adjustment
  • Each of the above units may be implemented by various hardware processing units, such as a processing chip or a dedicated hardware processing chip and other hardware circuits having similar functions, and one of the functional units may be implemented by one or more hardware processing units,
  • a hardware processing unit can also implement one or more functional units, which is not limited herein.
  • For the specific operation procedure between the units reference may also be made to the related steps of the second embodiment, and details are not described herein again.
  • FIG. 11 is a schematic diagram of a specific application of each unit implemented by different devices according to an embodiment of the present invention:
  • a streaming media processing system according to an embodiment of the present invention includes a streaming media server 51, a transcoder 52, and a code stream storage server 53;
  • the streaming media server 51 includes an obtaining unit 41, a transcoding control unit 43 and a service processing unit 45; the transcoder comprises a transcoding unit 44, and the code stream storage server 53 comprises a code stream storage unit 42;
  • FIG. 12 a schematic flowchart of a method for performing streaming media processing based on the streaming media system of FIG. 11 includes the following steps:
  • the streaming media server 51 obtains a current bandwidth of the user terminal.
  • the current bandwidth of the user terminal can be obtained by the obtaining unit 41.
  • the streaming media server 51 determines whether the transcoding needs to be performed according to the current bandwidth of the user terminal and the code rate of the pre-stored code stream; if yes, steps S703 and S704 are performed ; if not, step S705 is performed;
  • the transcoding control unit can be used to determine whether to transcode; the condition for determining the transcoding can refer to the judgment condition in the related embodiment, and details are not described herein again;
  • the transcoder 52 performs transcoding
  • the transcoder 52 can implement transcoding through the transcoding unit, and perform transcoding and transcoding by selecting a code stream in the pre-stored code stream in the pre-stored code stream that is higher than the current bandwidth of the user terminal, and output and user. a code stream that matches the current bandwidth of the terminal; wherein the code stream storage server 53 includes a code stream storage unit 42;
  • the streaming media server 51 receives the code stream output by the transcoder 52 and outputs the code stream to the user terminal. Specifically, the streaming media server can receive the code stream output by the transcoder through the service processing unit, and then perform the service processing. After output to the user terminal;
  • the code stream storage server 53 selects a code stream of the pre-stored code stream that is less than or equal to the user terminal bandwidth and has the highest code rate, and outputs the code stream to the user terminal.
  • the streaming media server may also be a media gateway, a media resource server, or the like; the transcoder or the code stream storage server may be independent. It may also be a functional module of a device such as a media gateway or a streaming media server, and its specific implementation form is not limited.
  • the embodiment of the present invention determines whether to transcode according to the current bandwidth of the user terminal and the pre-stored code stream, and if yes, selects a code stream in which the code rate of the pre-stored code stream is higher than the current bandwidth of the user terminal, and performs transcoding, and outputs the current bandwidth of the user terminal.
  • the matched code stream can enable the user terminal to effectively utilize the bandwidth to obtain higher quality streaming media, thereby improving the quality of the streaming media service.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

媒体处理 ¾¾、设备和系统 本申请要求于 2009年 12月 31日提交中国专利局、 申请号为 200910238891. 3、 发 明名称为 "一种流媒体处理方法、 设备和系统"的中国专利申请的优先权, 其全部内容 通过引用结合在本申请中。 技术领域 本发明涉及通信技术领域, 尤其涉及一种流媒体处理方法、 设备和系统。 背景技术 随着网络技术的进步, 流媒体业务得以迅猛发展, 用户可以使用手机、 电脑、 电视 等终端设备接入到有线或无线网络中, 享受音视频服务。 由于接入的网络类型不同, 所 接入的网络带宽也不相同, 如 GSM通常只能提供几十 K的带宽, WIFI则能提供几十 M 的带宽, 即使是同一种网络, 带宽也会随着时间发生变化, 无线网络尤为明显。 网络带 宽越高, 能提供的视频质量越好, 如何在可变的带宽下, 提供最佳的视频体验, 是流媒 体服务提供商面临的一个问题。
参见图 1, 为现有技术一种实现方案, 其中, 图 1中的码流存储服务器中存储着每 个流媒体节目的多份码率的码流,每份码流按固定时间(如 2秒)被切分成不同的分片, 作为流媒体传输的基本单位, 如图 2所示。
图 1中的流服务器用于检测用户终端的接入带宽,然后从码流存储服务器中选择和 用户终端带宽最匹配的码流分片发送给用户终端。例如, 码流存储服务器存储了预先压 缩好的 0. 5Mbps, 1Mbps , 2Mbps的码流分片, 当用户终端的接入带宽为 1. 8Mbps时, 传 输 1Mbps码流分片; 当终端的接入带宽变化到 2. 1Mbps时, 传输 2Mbps的分片; 码率切 换以分片为基本单位进行切换, 即如果当前码流为码流 1 的分片 12, 如果在传输分片 12的过程中检测到带宽发生变化, 想切换到码流 2的分片 23, 则需要等到分片 12结束 后才切换。
发明人在实现本发明的过程中, 发现现有技术至少存在以下缺点:
由于流服务器只能根据用户终端带宽选择与用户终端最匹配的码流发送给用户终 端, 因此, 会存在无法充分利用用户带宽, 提供最优流媒体质量的缺点, 例如, 当用户 带宽为 1. 8Mbps时, 流服务器只能选择其中 1Mbps的码流分片, 从而使得用户 1. 8Mbps 的带宽得不到充分利用。 发明内容
本发明实施例提供一种流媒体处理方法、设备和系统, 用于使得用户终端能够有效 利用带宽获取较高质量的流媒体。
其中, 一种流媒体处理方法包括:
根据用户终端当前带宽以及预存储码流的码率, 判断是否需要转码;
如果是, 选择所述预存储码流中码率高于所述终端用户当前带宽的码流进行转码, 输出与所述用户终端当前带宽匹配的码流给所述用户终端。
其中, 一种流媒体处理设备包括:
获取单元, 用于获取用户终端当前带宽;
转码控制单元,用于根据所述用户终端当前带宽以及预存储码流的码率判断是否转 码;
业务处理单元, 用于当所述转码控制单元判断进行转码后, 接收通过选择所述预存 储码流中码率高于所述用户终端当前带宽的码流进行转码后得到的与用户终端当前带 宽匹配的码流, 并输出给所述用户终端。
其中, 一种流媒体处理系统包括:
获取单元, 用于获取用户终端当前带宽;
码流存储单元, 用于存储流媒体码流;
转码控制单元,用于根据所述用户终端当前带宽以及所述码流存储单元预存储码流 的码率, 判断是否需要转码;
转码单元, 用于当所述转码判断单元判断需要转码时, 选择所述码流存储单元预存 储码流中码率高于所述用户终端当前带宽的码流进行转码,输出与所述用户终端当前带 宽匹配的码流;
业务处理单元, 用于将所述转码单元输出的码流输出给所述用户终端。
上述技术方案中具有如下的优点:
本发明实施例通过根据用户终端当前带宽以及预存储码流判断是否转码, 如果是, 选择预存储码流中码率高于用户终端当前带宽的码流进行转码,输出与用户终端当前带 宽匹配的码流, 可以使得用户终端能够有效地利用带宽获取较高质量的流媒体。 附图说明 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中 所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些 实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这 些附图获得其他的附图。
图 1为现有技术流媒体系统结构示意图;
图 2为预存储码流的分片示意图;
图 3为本发明实施例一流媒体处理方法流程示意图;
图 4为本发明实施例二流媒体处理方法流程示意图;
图 5为本发明实施例二预存储码流示意图;
图 6为本发明实施例二通过阈值判断是否进行转码示意图;
图 7为本发明实施例三流媒体处理设备结构示意图;
图 8为本发明实施例三流媒体处理设备另一结构示意图;
图 9为本发明实施例三流媒体处理设备另一结构示意图;
图 10为本发明实施例四流媒体处理系统结构示意图
图 11为本发明实施例四流媒体处理系统一种具体实现结构示意图:
图 12为本发明实施例基于图 11所示的系统进行流媒体处理流程示意图。 具体实 IS ^式 为使本发明的目的、 技术方案及优点更加清楚明白, 以下将通过具体实施例和相关 附图, 对本发明作进一步详细说明。
实施例一
本发明实施例一提供了一种流媒体处理方法,用于充分利用用户带宽输出较高质量 的码流; 参见图 3, 包括如下步骤:
S101、 根据用户终端当前带宽以及预存储码流的码率, 判断是否需要转码; S102、 如果是, 选择所述预存储码流中码率高于所述用户终端当前带宽的码流进行 转码, 输出与所述用户终端带宽匹配的码流给所述用户终端。
如果否,则选择所述预存储码流中小于等于所述用户终端带宽且码率最高的码流输 出给所述用户终端。
其中, 判断是否需要转码根据用户终端当前带宽和预存储码流的情况不同而不同, 例如: 当预存储的码流有多个,且用户终端的带宽达到一定的阈值后,判断需要进行转码, 否则, 不进行转码;其中, 阈值的设置可以是固定的, 或者通过用户配置参数进行调整; 或者,
当预存储的码流只有一个, 且码率大于用户终端当前带宽时, 判断需要进行转码; 当预存储的码流只有一个, 且码率小于或等于用户终端当前带宽时, 判断不需要进行转 码;
此外, 还可以结合其他信息来判断是否进行转码, 例如当前流媒体处理资源(如转 码处理资源等) 以及所述用户终端性能参数(如计算能力等)和用户网络性能参数(如 丢包率、 时延等) 等因素来判断是否进行转码。
上述用户终端当前带宽可以通过实时检测用户终端带宽得到,也可以通过事先配置 的信息进行得到, 或者通过其他方式得到。
如果根据上述信息判断进行转码时,选择所述预存储码流中码率高于所述用户终端 当前带宽的码流进行转码; 可以选用在同一分辨率下码率比用户终端当前带高的码流, 如选择最高的; 也可以选择不同分辨率下码率比用户终端当前带宽高的码流, 为了得到 与用户终端带宽分辨率相同的码流, 此时还需要对分辨率进行转换。
进行转码后, 输出与用户带宽匹配的码流, 这里的匹配可以指码流的码率与用户终 端带宽相等; 或者码流的码率与用户终端带宽结合其他信息 (如当前流媒体处理资源、 丢包率等)后得到的带宽相等; 需要说明的是, 这里的相等并不意味着严格等同, 由于 通信设备处理时或传输时造成实际输出与用户终端带宽有一定的误差, 也可认为是相 等, 其他情况下的相同也可以有一定的误差存在。
本发明实施例通过根据用户终端当前带宽以及预存储码流判断是否转码, 如果是, 选择预存储码流中码率高于用户终端当前带宽的码流进行转码,输出与用户终端当前带 宽匹配的码流, 可以使用户终端能够有效地利用带宽获取较高质量的流媒体, 从而提高 了流媒体服务的质量。 实施例二
本发明实施例提供了一种流媒体处理方法, 参见图 4, 包括如下步骤:
S20U 获取用户终端当前带宽; 具体的, 可以通过实时检测来获取用户终端当前带宽; 或者, 通过预先配置的信息 来获取, 配置的信息可以通过对历史时刻的用户终端的带宽进行统计得到, 如统计得到 在早上 8点到晚上 6点用户终端带宽较大, 晚上 6点到晚上 10点用户带宽较小等。
S202、 根据用户终端当前带宽以及预存储码流的码率, 判断是否需要转码; 预存储的码流一般包括多个经压缩后的流媒体码流(如 avi、 rm、 mp4等流媒体码流); 但因为受存储容量及处理能力的限制, 不可能存储很多, 如一般可设为 5-10个(可根据 存储器容量及处理能力进行适当调整) ; 同时, 针对某个具体的分辨率都设置成几个不 同码率的码流。 参见图 5, 为一种预存储的码流形式, 其中, 码流 1-码流 2存储着为分辨 率为 400*200的码流, 最高码率为 15Mbps ; 码流 3-码流 5存储着为分辨率为 200*100的码 流, 最高码率为 3Mbps ; 码流 6-码流 7存储着为分辨率为 100*50的码流, 最高码率为 0. 8Mbps
当有多个流媒体码流时, 判断转码可以通过判断是否超过某个阈值来进行; 阈值的 设定可以是固定的, 也可以是动态调整的。 采用固定阈值可以采用如下方法: 在每个预 存储的码流之间设置一个阈值, 当越过这个阈值时进行转码, 不超过这个阈值时不进行 转码, 如参考图 5, 可以在码流 7与码流 6之间设置一个阈值 0. 6Mbps, 当用户终端当前带 宽超过 0. 6Mbps时进行转码, 反之, 则不进行转码。 其中码流的阈值也可以进行类似设 置。
更多的情况可以让用户根据实际情况来对阈值进行动态调整, 此时, 可以通过让用 户调整一个配置参数来对阈值进行动态调整, 具体调整的参数及算法并不限定, 参见图 6, 为本发明实施例所举的一个具体调整参数的方法:
该调整方法的配置参数为 a, 对 a的定义为& = (TH-Bi) / (Bi+1-Bi), 其中, Bi及 Bi+1为预存储码流的码率, 且两个为相邻的码流, Bi+1大于 Bi, (Bmax为最大码流的码 率, Bmin为最小码流的码率) ; 配置参数 a的含义为阈值 TH-Bi占 Bi+1-Bi的百分比, 取 值范围 [0, 1]; 如当配置£1为1/3时, 那么可以通过 £1的定义计算得到 TH值, 只要超过 TH, 即进行转码, 否则, 不进行转码。 需要说明的是, 该配置参数 a的定义只是一个具体的 简单定义, 实际应用中也可以采用其他定义的配置参数来对阈值进行设定, 在此并不限 定。
当预存储的码流只有一个时, 此时, 如果该码流的码率大于用户终端当前带宽, 则 判断需要进行转码; 反之, 如果该码流的码率小于或等于用户终端当前带宽时, 判断不 需要进行转码。 判断是否转码除了根据用户终端当前带宽及预存储的码流外,还可以结合流媒体处 理资源(如转码处理资源) 、 用户终端性能参数(如计算能力) 、 或用户网络性能参数 (如丢包率、 时延等)等因素(可以根据其中的一个或多个)来判断是否进行转码或调 整相关的阈值; 例如, 如果流媒体转码能力较强, 且需要处理的流很少, 则说明流媒体 处理资源充足, 以图 6中的例子为例, 此时, 可以调低相应的阈值, 即 TH只要超过 Bi— 点就可以进行转码; 反之, 当流媒体转码能力较弱, 且需要处理的流很多时, 说明流媒 体处理资源不足, 此时, 可以调高相应的阈值, 或者不进行转码。 同理, 也可以根据用 户终端性能参数或用户网络性能参数(如丢包率)等各种系统参数来判断是否进行转码 或调整相关的阈值, 例如, 在用户终端丢包率较高的情况下, 可以选择将阈值调整得高 一点, 或者不进行转码; 反之, 在丢包率较低的情况下, 可以将阈值调整得低一点等。
S203、 如果是, 选择所述预存储码流中码率高于所述用户终端当前带宽的码流进行 转码, 输出与所述用户终端带宽匹配的码流给所述用户终端;
如果判断进行转码,则选择预存储码流中码率高于所述用户终端当前带宽的码流进 行转码 (选择低于或等于的不会提升流媒体质量, 因此没有意义) 。
具体选择时, 可以选择与当前分辨率下的最高码率的码流进行转码; 例如, 以图 5 为例, 假设给用户终端的当前码流的分辨率为 200*100, 码率为 1. 5Mbps ; 如果判断码率 超过阈值(如 2Mbps ) , 则进行转码, 此时, 选择此分辨率下最高码率的码流进行转码, 例如, 这里选择 3Mbps的码流进行转码。
这里也可以选择不是此分辨率下最高码率的码流进行转码, 例如, 这里也可以选择 码率为 1. 5Mbps的码流进行转码;
除此之外, 也可以选择分辨率不是当前分辨率的码流进行转码, 但在转码过程中还 需要进行分辨率的转换。
转码后输出与用户终端带宽匹配的码流,这里的匹配可以指码流的码率与用户终端 带宽相等; 或者码流的码率与用户终端带宽结合其他信息(如流媒体处理资源、 用户终 端性能参数、 用户网络性能参数等)后得到的带宽相等, 如获取的终端用户当前带宽为 2M, 但由于用户网络性能参数比较差 (如丢包率比较高) , 此时可以输出 1. 9Mbps或 1. 8Mbps的码流给终端用户; 需要说明的是, 这里的相等并不意味着严格等同, 由于通 信设备处理时或传输时造成实际输出与用户终端带宽有一定的误差, 也可认为是相等, 同理, 其他情况下的相同也可以有一定的误差存在。 S204、 如果否, 则选择所述预存储码流中小于等于所述用户终端带宽且码率最高的 码流输出给所述用户终端。
例如, 以图 5所示的为例, 假设用户终端带宽为 1. 7Mbps , 转码阈值为 2Mbps, 由于 小于转码阈值, 因此, 不进行转码, 此时, 选择小于等于用户终端带宽的码流中码率最 高的一个给用户终端, 这里选择 1. 5Mbps的给用户终端, 这样可以最大程度保证流媒体 的质量。
需要说明的是, 上述判断的具体时间并不限定, 但转换需要以时间分片为基本单位 进行转换, 即在一个码流的时间片结束才能转到另外一个码流的分。 同一码流的不同时 间分片长度可以不同, 但不同码流同一顺序的时间分片长度须要相等, 否则会出现切换 码流时, 时间不对应的情况。 如图 5所示, 图中分片 11、 12、 13、 14或 21、 22、 23、 24 的长度可以各不相同, 但分片 11、 21、 31 71或 13、 23、 33 73的长度必须相同。
本发明实施例通过根据用户终端当前带宽以及预存储码流判断是否转码, 如果是, 选择预存储码流中码率高于用户终端当前带宽的码流进行转码,输出与用户终端当前带 宽匹配的码流, 可以使得用户终端能够有效地利用带宽获取较高质量的流媒体,
本发明实施例通过根据用户终端当前带宽以及预存储码流判断是否转码, 如果是, 选择预存储码流中码率高于用户终端当前带宽的码流进行转码,输出与用户终端当前带 宽匹配的码流, 可以使用户终端能够有效地利用带宽获取较高质量的流媒体, 从而提高 了流媒体服务的质量。 实施例三
本发明实施例提供了一种流媒体处理设备 30, 参见图 7, 包括如下单元: 获取单元 31, 用于获取用户终端当前带宽;
转码控制单元 32,用于根据所述用户终端当前带宽以及预存储码流的码率判断是否 转码;
业务处理单元 33, 用于当所述转码控制单元 32判断进行转码后, 接收通过选择预存 储码流中码率高于所述用户终端当前带宽的码流进行转码后得到的与用户终端当前带 宽匹配的码流, 并输出给所述用户终端。
当所述转码控制单元 32判断不进行转码时,选择所述预存储码流中小于等于所述用 户终端带宽且码率最高的码流输出给所述用户终端。
转码控制单元判断是否转码可以根据以下几种情况来判断: 当预存储的码流有多个, 且所述用户终端当前带宽达到一定的阈值后, 判断需要进 行转码, 否则, 不进行转码; 其中, 所述阈值的设置为固定的, 或者通过配置参数进行 调整, 配置参数的形式以及具体算法可以根据实际情况进行调整, 在此并不限定; 或者,
当预存储的码流只有一个, 且码率大于用户终端当前带宽时, 判断需要进行转码; 当预存储的码流只有一个, 且码率小于或等于用户终端当前带宽时, 判断不需要进行转 码;
或者,
根据所述用户终端带宽和所述预存储的码流并结合流媒体处理资源、所述用户终端 性能参数、用户网络性能参数中的一个或多个来判断是否进行转码, 例如当流媒体处理 资源比较少时, 可以将阈值调整得大一点或者不进行转码; 同理, 当丢包率较大时, 可 以将阈值调整得大一点或不进行转码, 当丢包率较小, 可将阈值调整得小一点。
本发明实施例中, 处理转码的设备或单元(如转码单元) 以及预存储码流的设备或 单元(如码流存储单元)可以与本发明实施例在同一个设备, 也可以通过其他设备来实 现。参见图 8,为转码单元与本发明实施例设备不在同一个设备的结构示意图;参见图 9, 为本发明实施例设备也包括转码单元的示意图; 同理, 码流存储单元也可以进行类似设 备, 如图 8、 图 9所示, 码流存储单元与本发明实施例设备均不在同一个设备, 在实际应 用中, 本发明实施例中也可以包括码流存储单元。
上述各单元可以通过各种硬件处理单元来实现,如通过处理芯片或专用硬件处理芯 片及其他具有类似功能的硬件电路等,且其中一个功能单元可以用一种或多种硬件处理 单元实现, 同时, 一个硬件处理单元也可以实现一个或多个功能单元, 在此并不限定。 各单元之间的具体操作流程也可以参考实施例二的相关步骤, 在此不再赘述。
具体的, 本发明实施例流媒体处理设备可以为流媒体服务器, 媒体网关, 媒体资源 服务器等。
本发明实施例通过根据用户终端当前带宽以及预存储码流判断是否转码, 如果是, 选择预存储码流中码率高于用户终端当前带宽的码流进行转码,输出与用户终端当前带 宽匹配的码流, 可以使用户终端能够有效地利用带宽获取较高质量的流媒体, 从而提高 了流媒体服务的质量。 实施例四 本发明实施例提供了一种流媒体处理系统 40, 参见图 10, 包括: 获取单元 41, 用于获取用户终端当前带宽;
码流存储单元 42, 用于存储流媒体码流;
转码控制单元 43,用于根据所述用户终端当前带宽以及所述码流存储单元预存储码 流的码率, 判断是否需要转码;
转码单元 44, 用于当所述转码判断单元判断需要转码时, 选择所述码流存储单元预 存储码流中码率高于所述用户终端当前带宽的码流进行转码,输出与所述用户终端当前 带宽匹配的码流;
业务处理单元 45, 用于将所述转码单元输出的码流输出给所述用户终端。
所述业务处理单元还用于, 当所述转码控制单元判断不需要转码时, 选择所述预存 储码流中小于等于所述用户终端带宽且码率最高的码流输出给所述用户终端。
所述转码控制单元根据所述用户终端当前带宽以及所述码流存储单元预存储码流 的码率, 判断是否需要转码的步骤包括:
当预存储的码流有多个, 且所述用户终端当前带宽达到一定的阈值后, 判断需要进 行转码, 否则, 不进行转码; 其中, 所述阈值的设置为固定的, 或者通过配置参数进行 调整;
或者,
当预存储的码流只有一个, 且码率大于用户终端当前带宽时, 判断需要进行转码; 当预存储的码流只有一个, 且码率小于或等于用户终端当前带宽时, 判断不需要进行转 码;
或者,
根据所述用户终端带宽和所述预存储的码流并结合流媒体处理资源、所述用户终端 性能参数、 用户网络性能参数中的一个或多个来判断是否进行转码。
上述各单元可以通过各种硬件处理单元来实现,如通过处理芯片或专用硬件处理芯 片及其他具有类似功能的硬件电路等,且其中一个功能单元可以用一种或多种硬件处理 单元实现, 同时, 一个硬件处理单元也可以实现一个或多个功能单元, 在此并不限定。 各单元之间的具体操作流程也可以参考实施例二的相关步骤, 在此不再赘述。
参见图 11, 为本发明实施例给出的一个上述各单元通过不同设备实现的一个具体应 用示意图: 如图 11所示,本发明实施例中一种流媒体处理系统包括流媒体服务器 51、转码器 52、 码流存储服务器 53 ;
其中, 流媒体服务器 51包括获取单元 41, 转码控制单元 43以及业务处理单元 45 ; 转 码器包括转码单元 44, 码流存储服务器 53包括码流存储单元 42;
参见图 12, 为基于图 11流媒体系统进行流媒体处理的方法流程示意图, 包括如下步 骤:
5701、 流媒体服务器 51获取用户终端当前带宽;
具体的, 可以通过获取单元 41来获取用户终端当前带宽;
5702、流媒体服务器 51根据用户终端当前带宽以及预存储码流的码率, 判断是否需 要转码; 如果是, 执行步骤 S703、 S704; 如果否, 执行步骤 S705 ;
具体的, 可以通过转码控制单元来判断是否转码; 其转码判断条件可以参考相关实 施例中的判断条件, 在此不再赘述;
5703、 如果是, 则转码器 52进行转码;
具体的, 转码器 52可以通过转码单元来实现转码, 通过选择码流存储服务器 53中预 存储码流中码率高于用户终端当前带宽的码流进行转码转码,输出与用户终端当前带宽 匹配的码流; 其中, 码流存储服务器 53包括码流存储单元 42 ;
5704、 流媒体服务器 51接收转码器 52输出的码流, 并将其输出给用户终端; 具体的, 流媒体服务器可以通过业务处理单元接收转码器输出的码流, 然后将其进 行业务处理后输出给用户终端;
S705、 如果否, 则选择码流存储服务器 53中选择预存储码流中小于等于用户终端带 宽且码率最高的码流输出给用户终端;
需要说明的是, 上述实施例只是一种具体的实现形式, 在实际应用中, 上述流媒体 服务器也可以是媒体网关, 媒体资源服务器等设备; 上述转码器或码流存储服务器可以 是独立的, 也可以是媒体网关、 流媒体服务器等设备的一个功能模块, 其具体实现形式 并不限定。
本发明实施例通过根据用户终端当前带宽以及预存储码流判断是否转码, 如果是, 选择预存储码流中码率高于用户终端当前带宽的码流进行转码,输出与用户终端当前带 宽匹配的码流, 可以使用户终端能够有效地利用带宽获取较高质量的流媒体, 从而提高 了流媒体服务的质量。 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通 过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质 中, 该程序在执行时, 可包括如上述各方法的实施例的流程。 其中, 所述的存储介质可 为磁碟、 光盘、 只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM) 等。
上列较佳实施例, 对本发明的目的、 技术方案和优点进行了进一歩详细说明, 所应 理解的是, 以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本发明 的精神和原则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的保护范 围之内。

Claims

权利要求
1、 一种流媒体处理方法, 其特征在于, 包括如下步骤:
根据用户终端当前带宽以及预存储码流的码率, 判断是否需要转码;
如果是, 选择所述预存储码流中码率高于所述终端用户当前带宽的码流进行转码, 输出与所述用户终端当前带宽匹配的码流给所述用户终端。
2、 如权利要求 1所述的流媒体处理方法, 其特征在于:
如果否,选择所述预存储码流中小于等于所述用户终端带宽且码率最高的码流输出 给所述用户终端。
3、 如权利要求 1所述的流媒体处理方法, 其特征在于, 所述根据用户终端当前带宽 以及预存储码流的码率, 判断是否需要转码包括:
当预存储的码流有多个, 且所述用户终端当前带宽达到一定的阈值后, 判断需要进 行转码, 否则, 不进行转码; 其中, 所述阔值的设置为固定的, 或者通过配置参数进行 调整;
或者,
当预存储的码流只有一个, 且码率大于用户终端当前带宽时, 判断需要进行转码; 当预存储的码流只有一个, 且码率小于或等于用户终端当前带宽时, 判断不需要进行转 码;
或者,
当预存储的码流一个或多个时, 结合流媒体处理资源、 所述用户终端性能参数、 用 户网络性能参数中的一个或多个来判断是否进行转码。
4、 如权利要求 1所述的流媒体处理方法, 其特征在于, 所述根据所述预存储码流进 行转码, 输出与所述用户终端当前带宽匹配的码流给所述用户终端还包括:
根据所述预存储码流中码率高于所述终端用户当前带宽的码流进行转码,输出与所 述用户终端当前带宽匹配的码流给所述用户终端。
5、 一种流媒体处理设备, 其特征在于, 包括:
获取单元, 用于获取用户终端当前带宽;
转码控制单元,用于根据所述用户终端当前带宽以及预存储码流的码率判断是否转 业务处理单元, 用于当所述转码控制单元判断进行转码后, 接收通过选择所述预存 储码流中码率高于所述用户终端当前带宽的码流进行转码后得到的与用户终端当前带 宽匹配的码流, 并输出给所述用户终端。
6、 如权利要求 5所述的流媒体处理设备, 其特征在于, 还包括:
当所述转码控制单元判断不进行转码时,选择所述预存储码流中小于等于所述用户 终端带宽且码率最高的码流输出给所述用户终端。
7、 如权利要求 5所述的流媒体处理设备, 其特征在于, 所述转码控制单元根据所述 用户终端当前带宽以及预存储码流的码率判断是否转码包括:
当预存储的码流有多个, 且所述用户终端当前带宽达到一定的阈值后, 判断需要进 行转码, 否则, 不进行转码; 其中, 所述阈值的设置为固定的, 或者通过配置参数进行 调整;
或者,
当预存储的码流只有一个, 且码率大于用户终端当前带宽时, 判断需要进行转码; 当预存储的码流只有一个, 且码率小于或等于用户终端当前带宽时, 判断不需要进行转 码;
或者,
根据所述用户终端带宽和所述预存储的码流并结合流媒体处理资源、所述用户终端 性能参数、 用户网络性能参数中的一个或多个来判断是否进行转码。
8、 一种流媒体处理系统, 其特征在于, 包括:
获取单元, 用于获取用户终端当前带宽;
码流存储单元, 用于存储流媒体码流;
转码控制单元,用于根据所述用户终端当前带宽以及所述码流存储单元预存储码流 的码率, 判断是否需要转码;
转码单元, 用于当所述转码判断单元判断需要转码时, 选择所述码流存储单元预存 储码流中码率高于所述用户终端当前带宽的码流进行转码,输出与所述用户终端当前带 宽匹配的码流;
业务处理单元, 用于将所述转码单元输出的码流输出给所述用户终端。
9、 如权利要求 8所述的流媒体系统, 其特征在于:
所述业务处理单元还用于, 当所述转码控制单元判断不需要转码时, 选择所述预存 储码流中小于等于所述用户终端带宽且码率最高的码流输出给所述用户终端。
10、 如权利要求 8所述的流媒体系统, 其特征在于- 所述转码控制单元根据所述用户终端当前带宽以及所述码流存储单元预存储码流 的码率, 判断是否需要转码的步骤包括:
当预存储的码流有多个, 且所述用户终端当前带宽达到一定的阈值后, 判断需要进 行转码, 否则, 不进行转码; 其中, 所述阈值的设置为固定的, 或者通过配置参数进行 调整;
或者,
当预存储的码流只有一个, 且码率大于用户终端当前带宽时, 判断需要进行转码; 当预存储的码流只有一个, 且码率小于或等于用户终端当前带宽时, 判断不需要进行转 码;
或者,
根据所述用户终端带宽和所述预存储的码流并结合流媒体处理资源、所述用户终端 性能参数、 用户网络性能参数中的一个或多个来判断是否进行转码。
PCT/CN2010/079545 2009-12-31 2010-12-08 媒体处理方法、设备和系统 WO2011079694A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP10840483.1A EP2437455B1 (en) 2009-12-31 2010-12-08 Media processing method, device and system
US13/340,230 US9143576B2 (en) 2009-12-31 2011-12-29 Media processing method, device and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200910238891.3 2009-12-31
CN200910238891.3A CN102118357B (zh) 2009-12-31 2009-12-31 一种流媒体处理方法、设备和系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/340,230 Continuation US9143576B2 (en) 2009-12-31 2011-12-29 Media processing method, device and system

Publications (1)

Publication Number Publication Date
WO2011079694A1 true WO2011079694A1 (zh) 2011-07-07

Family

ID=44216950

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2010/079545 WO2011079694A1 (zh) 2009-12-31 2010-12-08 媒体处理方法、设备和系统

Country Status (4)

Country Link
US (1) US9143576B2 (zh)
EP (1) EP2437455B1 (zh)
CN (1) CN102118357B (zh)
WO (1) WO2011079694A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013139683A1 (en) * 2012-03-19 2013-09-26 Nokia Siemens Networks Oy Storage and processing savings when adapting video bit rate to link speed

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013071517A1 (zh) * 2011-11-18 2013-05-23 华为技术有限公司 媒体流的发送方法及服务器
US9118943B2 (en) * 2011-12-01 2015-08-25 Verizon Patent And Licensing Inc. Video on demand processing
CN102843351B (zh) * 2012-03-31 2016-01-27 华为技术有限公司 一种流媒体业务的处理方法、流媒体服务器及系统
US9680689B2 (en) * 2013-02-14 2017-06-13 Comcast Cable Communications, Llc Fragmenting media content
CN103561283A (zh) * 2013-10-30 2014-02-05 乐视致新电子科技(天津)有限公司 一种智能电视的码率切换方法及装置
CN104717555B (zh) 2013-12-11 2018-01-02 华为技术有限公司 视频码流的获取方法及装置
CN105814899B (zh) * 2013-12-16 2019-08-13 三星电子株式会社 用于分享内容的服务器装置、客户机装置以及用于分享内容的方法
CN104853224B (zh) * 2015-05-05 2018-02-06 无锡天脉聚源传媒科技有限公司 一种视频数据处理方法及装置
CN105611321B (zh) * 2015-12-30 2019-06-21 北京奇艺世纪科技有限公司 一种视频码率推送方法和装置
CN105847902A (zh) * 2016-04-25 2016-08-10 乐视控股(北京)有限公司 一种码流数据调度方法及服务器
CN107547909B (zh) * 2016-06-24 2020-05-29 腾讯科技(深圳)有限公司 媒体文件在线播放控制方法、装置和系统
CN107295395A (zh) * 2017-06-27 2017-10-24 武汉斗鱼网络科技有限公司 码率自适应调节方法、装置及电子设备
CN111669627B (zh) * 2020-06-30 2022-02-15 广州市百果园信息技术有限公司 一种视频码率的确定方法、装置、服务器和存储介质
CN115484505A (zh) * 2021-05-31 2022-12-16 华为技术有限公司 视频传输方法、装置、设备、系统以及计算机存储介质
CN116781951B (zh) * 2023-08-24 2023-12-05 湖南快乐阳光互动娱乐传媒有限公司 一种清晰度调节方法、装置和服务器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060168323A1 (en) * 2004-11-18 2006-07-27 Samsung Electronics Co.; Ltd Transcoding apparatus and method for distributed multimedia transmission network provided with transcoder
US20060198392A1 (en) * 2004-12-13 2006-09-07 Samsung Electronics Co., Ltd. Transcoding apparatus and method for seamless multimedia content transmission
CN101068236A (zh) * 2007-04-13 2007-11-07 华为技术有限公司 流媒体码率控制方法、系统和设备
CN101511010A (zh) * 2009-03-27 2009-08-19 北京中星微电子有限公司 一种媒体流发送方法及装置
CN101640627A (zh) * 2008-07-29 2010-02-03 优必达科技有限公司 多媒体数据串流传输的系统及其方法
CN101778104A (zh) * 2009-12-29 2010-07-14 常州中流电子科技有限公司 一种实现自适应带宽播放流媒体的系统及其方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302490B1 (en) 2000-05-03 2007-11-27 Microsoft Corporation Media file format to support switching between multiple timeline-altered media streams
US20020144276A1 (en) * 2001-03-30 2002-10-03 Jim Radford Method for streamed data delivery over a communications network
US20030046704A1 (en) * 2001-09-05 2003-03-06 Indra Laksono Method and apparatus for pay-per-quality of service for bandwidth consumption in a video system
KR100689489B1 (ko) * 2004-12-07 2007-03-02 삼성전자주식회사 연속적인 비디오 디스플레이를 위한 트랜스코딩 방법
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
US7743161B2 (en) 2006-10-10 2010-06-22 Ortiva Wireless, Inc. Digital content buffer for adaptive streaming
US20080205389A1 (en) * 2007-02-26 2008-08-28 Microsoft Corporation Selection of transrate and transcode processes by host computer
CN101242359B (zh) * 2008-02-27 2010-08-18 华为技术有限公司 动态码率分配方法、分组域流媒体服务器
CN101272479B (zh) 2008-03-31 2011-11-30 华为软件技术有限公司 资源调度装置及方法,点播节目的方法及系统和机顶盒

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060168323A1 (en) * 2004-11-18 2006-07-27 Samsung Electronics Co.; Ltd Transcoding apparatus and method for distributed multimedia transmission network provided with transcoder
US20060198392A1 (en) * 2004-12-13 2006-09-07 Samsung Electronics Co., Ltd. Transcoding apparatus and method for seamless multimedia content transmission
CN101068236A (zh) * 2007-04-13 2007-11-07 华为技术有限公司 流媒体码率控制方法、系统和设备
CN101640627A (zh) * 2008-07-29 2010-02-03 优必达科技有限公司 多媒体数据串流传输的系统及其方法
CN101511010A (zh) * 2009-03-27 2009-08-19 北京中星微电子有限公司 一种媒体流发送方法及装置
CN101778104A (zh) * 2009-12-29 2010-07-14 常州中流电子科技有限公司 一种实现自适应带宽播放流媒体的系统及其方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2437455A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013139683A1 (en) * 2012-03-19 2013-09-26 Nokia Siemens Networks Oy Storage and processing savings when adapting video bit rate to link speed
KR20140134716A (ko) * 2012-03-19 2014-11-24 노키아 솔루션스 앤드 네트웍스 오와이 비디오 비트 레이트를 링크 스피드에 적용하는 경우의 스토리지 및 프로세싱 절감
KR101654333B1 (ko) * 2012-03-19 2016-09-05 노키아 솔루션스 앤드 네트웍스 오와이 비디오 비트 레이트를 링크 스피드에 적용하는 경우의 스토리지 및 프로세싱 절감

Also Published As

Publication number Publication date
CN102118357A (zh) 2011-07-06
EP2437455B1 (en) 2019-03-13
US9143576B2 (en) 2015-09-22
EP2437455A1 (en) 2012-04-04
EP2437455A4 (en) 2012-07-04
CN102118357B (zh) 2014-12-17
US20120099672A1 (en) 2012-04-26

Similar Documents

Publication Publication Date Title
WO2011079694A1 (zh) 媒体处理方法、设备和系统
US11038944B2 (en) Client/server signaling commands for dash
US8700794B2 (en) Channel adaptive video transmission method, apparatus using the same, and system providing the same
KR101993167B1 (ko) 정체로 유도된 비디오 스케일링
TWI552587B (zh) 體驗感知之多媒體自適串流的品質
US9819717B2 (en) Video adaptation for content-aware wireless streaming
EP2717536B1 (en) Processing method, distribution server, client and system for streaming media
JP4927857B2 (ja) パケット交換無線通信システムにおけるリアルタイム情報の適応符号化のための方法およびシステム
US20160050246A1 (en) Quality-aware rate adaptation techniques for dash streaming
WO2008125029A1 (fr) Procédé, système et dispositif permettant de contrôler le débit de codage du flux multimédia
WO2009032214A2 (en) Network and device aware video scaling system, method, software, and device
JPWO2011049179A1 (ja) 配信システム、ゲートウェイ、配信方法及びプログラム
KR101907724B1 (ko) 네트워크 상태에 따른 신호 프로세싱 모듈 선택 기법
AU2015296746A1 (en) System and method for automatic encoder adjustment based on transport data
US9549330B2 (en) Service quality measurement and indication for multicast broadcast in a wireless network
KR101231265B1 (ko) 이종 무선망에서 스트리밍 서비스 제공 방법 및 시스템
Ma et al. Access point centric scheduling for dash streaming in multirate 802.11 wireless network
KR101351461B1 (ko) 동영상 전송률 제어 시스템 및 방법, 그리고 동영상 변환 방법
Park et al. System architecture for IPTV seamless service in mobility
WO2014087765A1 (ja) 端末および通信システム
WO2014087830A1 (ja) パケット転送制御システム及び方法
JP2018037937A (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: 10840483

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010840483

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE