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

charbok

New Member
edit: I've edited the title to reflect new information. Turns out the files DO play in VLC, but not if they get over a certain size. The issue appears to be with Quicktime.

Well, after a lot of Googling and searching I've resorted to posting a new thread! Sorry if this has been solved, but I don't believe it has. In a nutshell, I create MP4 files with OBS and they play fine in Windows Media Player. I bring them over to a Mac and they cause Quicktime to cry "corrupted file" and VLC Media Player to crash outright. They also import into Final Cut Pro X, but only play audio. The only solution I've found thus far is converting the files with Prism video converter, but that's a small pain in my rear. Just a small one though, I guess.

Again: They play flawlessly in Windows Media Player-- audio and video, perfectly synced up. Every other player I've tried (VLC, MPEG Streamclip, ffmpegx, Quicktime) either crashes, only plays audio over a black screen, or gives a problem dialogue and won't play anything.

Are there any settings I can change to ensure I smooth transfer from OBS to Final Cut, or will I have to rely on Prism?

Settings:

Encoder: x264 (no other options are selectable)
Use CBR: No
Quality Balance: 10
Max Bitrate: 1,000
Custom Buffer Size: Yes
Buffer Size: 0

Video Adapter: ATI Radeon HD 5700 Series
Custom Resolution: 1920x1080
Downscale: 1.5 (1280x720)
Filter: Bilinear
FPS: 30
Disable Aero: Yes

Use CFR: Yes
Custom x264 Encoder Settings: Yes - "crf=5"

Everything else, I believe, is default. Some of this is default even.

edit: Whoops, forgot some logs. Here's my most recent:

https://gist.github.com/c856dfe8b39accfe09d0

and here's an earlier one, for a few potential settings changes:

https://gist.github.com/cfac0bc9100c8b04f98d
 
Last edited:

dodgepong

Administrator
Forum Admin
Hmm, your encoding settings don't look bad, though you're getting some duplicate frames in that second log due to Monitor capture.

Usually people have the opposite problem: not being able to play it in Windows Media Player, but still able to in VLC and others.

Can you try uploading the original video file somewhere so we could download and test it?
 

charbok

New Member
I believe I've narrowed down a part of the problem, and it may indicate that there's a compatibility issue between Quicktime-based applications-- Final Cut, Quicktime, and MPEG Streamclip-- and OBS. Very long video files cause VLC Media Player (the OS X version) to crash, but this is an issue that's been documented separately from OBS. I mixed the crashing VLC problem with the not-working Quicktime problem and assumed they were caused by the same thing. They weren't: Shorter MP4 files made in OBS play fine in VLC, both on Mac and Windows. Apologies for not catching this sooner.

So now the question is why even shorter OBS files don't want to work with Final Cut, Quicktime, and MPEG Streamclip on my end. All three of these are Quicktime-based applications I think, so that might be part of the issue. Worth noting that the videos don't play on either the Windows nor Mac versions of Quicktime/MPEG Streamclip.

Here's a recent example: https://drive.google.com/file/d/0B049feaLNkYNYkpJNnhzQnlrc2s/edit?usp=sharing

I've read that MP4 can house a variety of different codecs that may or may not be compatible with all "MP4-supporting" programs. Is this possibly part of the problem?
 

dodgepong

Administrator
Forum Admin
Well, there are lots of different ways to encode an h.264/AVC video file. Maybe it's an issue with slight variations in frame times that makes the applications think it's not constant frame rate?

Honestly, I don't really know. It's strange to me when a video program can't open a simple h.264 video stream. It can't be that hard.
 

charbok

New Member
You'd think so, but I guess there's something fishy going on. I'll try enabling CBR and see if that helps.
 

charbok

New Member
Enabling CBR has had no affect on my inability to play these files in Quicktime-based applications. Anyone have any other guesses?
 
This probably has to do with the pixel format. Several players, Quicktime included, have trouble with some formats, whereas VLC can play pretty much everything. I'm not sure if there's a specific x264 encoder command to directly convert the pixel format, but if you have FFMPEG on your system you could use the following command to make the file playable in Quicktime:

Code:
ffmpeg -i inputfile.mp4 -c:v copy -c:a copy -pix_fmt yuv420p outputfile.mp4

EDIT: Also, holy crap. crf=5? That's insane.
 

Boildown

Active Member
Yep, CRF=5 means an extremely high bitrate. A lot of players and NLEs choke on high bitrates. I know once I wanted "super high quality" so I just set CRF=10 on some video I was going to edit in Sony Vegas, and it slowed way down to the point that it was more worth my time to re-encode it than try to proceed with the editing anyways. The solution is to use a more reasonable bitrate / CRF. A CRF of around 15 should be indistinguishable from a CRF of 5 for 1080p video, but at a much lower bitrate. Try a CRF of 15 at the lowest, and then see if your problems go away.
 
H.264 isn't great for editing anyway. I just can't be arsed to transcode it before working on it, so I just bear with it. But I think in this case it's a colorspace issue, since VLC can play it just fine. FFMPEG noted that for a lot of older (or as they put it, "dumber") players can't read some colorspaces. This apparently includes Quicktime. But yeah, I would highly suggest using a much higher CRF value.
 

charbok

New Member
Hey, I almost forgot but I wanted to return and mention how I ended up handling it:

