We are processing MKV-files exported from Milestone. We have seen that MKV-files from Milestone contain two streams, one H.264 and one MJPEG. The MJPEG-stream in the MKV-files we have processed so far has always been empty. Now we got a MKV-file with 24 h video, but it was split up into 14 h H.264 and 10 h MJPEG. How can this happen? Has the camera been delivering MJPEG for 10 h then reconfigured to H.264?
After doing my own tests I got the following results:
- Exporting video from a camera recording in H.264 - MKV with two streams, where stream 0 is H.264 and stream 1 is MJPEG. Stream 0 contain all data. Stream 1 is empty.
- Exporting video from a camera recording in H.264 then reconfigured to record in MJPEG - MKV with two streams where stream 0 is H.264 and stream 1 is MJPEG. Stream 0 contain the part recorded in H.264 and stream 1 the part recorded in MJPEG. Timestamps seems to be correct, however VLC cannot handle this scenario and crashed when stream 0 ended.
- Exporting video from a camera recording in MJPEG - MKV with one MJPEG stream containing all data.
All seems to be in order. However, I would prefer not getting an empty MJPEG stream in the first scenario and getting two separate MKV-files in the second scenario.
You found answers yourself, thank you for sharing the observations. I will send a note to Milestone Product Management to consider future improvements.
Thank you Bo! ![]()