Hitfilm importing AVI incorrectly

eduaavila
eduaavila Posts: 3 Just Starting Out
edited October 2020 in General

Hello people!

I recorded a small let's play using MSI afterburner, and the file itself plays fine in vlc. But when i import it to hitfilm, its really sped up, and repeats the sped up video until the audio ends. Hitfilm does detect the correct framerate (60fps).

This was a test, so, i have no issues loosing this specific file, but i need to import videos created in msi afterburner into hitfilm.

I used mediainfo to get the specific details about the file:

The strange thing is that if i record another file, with the same codec but at 30fps, hitfilm handles the file perfectly.

A file that works perfectly:


Is there any way to work with a 60fps file generated by MSI afterburner? i compared a 1920x1080 60fps and a 30fps one, and the 30 fps one works flawlessly but the 60fps has the video all sped up and unsyncronised.

Or if not, what would be a compatible codec/config that i have to record from MSI? Is one of these compatible:

(My system is in portuguese) the video format options are:

-Compression NV12

-Compression RTV1

-Compression MJPG (the one i'm using and seems to work, but not in hitfilm)

The last 2 ones are listed as "non configured" as i dont have them in my system.


I tried several times to check if it wasnt a corrupt file or something like that, and the results were aways the same.

Is there something wrong?

Tagged:

Comments

  • [Deleted User]
    [Deleted User] Posts: 1,995 Just Starting Out
    edited October 2020

    Hi,

    Welcome to HitFilm!

    Theres less frame variance at 30 fps than 60 fps when placing frames in variable framerate, this could be the contributing factor for this behavior.

    Screen recorders use the frame buffer, which is dynamic hence totally impossible to sync frames in real time.

    In HitFilm, import the clip (1 per timeline) and export in Cineform 10 bit. When importing the newly created clip it should play a lot smoother. You can do this for every clip.

    If you tell us your PC specs, CPU, GPU, then we might be able to offer an even better solution, since if the CPU has AVX instructions or is just fast since transcoding in e.g handbrake would be faster, and your GPU supports hardware decoding, then transcoding to H. 264/AVC will be even better than Cineform.

  • eduaavila
    eduaavila Posts: 3 Just Starting Out

    The framerate is not variable in the file, its a steady 60fps. I avoided uding other recorders because the framerate was variable.


    My specs of my 2 machines are:

    -i5 9300h @4ghz 4 core 8 threads

    -16gb ddr4 @2666mhz

    -Gtx 1650 4gb

    -recordings/video drive: crucial p500 512gb nmve

    -boot drive: crucial cx300 120gb sata


    The other machine is:

    -i5 7500 4 core @3,0ghz

    -16gb ddr4 2666mhz

    -boot drive crucial cx300 120gb

    -Video drive: seagate barracuda 3tb

    -Gtx 1060


    Both machines do run fine the 30fps video in hitfilm. And the 60fps also run without slowdowns or framedrops, but the playback is accelerated and with the issues i described earlier.

  • eduaavila
    eduaavila Posts: 3 Just Starting Out

    The file is a locked 60fps, it isnt variable framerate, thats why i used this recorder instead of another one i had. And media info reports its a steady 60fps recording, no minimum and maximum framerates there.

    I tried rendering the accelerated clip from hitfilm, but then the rendered file was accelerated even on vlc.


    I have 2 machines where i did the tests:

    Machine 1:

    -i5 9300h @3,9ghz 4 cores 8 threads

    -16gb ddr 2666mhz

    -Recordings/video drive: crucial p500 512gb nmve ssd

    -Boot drive: crucial BX300 120gb drive

    -Gtx1650 4gb


    Machine 2:

    -i5 7500 @3,4ghz 4 core 4 thread

    -16Gb ddr4 2666mhz

    -Recordings?Video drive: 3tb seagate barracuda hd 128mb cache 7200rpm

    -Boot drive crucial BX300 120gb drive.

    -Gtx1060


    In both machines 30 and 60 fps videos dont have any slowdowns or stutters, but the 60fps video is all unsyncronised and accelerated with the issues i previouslly described.


    If i do a test recording with OBS in mp4 at 60fps it does playback fine in hitfilm, but i cant use obs unfortunatly.

  • [Deleted User]
    [Deleted User] Posts: 1,995 Just Starting Out

    The file is variable frame rate and you should transcode it to constant frame rate, otherwise the synchronization won't stop being wrong

  • NormanPCN
    NormanPCN Posts: 4,082 Enthusiast

    The file is variable frame rate and you should transcode it to constant frame rate

    @kevin_n What file is variable frame rate. The MediaInfo reports show CFR.

    Also, the files are AVI, so duh, they are constant frame rate. The AVI container does not support VFR.

    @eduaavila I tried creating mjpeg AVI files via ffmpeg and with that I cannot reproduce your issue. I tried 60.0 and 59.94 frame rates. Hitfilm played them fine. I think this is something you need to contact Hitfilm support to work this out.

  • [Deleted User]
    [Deleted User] Posts: 1,995 Just Starting Out
    edited October 2020

    @NormanPCN For the sake of clarity, VFR is possible in avi although not standard. I think the issue is that the recorder did a poor job because a game or similar engine cannot maintain a steady fps, astronomically impossible. A 60 fps recording, at 16.6 ms frametimes, without variance, would mean that you have solved screen tearing and frame hold lag. Biggest breakthrough in gaming which is why I think it's a false positive.

    If it's not in a game engine, then I'm curious too as to what's causing it. You know better than me. I'm quite certain a transcode will solve the problem, it doesn't hurt to try.

  • NormanPCN
    NormanPCN Posts: 4,082 Enthusiast

    @kevin_n

    For the sake of clarity, VFR is possible in avi although not standard.

    I can only assume you are referencing using the frame repeat command in an AVI file. Not VFR but can visually simulate it to some extent. By my reading, there is one frame timing for all frames in an AVI. Nothing can change that. If a screen capture encoder cannot make a 60fps schedule it can simply output a repeat frame command and wait for the next frame timing to output a fresh frame. One repeat frame at a 60fps schedule instantly drops you to an "effective" 30. Big jump. This is why one can see something target say 120 when you only hope to make 60. One repeat frame at 120 is a smaller time increment giving more flexibility in a "VFR" 60 encode.

    In true VFR every frame in a stream can have an independent timing of all other frames. So in a game example, whatever frame update schedule the game can make at any given point in time is what the video frame stream can precisely replicate.