🙌 Helped with my video? Consider supporting my work! Buy me a coffee ☕ and help fuel more educational content on video compression, FFmpeg, Java, Spring Boot, and much more. Your support means the world to me!
💖 Support Me on Buy Me a Coffee: https://www.buymeacoffee.com/monirzaman
MPEG-DASH is a streaming protocol that is used to deliver audio and video content over the internet. It works by dividing the video content into small segments, called "chunks," and storing them on a web server. The video player on the user's device then requests and downloads these chunks as needed, and plays them back in sequence to create a continuous stream.
Imagine MPEG-DASH as a virtual buffet where you can choose from a variety of dishes to create your perfect meal. Just like how you pick and choose from different dishes at the buffet, the video player selects and downloads the video chunks that make up the stream. And just like how the buffet continuously refills and adds new dishes, the video player can request and download new chunks as needed to keep the stream going.
The key feature of MPEG-DASH streaming is its ability to adapt to changing network conditions in real-time. This is achieved through the use of Adaptive Bitrate (ABR) technology, which encodes the video content at multiple bitrates and resolutions and allows the video player to select the appropriate version based on the available bandwidth and other factors.
For example, if the user has a low bandwidth connection, the video player will select a lower bitrate version of the video, which will result in a lower quality but also a smaller file size and faster download time. If the user has a high bandwidth connection, the video player will select a higher bitrate version of the video, which will result in a higher quality but also a larger file size and slower download time.
In this video, I tried to make viewers understand the basic workflow of Dynamic Adaptive Streaming over HTTP also known as DASH. If you are an absolute beginner in video streaming and wanna start somewhere, this video is for you.
There are other protocols for video streaming including HTTP live streaming or HLS, RTSP, RTMP, cmaf, etc, MPEG DASH is the most enriched, open-source, and ISO standard in video streaming. It's an adaptive bitrate streaming protocol over HTTP, which means the video quality will adjust based on the internet speed, as we see on youtube, and it's over HTTP, so no farewell disturbance
Watching the video, you will understand how MPEG DASH-based streaming works in about 5 minutes including what it is and why we are supposed to use this protocol in our applications. To made easy these things, I used 1 mp4 video with FFmpeg on the apache server on my localhost.
FFmpeg is used to convert the video according to the MPEG DASH protocol standard defined by ISO(ISO/IEC 23009-1:2019). the following command is used to convert/segment the video to MPPEG DASH compatible format and to generate the .mpd manifest playlist file.
ffmpeg -re -i input.mp4 -map 0 -map 0 -c:a aac -c:v libx264 -b:v:0 800k -b:v:1 300k -s:v:1 320x170 -profile:v:1 baseline -profile:v:0 main -bf 1 -keyint_min 120 -g 120 -sc_threshold 0 -b_strategy 0 -ar:a:1 22050 -use_timeline 1 -use_template 1 -window_size 5 -adaptation_sets "id=0,streams=v id=1,streams=a" -f dash output_manifest.mpd
Then the generated files are placed on the apache server and accessed the manifest file(.mpd) from the browser to play the video. The magic of DASH is that the MPD master playlist is basically an XML file.
To learn more about the protocol, please follow the link below: https://www.iso.org/standard/79329.html
DASH videos are typically played by MSE players like dash.js for web and Exo player or shaka player in android. It's not supported in HTML by default. It's the state of the art protocol all big tech companies are adopting it day by day.
I am interested to make more videos on live streaming, let me know in the comment the topic or area I should focus on. thanks for taking the time to watch my videos.
MPEG DASH Explained: • MPEG-DASH Streaming Explained for Beg...
HLS vs Dash comparison: • MPEG DASH vs HLS Streaming | Streamin...
Смотрите видео MPEG-DASH Streaming Explained for Beginners онлайн без регистрации, длительностью часов минут секунд в хорошем качестве. Это видео добавил пользователь Learn with Monir 19 Август 2021, не забудьте поделиться им ссылкой с друзьями и знакомыми, на нашем сайте его посмотрели 22,502 раз и оно понравилось 246 людям.