Though I didn't find a way to make these MP4 files compatible with the aforementioned Quicktime-based applications natively, I did find a free tool that's available on Mac and Windows that (relatively) quickly re-transcodes the media files and makes them compatible. The application is called "Handbrake"; it was recommended by a friend.

So if anyone else has this issue, this is how I would fix it. If you find another solution I'd be happy to hear it! Worth noting that I did not end up trying to ffmpeg code solution suggested by DryRoastedLemon due to my inexperience with such things. That also may work.
 

sjmorrow

New Member
Sorry to bring up an old thread, but I have been struggling with this exact same problem for DAYS. I really need my broadcast to be editable in Final Cut Pro, but all I get is no video and only audio. Sometimes quicktime glitches out and display a distorted green and purple image of whatever is on my desktop at the time, which is super weird. Re-encoding every single broadcast not only reduces the quality, but takes tons of processing hours.

I have all the same symptoms as the OP. I even tried changing the pixel format with ffmpeg as DryRoastedLemon suggested and I get the same result. Does anyone know what might be causing this?
 
Probably because Quicktime stuff isn't exactly good hence why film makers dont use it to make films, could also be due to the fact that it takes longer and more processing power to encode them in quicktime "preferred" file formats...
 

Boildown

Active Member
Sorry to bring up an old thread, but I have been struggling with this exact same problem for DAYS. I really need my broadcast to be editable in Final Cut Pro, but all I get is no video and only audio. Sometimes quicktime glitches out and display a distorted green and purple image of whatever is on my desktop at the time, which is super weird. Re-encoding every single broadcast not only reduces the quality, but takes tons of processing hours.

I have all the same symptoms as the OP. I even tried changing the pixel format with ffmpeg as DryRoastedLemon suggested and I get the same result. Does anyone know what might be causing this?

Have you posted your logs and your media info from OBS and the resultant file you saved?
 
Also having this issue. I've been recording to FLV, extracting with ffmpeg to MP4. This works fine with most of my editing applications, from basic freebies like Blender's NLE module, to Lightworks' and on up to Adobe Premiere Pro. But I wanted to check out DaVinci Resolve 11 now that Blackmagic has offered a free version that's nearly feature complete, just missing some stereoscopic and 3D editing. Problem is it's based on QuickTime so it only works with codecs that QuickTime supports.

The MP4s produced by OBS, whether opened in QuickTime Player or in Resolve, only have audio. Video is not displayed. I tried the ffmpeg command DryRoastedLemon posted but had the same result.

Fortunately I'm not on a Mac for my main rig so I'm not beholden to QuickTime supported codecs, but I was really hoping to check out Resolve as I am a fan of Final Cut Pro X on my old Mac Pro (that now serves as my media center/home server), and the latest version has a very similar feel. I haven't tried converting in Handbrake yet, though I'm reluctant to either way because I prefer having a maximum of one generation of degredation from the original recording. Not to mention the massive increase in time required to go from recording to editing, inserting a transcoding step in between there.

So I'm hoping someone, somewhere has found a setting in OBS that we can use to make these files editable with QuickTime based NLEs.
 

Attachments

  • 2014-11-15-2219-15.log
    9.2 KB · Views: 21

Evil Dood

New Member
Also having this issue. I've been recording to FLV, extracting with ffmpeg to MP4. This works fine with most of my editing applications, from basic freebies like Blender's NLE module, to Lightworks' and on up to Adobe Premiere Pro. But I wanted to check out DaVinci Resolve 11 now that Blackmagic has offered a free version that's nearly feature complete, just missing some stereoscopic and 3D editing. Problem is it's based on QuickTime so it only works with codecs that QuickTime supports.

The MP4s produced by OBS, whether opened in QuickTime Player or in Resolve, only have audio. Video is not displayed. I tried the ffmpeg command DryRoastedLemon posted but had the same result.

Fortunately I'm not on a Mac for my main rig so I'm not beholden to QuickTime supported codecs, but I was really hoping to check out Resolve as I am a fan of Final Cut Pro X on my old Mac Pro (that now serves as my media center/home server), and the latest version has a very similar feel. I haven't tried converting in Handbrake yet, though I'm reluctant to either way because I prefer having a maximum of one generation of degredation from the original recording. Not to mention the massive increase in time required to go from recording to editing, inserting a transcoding step in between there.

So I'm hoping someone, somewhere has found a setting in OBS that we can use to make these files editable with QuickTime based NLEs.

I found this post, but haven't had a chance to try it: https://www.obsproject.com/forum/th...-play-as-all-black-in-quicktime-player.21195/

Another thing that I find interesting is that when I pop the MP4 into compressor 4 I get a "codec not available" error.
 
@Evil Dood: I just tried out the settings on your link and they do work, however it's for x264/CPU encoding, not Quick Sync or NVENC. Since I record everything at high bitrate, using x264 causes OBS to freak out with high encoding latency errors. I'm wondering if there might be an ffmpeg switch that could be used to set the Quick Sync x264 video with the "transfer=bt709" custom CPU x264 setting after recording?

And if there is, is that any different than just using Handbrake? I guess if ffmpeg would have to transcode in order to do that, it wouldn't be.

[edit]I know there's some hex editing that you can do to allow iMovie/Final Cut X captured videos to be usable on a Windows or Linux PC, without transcoding, just not sure if this is the same kind of situation.
 
Top