Problems to get full 60 fps from export

Hello, I've downloaded Hitfilm Express to edit some gaming videos that my friend and I decided to make. I have tried other (free) video editing software and I've like Hitfilm the best so far. However, I'm having some troubles with the exported video. 

I'm recording the games being played in my pc with OBS Studio. The recording settings are:

  • Recording Format: mkv, but I'm remuxing it to mp4 before I begin editing
  • Encoder: NVENC H.264
  • 1920x1080 resolution
  • Rate Control: VBR
  • Bitrate: 30000 (which I think translates to 30 MBPS)
  • Preset: High Quality
  • Profile: high
  • Level: auto
  • Two-Pass Encoding
  • B-frames: 2

In Hitfilm I'm just cutting little parts of the videos, and adding a separately recorded mic track to the video. 

When exporting the video I'm using the Youtube 1080p preset, however the finished video never really looks like as smooth as the original recording, which looks like a full smooth 60 fps video. 

I have tried basically maxing the bitrate in the preset, changing the level, and forcing it for 60 fps. My finished videos are bigger in size than the originals (even though they're shorter) and don't look as smooth. 

Any help would be very appreciated!

Comments

  • Update: I have tried a couple of different things and have somewhat solved the problem, at least for now.

    I tried changing my export settings to CBR, it looks awful, even with maximum bitrate. Then I started looking into the way h.264 compression works.

    According to the pages I read, h.264 is a very effective compression method, so decoding and reencoding is needed when working with a video file in h.264. So I found that if you transcode your video files into an editing codec, such as DNxHD, you do not need to decode your video while editing. 

    So, thanks to this thread: https://hitfilm.com/forum/discussion/40132/free-converter-that-converts-to-dnxhd, I managed to transcode my source files into DNxHR format. Then I re-edited my video and re-exported using the Youtube 1080p preset (with higher bitrate values, for 60 fps) and my finished video looks very smooth.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

    However, I still have a couple of issues.

    First of all, MPEG Streamclip takes way too long when transcoding. My source file was about 8 minutes long, and MPEG Streamclip took about 4 hours to transcode it entirely. It only uses one logical processor in my cpu, so that makes it go very slow. Also, apparently it cannot transcode into 1080p60 using DNxHD, so I had to use DNxHR to overcome this. Another disadvantage is that it transformed my ~1.5 GB source file into a 15.1 GB file, which is not ideal, but I can always delete it if I need to. 

    I also tried using Lightworks to edit the video. I had tried Lightworks before and I have liked it, but I changed to Hitfilm because of the inability to export to 1080p in the free version (plus absolutely horrible UI). That being said, the exported video for that was very smooth, although somewhat blurry due to the 720p resolution. Which makes me think that the Hitfilm export engine (?) is the one having troubles with this. My theory is that two-pass encoding could solve this, but Hitfilm doesn't support it. 

    Any ideas on how to overcome any of these issues would be greatly appreciated.

     

    - Rob

  • Aladdin4dAladdin4d Moderator

    Since HitFilm Pro 2017 was released Avid's DNxHD/HR is not really a recommended way to go anymore. The Windows version of HitFilm now has native Cineform support and it provides the best performance but very large files. Mac users should use ProRes for "the best" performance. A close second behind those two is @NormanPCN 's NormanAVC settings for HandBrake and FFMpeg. All of this is covered in @Triem23 's excellent Essential HitFilm tutorial series.

    https://www.youtube.com/watch?v=Yqhl0mRuTng ;

    Most gamers use NormanAVC and his thread has in depth specifics. 

    Transcoding to fast decode AVC for timeline edit performance

    Be sure to read all of the posts in that thread. NormanPCN has settings for OBS so you won't have to transcode at all.

    Last thought - The 1080p setting for DNxHR is intended solely for proxy use. For true quality you would still use DNxHD 90, 290, 440 or 440x for 1080p @ 59.94 or 60 fps. Unfortunately you are right and Mpeg Streamclip won't let you get to those so you would have to use something else. 

     

     

  • Thank you for your response! I will read the thread and check out Cineform.

    I mostly want to reduce wait times while my pc transcodes and get the best video I possibly can to upload to youtube.

    Thanks!

    -Rob

  • DNxHR for 1080 HD should give/use the same bitrates as DNxHD at the same framerate. The transcode thread has a post of mine which links to some ffmpeg scripts which will transcode to DNxHD and HR. Then there is Dali's mustache to transcode, but this app is not free.

    But as stated by Aladdin4d, if you are going to use an intermediate codec to edit with Hitfilm, then go with Cineform. It is the best performing choice for Hitfilm. Sadly there are less choices for a transcoder app to output Cineform, but Virtualdub filtermod gets the job done. Now that Cineform is open source, hopefully ffmpeg will get an encoder feature for Cineform.

    For renders to upload to Youtube, you should always be able to get something good outputting MP4/AVC from Hitfilm. You just have to get the settings right.

    I am a bit confused by some of the OP comments. For example, I don't know what is meant by "smooth". Is that stutter or pixelation/blockiness?

  • Aladdin4dAladdin4d Moderator
    edited October 27

    @NormanPCN ;

    "DNxHR for 1080 HD should give/use the same bitrates as DNxHD at the same framerate. "

    Nope.  And notice the star * next to HD. The footnote that goes with it is:

    * HD resolutions are only available as a proxy setting in a High-Resolution project.  There is no way to select DNxHR resolutions from within a HD project-type.

    ResolutionCodecSamples per lineActive lines
    per raster
    Compressed
    bytes
    per frame
    Data rate in MB/s for specified frame rate (exact value)
    23.9762529.975059.94
    HD* DNxHR 444 1920 1080 1822720 41.68 43.46 52.10 86.91 104.19
    DNxHR HQX 1920 1080 909312 20.79 21.68 25.99 43.36 51.98
    DNxHR HQ 1920 1080 909312 20.79 21.68 25.99 43.36 51.98
    DNxHR SQ 1920 1080 602112 13.77 14.36 17.21 28.71 34.42
    DNxHR LB 1920 1080 188416 4.31 4.49 5.39 8.98 10.77

     http://avid.force.com/pkb/articles/en_US/White_Paper/DNxHR-Codec-Bandwidth-Specifications#HD

  • edited October 27

    @Aladdin4d Disagree.

    That is what an Avid application will do with DNxHR vs DNxHD. They obviously use DNxHD when that spec can be used. DHxHR elsewhere. That article is keyed to Avid apps as it states at the top.

    What specific restrictions Avid chooses to do has nothing to do with the DNxHR spec by itself. DNxHR can fully replace DNxHD. DNxHR is resolution and framerate independent just like Cineform and Prores. If Avid never made the silly choices they did on the DNxHD spec they would have never needed to define DNxHR.

    Apps like Vegas and Resolve will output DNxHR is whatever rez and framerate you want. In the case of Vegas, which is using the actual Avid codecs installed into Quicktime, Avid themselves are happy to encode DNxHR in any rez and rate. It will happily decode them as well. From what I can tell, Resolve is using libavcodec (ffmpeg core library) so it would behave like ffmpeg which is happy with any rez or rate. Resolve does not offer DNxHD for any optimized media setting. Only DNxHR. It does not make sense to bother with HD when HR covers all. However for export, it does offer DNxHD or HR since it can be necessary.

     The DNxHR bitrates are the same as DNxHD when the rez and framerate are the same. e.g. Standard quality, 1080p60 => 290Mbps. HR just supports more than HD.

  • I maybe should have clarified what I meant with "smooth". The exported video from Hitfilm stutters, I can only explain it as if I was playing at lower frame rates, maybe 30-40 fps. It actually doesn't have any blockiness artifacts that I can see.

    If I playback my source file I can see basically what I would see if I was playing the game directly, the video doesn't stutter. It's just after editing and exporting the video that I encounter this, even if I max the bitrate in the export settings. 

    Thanks for your help.

    -Rob

  • If your source media is variable frame rate, I have seen reports of hiccup stutters in Hitfilm. While Hitfilm 2017 supports VFR it apparently does not do the conversion perfectly in all cases and duplicate frames are executed and you can get a jump in the video. Transcoding to Constant frame rate (CFR) for Hitfilm import cures this issue. Might be how/why a DNx transcode cured your issue.

    OBS has supported CFR output for a while. Even with NVENC. At one time you had to enable a check option for CFR. Current OBS there is no option for anything and CFR is the default from my limited tests. As stated my transcode thread has OBS settings for output for smoother Hitfilm editing. You said you were using MKV and I guess I can understand why. You could do that so long as you still get CFR and then remux to MP4. But really. Is your machine crashing a bunch. That is an issue in it own right that needs to be fixed. Even the MKV option may not be a fool proof solution for a constantly crashing machine trying to record screen output. 

Sign in to comment

Leave a Comment