Which MP4 format to use to maximize readability on many platforms (e.g. MP4 H264+AAC unreadable on iPhone Safari)

Youpiiiii

New Member
Hello,
I have created a video with these settings:

Video: MPEG4 Video (H264) 864x550 30fps 1989kbps [V: Video Media Handler (h264 high L3.1, yuv420p, 864x550, 1989 kb/s)] Audio: AAC 48000Hz stereo 3kbps [A: Sound Media Handler [eng] (aac lc, 48000 Hz, stereo, 3 kb/s)]

This is readable everywhere (PC: Chrome, Firefox, Linux, ...), but sadly not on iPhone Safari.
Example of such a video: https://gget.it/io64/h264test13576.mp4

Question: which format should I use to maximize readability on all devices?

Thanks!


eAm7SIIv.png
 

koala

Active Member
This screenshot seems to be from an ancient version of OBS, not topic of this forum any more. Your mp4 seems standard and no apparent reason why it is played by some web browser and by some other not.
 

Youpiiiii

New Member
Thanks @koala for your answer. I found the reason:

By default, this OBS classic version (0.659b) saves the MP4 with audio as Stream #0:0 and THEN video as Stream #0:1: ffprobe gives:

Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 163 kb/s (default) Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709/bt709/iec61966-2-1), 864x624, 1973 kb/s, 30 fps, 30 tbr, 1k tbn, 60 tbc (default)

Do you know if this has changed in newer versions of OBS?

Or is the order still #0:0 audio / #0:1 video in newest versions of OBS Studio?


Note: if I rewrite the video with ffmpeg -i in.mp4 -vcodec copy -acodec copy out.mp4, then it becomes #0:0 VIDEO / #0:1 AUDIO, and it is readble in iPhone Safari...
 

Xsoulsin

Member
Answered in this post about old ver of OBS that you are using



 
Last edited:

koala

Active Member
Or is the order still #0:0 audio / #0:1 video in newest versions of OBS Studio?
Current versions of OBS studio create video as 0:0 and audio as 0:1:
Code:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2024-09-15 13-59-58.mp4':                    Metadata:                                                                             major_brand     : iso4
    minor_version   : 512
    compatible_brands: iso4isomobs1iso2avc1mp41
    creation_time   : 2024-09-15T11:59:58.000000Z
    encoder         : OBS Studio (30.2.3)
  Duration: 00:00:13.03, start: 0.000000, bitrate: 2139 kb/s
  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 2123 kb/s, 60 fps, 60 tbr, 15360 tbn (default)
      Metadata:
        creation_time   : 2024-09-15T11:59:58.000000Z
        handler_name    : OBS Video Handler
        vendor_id       : [0][0][0][0]
        encoder         : jim_nvenc
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 2 kb/s (default)
      Metadata:
        creation_time   : 2024-09-15T11:59:58.000000Z
        handler_name    : OBS Audio Handler
        vendor_id       : [0][0][0][0]
 

Youpiiiii

New Member
Thanks @koala.
Out of curiosity, do you know when this has changed in the code?

OBS Classic: 0:0=audio, 0:1=video
OBS Studio: 0:0=video, 0:1=audio

Just to learn about the history of this software, why has it been in 0:0=audio, 0:1=video, back in those days?
Was there a legacy reason for that?

(Maybe a OBS developer could answer if present?)
 
Top