Live Video Broadcasting FAQ
Total Page:16
File Type:pdf, Size:1020Kb
FAQ Product Introduction Live Video Broadcasting FAQ Product Introduction ©2013-2018 Tencent Cloud. All rights reserved. Page 1 of 39 FAQ Product Introduction Copyright Notice ©2013-2018 Tencent Cloud. All rights reserved. Copyright in this document is exclusively owned by Tencent Cloud. You must not reproduce, modify, copy or distribute in any way, in whole or in part, the contents of this document without Tencent Cloud's the prior written consent. Trademark Notice All trademarks associated with Tencent Cloud and its services are owned by Tencent Cloud Computing (Beijing) Company Limited and its affiliated companies. Trademarks of third parties referred to in this document are owned by their respective proprietors. Service Statement This document is intended to provide users with general information about Tencent Cloud's products and services only and does not form part of Tencent Cloud's terms and conditions. Tencent Cloud's products or services are subject to change. Specific products and services and the standards applicable to them are exclusively provided for in Tencent Cloud's applicable terms and conditions. ©2013-2018 Tencent Cloud. All rights reserved. Page 2 of 39 FAQ Product Introduction Contents FAQ Basics of LVB Video Stutter Instant Broadcasting Reduce Latency Pushing Failure Watching LVB Failure Increase Definition Compatibility with Apple ATS Enable Joint Broadcasting Delete IDs of Channel Hosting Mode & LVB Code Access Mode ©2013-2018 Tencent Cloud. All rights reserved. Page 3 of 39 FAQ Product Introduction FAQ Basics of LVB Last updated:2018-07-24 16:09:24 1. What are Push, LVB and VOD? Push This refers to the process in which VJs push local video and audio sources to Tencent Video Cloud servers. It is also known as "RTMP Publish" in some cases. LVB LVB's video source is generated in real time, and only makes sense when someone pushes the LVB stream. Therefore, once the VJ stops broadcasting, the LVB URL will become invalid. Since the video is played in real time, no progress bar is displayed on the player during the LVB. VOD VOD's video source is a file on cloud, which can be played at any time as long as it has not been deleted by the provider (such as Youku Tudou, iQIYI and Tencent Video). Since the entire video file is stored on the server, a progress bar will be displayed during the playback. 2. What are the popular LVB protocols? Currently, there are three widely used LVB protocols: RTMP, FLV and HLS. RTMP The multi-purpose RTMP protocol can be used for both push and LVB. Its core concept is to break large video and audio frames into smaller fragments, and transmit small packets over the Internet. RTMP supports encryption, and thus provides a good privacy. However, the complicated fragmentation and reassembling bring about some unforeseeable stability issues to RTMP in case of a high-concurrency environment. FLV FLV protocol is mainly developed by Adobe Systems. It simply place header information to the large video and audio frame headers. This simplicity makes FLV a sophisticated format in terms of latency and high-concurrency performance. The only disadvantage of FLV is its limited supports on mobile browsers. However, it's suitable for LVB on mobile App. HLS HLS is a solution from Apple Inc. It splits videos into small segments, each 5-10 seconds, and manages them with an m3u8 index. Since the videos downloaded on clients are complete data files with a 5-10s duration, the video smoothness can be ensured, but this leads to a great latency (typically the latency of HLS is around 10-30 seconds). Compared with FLV, HLS provides a better support on iPhone and most Android browsers, thus is commonly used for sharing URLs via QQ and in WeChat's "Moments". ©2013-2018 Tencent Cloud. All rights reserved. Page 4 of 39 FAQ Product Introduction 3. What are the popular VOD protocols? Currently, there are three widely used VOD formats: MP4, HLS and FLV. MP4 MP4 is a classic format well supported on both mobile devices and PC browsers. (The default browser on iOS and most android devices support MP4. On PC it can be played in a FLASH widget). However, the complexity of MP4 video file structure makes it time-consuming to handle the file. Furthermore, the complexity of file index can cause a slow load when a long MP4 file (e.g. half an hour) is played online. HLS Launched by Apple Inc., HLS is well supported on mobile browsers. But on IE, the support for HLS depends on secondary development of FLASH. (You're recommended to use Tencent Video Cloud's FLASH player). Unlike MP4, HLS's compact m3u8 index structure allows a fast indexing, which makes it a good choice for VOD. FLV As a format launched by Adobe Systems, FLV currently is the most popular wrapper format on LVB platforms. On PC, it's well supported by FLASH. However, on mobile devices FLV is only supported by APPs which implement its player (or use this player). Most mobile browsers don't support FLV. Currently, Tencent Video Cloud uses FLV for LVB recording. 4. What are the popular push protocols? Even though RTMP is not commonly used in LVB, it is the leading format in push service, i.e. pushing data from VJs to the servers. Currently, RTMP is the main push protocol employed by all domestic video cloud services. Because the first feature supported by Tencent Video Cloud SDK is VJ Push, the SDK is also called RTMP SDK. 5. Which features and protocols does Tencent RTMP SDK support? Tencent Video Cloud RTMP SDK supports push, LVB and VOD. ©2013-2018 Tencent Cloud. All rights reserved. Page 5 of 39 FAQ Product Introduction Push - The SDK supports RTMP publish protocol, as well as powerful features such as hardware acceleration, beauty filter, bandwidth adaption and video resolution adjustment. LVB - The SDK supports FLV (recommended) and RTMP protocols, as well as instant broadcasting optimization, automatic delay control and highly adaptive hardware-decoding. VOD. The SDK supports streaming MP4\HLS\FLV on-demand. Please note that the old versions of SDK support only FLV VOD. ©2013-2018 Tencent Cloud. All rights reserved. Page 6 of 39 FAQ Product Introduction Video Stutter Last updated:2018-07-24 16:19:42 1. What can cause a stutter during LVB? Generally, there are three reasons for the stutter: Reason A - Low frame rate If the VJ uses a low-end phone, or there are CPU intensive applications running at the background, the frame rate of the video could be low. Typically, for an LVB to play smoothly, the frame rate of the video stream should be higher than 15 FPS. A frame rate lower than 10 FPS is too low, and can cause a stutter at all the viewer ends. Reason B - Upstream Clog When pushing, VJs' phones generate audio and video data constantly. If the upstream bandwidth of a phone is too low, the generated audio and video data could clog the phone network and fails to be pushed, causing the stutter at all the viewer ends. Even though domestic ISPs offer broadband packages with a downstream bandwidth as fast as 10 Mbps, 20 Mbps or even 100 Mbps, the upstream bandwidth is highly limited. In many small cities, the upstream bandwidth is limited to 512 Kbps (i.e. a maximum of 64 KB data can be uploaded per second). WiFi follows the IEEE 802.11 specification of carrier-sense multiple access and collision avoidance (CSMA/CA). To put it simply, a WiFi hot spot can communicate with only one phone at one time, and other phones must verify or query if communication is possible before initiating a connection to a hot spot. Therefore, the more people using a WiFi hot spot, the slower the connection is. Furthermore, WiFi signal decays greatly when passing through walls or obstacles, and most of the families seldom take the WiFi router position and the strength of WiFi signal across rooms into consideration during the design and decoration of their houses. Even the VJs themselves probably don't know how many walls are there between their routers and the rooms where they push video streams. ©2013-2018 Tencent Cloud. All rights reserved. Page 7 of 39 FAQ Product Introduction Reason C - Bad Downstream Connection That is, the viewer's downstream bandwidth is insufficient or the network condition is unstable. For example, suppose the bit rate of an LVB stream is 1 Mbps (i.e. every second 1 M bits of data need to be downloaded). If the bandwidth at viewer end is not fast enough, the viewer would experience serious stutter. Bad downstream connection only affects the viewers in the current network environment. 2. Status Monitor The RTMP SDK provides a status feedback mechanism, by which the RTMP SDK reports various status parameters every 1-2 seconds. You can register the TXLivePushListener listener to obtain these status parameters. Push Status Description The CPU utilization for current process and the overall CPU utilization for the NET_STATUS_CPU_USAGE machine Current video frame rate, that is, the number of frames produced by video encoder NET_STATUS_VIDEO_FPS per second NET_STATUS_NET_SPEED Current transmission speed (in Kbps) The output bit rate of the current video encoder, i.e., the number of video data bits NET_STATUS_VIDEO_BITRATE produced by the encoder per second (in Kbps) ©2013-2018 Tencent Cloud. All rights reserved. Page 8 of 39 FAQ Product Introduction Push Status Description The output bit rate of the current audio encoder, i.e., the number of audio data NET_STATUS_AUDIO_BITRATE bits produced by the encoder per second (in Kbps) Accumulated audio/video data size.