I tried more than one video,I change the wowza vm machine with v4.2, I used another ffmpeg release, I use more than one html5 player. I tried everything, but I couldn't make wowza mpeg dash work on html5 players
the strange thing if I remove all sources from smil then players will run this video, but if I add another source for slim the players could not able to change between these two sources and the 404 error appear.
The reason that the first set of files doesn't work is because they are encoded as fragmented mp4 files which is a format that Wowza software doesn't support. You could probably pass these files through ffmpeg to repackage them into regular mp4 files. All of the info is there so they wouldn't need to be re-encoded so the process would be quick.
For the second set of files, it looks like from your description that there is keyframe alignment problem between the files. For switching to occur smoothly, each rendition must be key frame aligned meaning that a key frame that occurs at a specific timecode in one file must also occur at the same timecode in all of the other files. The default option with Dash is to request video segments are created and named based on the keyframe timecodes. If the player switches to a rendition that doesn't have a specific segment that is requested (because its key frame timing is off) then it will fail with a 404 response.
Wowza server builds the HTTP manifests dynamically from the moov atom data in the media files. In the case with an Adaptive bitrate manifest, it only reads the data from the first file and expects that the data will be identical in the other files. The default file plays fine because that was the one that the data came from and individual files play fine because fresh data is extracted from the file when each file is requested.
Id based segmentation (where the segments contain multiple key frames and are numbered sequentially, such as is used with HLS or HDS) is less susceptible to alignment problems however, you may notice the stream jumping forward or backwards if it switches to a different rendition and the timecodes in the new chunk don't align with the old chunk. Mpeg Dash can be configured to use ID based segmentation by changing the manifest url. See
Delivery Formats for details.
You can get ffmpeg to do proper aligned encoding by disabling scene detection or doing two pass encoding and using the same first pass log for each second pass.