Question / Help [SOLVED] Keyframes issue in OBS FLV output?

vencabot

Member
[EDIT] Embarrassing, but I'm gonna leave this post here in case anyone finds this who's having a similar problem. The issue seems to be a matter of patience: none of the videos I uploaded in my testing, in any format, from any encoder, have seek-preview thumbnails on YouTube UNTIL YOU GIVE THEM TIME TO CACHE. I was concerned because I waited for days and these thumbnails never appeared, but it actually seems like you need to let the video PLAY for some time while the thumbnails are cached. In any case, it's some YouTube shit (god I hate YouTube), and even my FLVs straight out of OBS Studio do get seek-previews, although they still won't seek in VLC correctly (probably a VLC shortcoming).

I've always recorded directly to MP4 and then uploaded that to YouTube, but YouTube always complains about wanting videos in a "streamable format," so I've started recording and uploading my videos as FLV (which, as I understand, also has the benefit of not producing corrupted videos if OBS crashes).

When I upload recorded MP4s, I can see keyframe previews whenever I move the mouse along YouTube's 'seek' bar. Very useful. For some reason, when I upload OBS Studio's FLVs, I cannot get a seek-preview thumbnail; I only get a timestamp when hovering over the 'seek' bar.

I assumed this was an issue with the FLV standard or with YouTube's processing of it, so I used OBS Studio's built in 'Remux' tool to convert the videos to MP4 after-the-fact. Bizarrely, these videos STILL do not have the 'seek' preview thumbnail (which is based on keyframes).

I converted the videos from OBS Studio's FLV to MP4 using ffmpeg, on the command line, and the uploaded MP4 STILL doesn't have seek-preview thumbnails, but MP4s recorded directly from OBS Studio do.

I'm starting to think this is an issue with the FLV files OBS Studio spits out, and remuxing them to other formats isn't going to help without re-encoding them. Is there something going on with the keyframes (keyint option) in OBS Studio's FLV output? Is this a limitation of the FLV format? Do I misunderstand something? Until I can figure this out, I'm going to need to go back to recording as MP4, directly.
 
Last edited:

vencabot

Member
Examining the FLV files in MediaInfo shows that they lack keyframe data, compared to the MP4 recordings which have it. Everything else about their video streams looks identical. Is this a bug in OBS Studio, or maybe in MediaInfo? Also, the FLV files produced by OBS Studio cannot be 'seeked' at all in VLC; they must play continuously, from start to finish, or not play at all.
 

Boildown

Active Member
There's one big reason why the recommendation is to not save directly to MP4: the entire file you save gets corrupted if anything goes wrong with OBS or your computer, anything that causes OBS to be unable to end the recording cleanly. If you record for 6 hours and then your computer crashes, that entire 6 hours of file is unusable. People get pissed when this happens. OBS has been known to crash, power has been known to go out, when you stop the stream and the little dialog box comes up that OBS is still saving your file and you mindlessly tell it to go away and you click the wrong thing (I may have done this), your file is corrupted.

FLV doesn't have this problem. You can losslessly and quickly remux the FLV back into MP4 easily after its saved. So all in all, that's why we tell people not to save to MP4. Save to FLV and if you need it in MP4 format (because VLC sucks, for example), remux it after its saved.
 

Suslik V

Active Member
About mp4. Useful info: Stopping recording never ends

Preview thumbnails while seeking - is part of the YouTube, and as long as it re-encodes your footage you can do almost nothing to improve this. If you do any edit to your videos then it is recommended (by YouTube) to upload files where 'moov' box info placed at the start of the file - thus it can be processed before it fully uploaded to web server. That's all. No more benefits. (See How do I change Base Media Version for the output file?)
 
Top