MP4 names the container; the video and audio inside it can use different codecs and settings.
Why this happens
Think of a media container as the package holding video, audio, subtitles and descriptive information together. Two files can share the same extension without using the same video or audio format. A player may understand the package yet lack support for one of the streams inside it. The same distinction applies when a streaming source is described using a familiar file type. Changing the visible extension does not convert the encoded media or add a decoder.
A useful comparison names both levels. Record the container alongside the video codec and audio codec if the player displays them. Keep the device and application version with that information because support can differ between platforms and builds. If you are comparing a native app with a browser, remember that they can have different playback capabilities on the same computer. Avoid downloading an unknown converter or renaming a private source URL as a first response. A supported source version or the application’s own documented compatibility route is a clearer next step.
A useful way to work through it
Read the codec information rather than relying only on the file extension.
Compare container, video and audio details for one working and one failing item.
Keep native-app and browser results separate when reporting compatibility.
