Question / Help MP4 files created with OBS do not play in Quicktime-based applications (FCPX, Quicktime, etc)

cultureenhance

New Member
Why QuickTime Can't Play MP4?
Acting as a video container format, MP4 is the package and can contain video and audio components encoded with different types (codecs). However, QuickTime just supports a few video and audio codecs in MP4 format. That is, if the MP4 video contains QuickTime unsupported audio or video codecs, QuickTime will refuse to play this kind of MP4 files.

How to Play Any MP4 in QuickTime Successfully?
In order to solve MP4 won't play in QuickTime issue, we had better convert QuickTime unplayable MP4 to QuickTime supported format.

iDealshare VideoGo is just the ideal MP4 to QuickTime Converter which can convert all kinds of MP4 files encoded with whatever video or audio codecs to QuickTime more compatible MOV or MP4 on Mac or Windows.

This wonderful MP4 to QuickTime Converter also can convert other video formats to QuickTime format to successfully play AVI, WMV, MKV, VOB, FLV, MPG, RMVB, MOV, 3GP and etc in QuickTime. It even helps to convert audio to play FLAC, OGG, WMA, APE, DTS, AU, RA, 3GA and more in QuickTime.
 
Here's some more info that I probably should have included the other day

Here is the ffmpeg media info from the Quick Sync video out of OBS:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'local-recording-broken.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.9.101
Duration: 01:38:26.87, start: 0.019002, bitrate: 25164 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709/bt709/iec61966-2-1), 1920x1080 [SAR 1:1 DAR 16:9], 24996 kb/s, 30 fps, 30 tbr, 16k tbn, 60 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 157 kb/s (default)
Metadata:
handler_name : SoundHandler


And from the x264 video out of OBS using the transfer=bt709 custom x264 encoder setting:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'local-recording.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.9.101
Duration: 00:00:16.97, start: 0.008005, bitrate: 3491 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 3479 kb/s, 30 fps, 30 tbr, 16k tbn, 60 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 3kb/s (default)
Metadata:
handler_name : SoundHandler



Besides the obvious differences in bitrate, I notice these are different "yuv420p(tv, bt709/bt709/iec61966-2-1), 1920x1080 [SAR 1:1 DAR 16:9]" and "yuv420p(tv, bt709), 1920x1080".

I know ffmpeg has the colormatrix flag to convert colorspace, but it seems like the Quick Sync video is already on bt709, though the additional info might be what's throwing off QuickTime?

I did a test using
Code:
ffmpeg -i local-recording-broken.mp4 -pix_fmt yuv420p -c:v libx264 -vf scale=out_color_matrix=bt709 -an local-recording-fix.mp4

That gets it playing in QuickTime and able to edit in Davinci Resolve (what got me looking for a solution in the first place), though without the audio, I'll have to add that flag in as well. The problem with this though is that it re-encodes, which is something I would prefer not to do if there's a way to get OBS recording in a format that works from the start.
 

cultureenhance

New Member
MP4 is a final delivery lossy video format which is not suitable for editing in non-destructive video editing software like Final Cut Pro. Though Final Cut Pro 7 and Final Cut Pro X update to import MP4 video, it only support MP4 encoded with H.264. If the MP4 is encoded with other video codec, Final Cut Pro X/7 will still fail to import MP4.

In order to solve can't import MP4 to Final Cut Pro issue and successfully import various MP4 files to FCP or FCP X, a recommended solution is to convert MP4 to Final Cut Pro more compatible video format like Apple ProRes or DV.

Step by step guide at http://www.idealshare.net/imovie-fcp/mp4-final-cut-pro.html
 

Evil Dood

New Member
@8BitCerberus Thanks for the detailed update. Not having to re-encode is kinda the dream. The issue I'm running into is I want to use the Nvenc encoder, which doesn't let me set any flags.
 

cultureenhance

New Member
Acting as a video container format, MP4 is the package and can contain video and audio components encoded with different types (codecs). However, QuickTime just supports a few video and audio codecs in MP4 format. That is, if the MP4 video contains QuickTime unsupported audio or video codecs, QuickTime will refuse to play this kind of MP4 files.

In order to solve MP4 won't play in QuickTime issue, we had better convert QuickTime unplayable MP4 to QuickTime supported format.
 

andagetil

New Member
Can QuickTime Play MP4?

QuickTime is an extensible multimedia framework powered by Apple Inc., which has the feature of handling various formats of digital video, picture, sound, panoramic images, and interactivity. Since QuickTime is compatible with both Windows (Windows XP and later) and Mac (Mac OS X Leopard and later) and very powerful, it is quite popular.

The MPEG-4 file format specification was based on the QuickTime format, so that QuickTime does support MP4 as one of the input formats.

Why QuickTime Won't Play MP4?


If so, why QuickTime won't play MP4 files sometimes? According to Apple Support Website, QuickTime can only support MPEG-4 (.mp4,.m4v), but MP4 is a complex video container with various video and audio codecs. That's why sometimes QuickTime plays MP4 well, sometimes doesn't.

To solve QuickTime won't play MP4 issue, a strongly recommended solution is to convert all kinds of MP4 videos and movies to QuickTime more compatible formats.

Source:
http://www.faasoft.com/articles/quicktime-mp4-issue.html
 
Top