![]() Streaming platforms such as Mux allow developers and businesses to integrate live video into their app while reducing their time to market and the technical/financial hurdles traditionally associated with developing a live video.įor our streaming app, we are going to use Mux and Stream for integrating live video and chat into our application.īefore we begin, let's outline some of the goals for our app: Luckily, some companies and services excel at doing just that. On top of the technical complexities involved in creating and maintaining an end-to-end pipeline, there is the added cost and time to develop and scale your pipeline and maintain servers in different regions to achieve low latency playback. If you can't already tell, building an end-to-end streaming platform is no easy task. It is not uncommon for streams to be distributed via a content delivery network or CDN to reduce latency and load to the streaming server. These are two of the most widely used and most compatible delivery methods for live streaming. This process is known as "transmuxing".įinally, the stream is sent to the end-user using a method such as MPEG-DASH or Apple's HLS protocol. In most cases, the stream is repackaged into various forms of quality and bitrates to better serve users of other internet connections. ![]() Streams created by these protocols are then sent to a media server where they are transcoded, resized, and split into different resolutions and formats for delivery to the end-user. Other protocols can be used, such as MPEG-DASH or Secure Reliable Transport (SRT). These days, the most popular streaming protocol is RTMP. ![]() Next, the encoded video is distributed to media servers using a streaming protocol. This can vary depending on the user's needs, but H.264 is the preferred video encoding option. To reduce the content's size and make it more accessible, it is encoded and compressed to an open codec such as H.264, VP8. The raw input can be massive and not suitable for transfer over the internet. Basic Streaming Pipelineīefore you can enjoy the latest version of your favorite TV show or watch your favorite sport as it happens, there are a few steps a raw video must take before it reaches your device.Īt the start, raw video is captured from a camera or digital recorder. However, the stream is then encoded, compressed, and repacked to suit the end device better. It is still widely used by streaming servers to ingest raw video from a source at the beginning of the live stream cycle. Today, RTMP is not as dominant as it used to be. As the years passed, updates to the protocol included adding transport layer security (TLS) support (RTMPS) and a proprietary form of encryption developed and in house by Adobe (RTMPE). By default, it uses port 1935 for communication. The protocol sits on top of the internet's Transmission Control Protocol, commonly referred to as TCP. Real-Time Messaging Protocol (RTMP) specification If you are curious to learn more about RTMP, the full specification can be found on Adobe's website at the following URL: Its ubiquity among web browsers helped it become the gold standard for streaming servers, but with the rise of new frontend protocols like HTTPS Live Streaming (HLS), RTMP's client-side popularity started to fade. Eventually, Adobe decided to open the RTMP protocol, which gave it new life. This early RTMP version had a very low latency, usually 3 - 5 seconds from server to client.Īs the years progressed, Flash's dominance started to fade, and new devices such as mobile, smart TVs, etc., started gaining popularity. ![]() The protocol was proprietary and intended for streaming video and audio data between Flash server and multiple Flash clients through the internet in the early days. The protocol used for live streaming, Real-Time Messaging Protocol or RTMP, was developed by Macromedia a company that was later purchased by Adobe in late 2005. Live streaming can be traced back to the late 1990s and early 2000s. Raw videos are converted, compressed, and transcoded before reaching your computer. Before we start writing code, it's essential to understand some of the higher-level concepts behind live streaming functions. It involves a lot of different moving pieces to implement correctly. For developers, this adds more overhead in terms of time and cost.įor this article, we will briefly look at technologies powering live video and build a small streaming application in Flutter □. For instance, most popular streaming platforms also include live chats in addition to live videos. If you think about modern live streaming, there are many different details to consider when building your application. Apps use live streaming and live video to help connect users and add another level of interactivity to their platform. Livestreams are everywhere these days, from popular gaming sites such as Twitch to more casual everyday apps like Instagram.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |