There is three points introduce:
- dash overriew
- server slice video by mp4 box and ffmpeg
- how to use dash at native or web
Dynamic Adaptive Streaming over HTTP (DASH), also known as MPEG-DASH, is an adaptive bitrate streaming technique that enables high quality streaming of media content over the Internet delivered from conventional HTTP web servers. Similar to Apple's HTTP Live Streaming (HLS) solution
form : https://en.wikipedia.org/wiki/Dynamic_Adaptive_Streaming_over_HTTP
servlice by mp4Box
The multimedia packager available in GPAC is called MP4Box.
It can be used for performing many manipulations on multimedia files like AVI, MPG, TS, but mostly on ISO media files (e.g. MP4, 3GP). A complete documentation is available
official website : https://gpac.wp.imt.fr/mp4box/
how to slice video by mp4Box
fitstly installmp4Box
//slice
mp4Box -dash 10000 -out dash.mp4 {fileName.mp4} {fileName.mp4}#audio {fileName.mp4}#video
#video only uses the first video track from the source file
#audio only uses the first video track from the source file
-out filename specifies output file name for MPD. May use relative path. All segments will be produced in the same directory as the MPD.
-dash Duration : enables DASH segmentation of input files with the given segment duration. For onDemand profile, where each media presentation is a single segment, this option sets the duration of a subsegment.
If you use in native refer google : exoPlayer what the youTuBe play approach, if web , can use dash.js
Notice
when use exoPlayer , the video slice need according the mpdFile format , you need split video and audio .
Thanks for reading .