Diagnose: destination cannot decode the codec inside an accepted container
Dynamic diagnostic state for this problem. Choose a file to run the diagnostic tree; the page rerenders with ranked causes and recommended fixes.
Direct answer
A container can hold many codecs. The destination accepts the container but cannot decode the inner video or audio stream; the file plays locally with the right decoder and fails on the destination. Re-encode the original with a widely decoded codec (H.264 video, AAC audio) and re-upload.
Run the diagnostic tree
The tree combines this problem's static cause ranking with the values the diagnostic engine reads from your file.