I'm creating an app that plays static mpeg-DASH files. I've been using MP4Box to create the DASH .mp4 and .mpd files. The MPD file contains a list of byte range offsets into the single .mp4 file. This works fine, but I've seen implementations where the ranges are individual files.
What I'm wondering is which is the "industry preferred" way of creating DASH files? Is it to have a single .mp4 file with offsets into the file, or to create individual .mp4 files for each segment?
If it's individuals, do each file have initialization content at the beginning, or is there only one init file, and the others are content?
Whether a single or multiple media segments is better practice for MPEG DASH depends on the use case.
Here is a situation where multiple media segments could be preferred: One of the content delivery optimizations that MPEG DASH supports is late binding. For example for content with multiple alternative audio tracks (different languages) only the audio language that the user has chosen is delivered. A single segment that contains all audio tracks may have worse HTTP cache efficiency compared to multiple segments (separate for video, and multiple audio tracks).
In the case of multiple segments, a single segment that contains all the initialization info (initialization segment) is recommended.