Skip to main content
June 17, 2017
Answered

H264 4k files choppy playback

  • June 17, 2017
  • 1 reply
  • 4845 views

Hi,

I can't playback more than 30seconds of 4K without getting choppy playback. My guess is premiere is not using the GPU and the CPU can't decode the H264 codec as fast as it needs.

changing the quality to 1/2 or 1/4 does nothing. changing the settings of the sequences doesn't improve it.

I have a pretty good Cuda GPU, and all the footage is located on a really fast PCI volume, so I'm not sure what's going on.

Maybe the H264 decoding is not thru the GPU, I check the activity monitor and the CPU loads goes really high when premiere is playing back the video. and i do have CUDA acceleration activated.

my system:

Mac Pro 2010 2x2.4Ghz Quad Core intel

64Gb Ram

Nvidia Geforce GTX Titan X 12gb

PCI OWC Accelsior Pro Q (footage is here)

I do understand that H264 is a bad codec to edit. but I'm mixing footage from an atomos ninja inferno Prores with a Gh5 that records in H264.

I always transcode everything to prores and it works perfectly smooth but in this case I have 30 hours of footage from the GH5 probably I will use only 25% so I don't want to transcode and I don't want to create proxy.

any ideas to improve performance for h264?

Thanks in advance

This topic has been closed for replies.
Correct answer R Neil Haugen

You're asking the impossible, really. Realistically.

Because of the nature of the media you're having trouble with ... that's long-GOP (group of pictures). What that means is the camera records to card every 9th to 30th frame ... and in-between, records only a matrix data-set of the pixels that change between either the previous or next complete "I" frame.

For de-encoding, the computer CPU takes the first I frame, de-compresses (and these are heavily compressed, so it's a lot of computation per frame) and sends along plus stores it to RAM. Calls up the next "frame" data-set ... recalls the previous frame from RAM, computes the changes ... sends along, stores to RAM ... rinse & repeat. Every cycle at some point it needs to grab the next I-frame and de-compress that just to work on the few frames before that I-frame. This is incredibly intensive CPU core/thread and RAM work, stressing their individual subsystems to the max. And it doesn't allow for GPU help.

It's bad enough with 1080 media ... but you're using 4k, which is four times the amount of data to be handled per frame. This chokes even the high-end specialized machines of the colorist trade. Your rig ... nope, ain't gonna work.

The ProRes files are much larger on disc ... but in most ProRes, it's intraframe meaning that every frame is a real frame of data, just compressed. And vastly less compressed than the interframe long-GOP you're having trouble with.

I don't understand the "not wanting to create proxy" ... literally no idea what your complaint is.

For that current project, in the Project panel, select your media in a bin, right-click and "Proxy/Create Proxies" using the small Cineform option. Go have lunch or sleep for the night.

Then in the program manager click the + icon on the far right, hover over the various control icons there ... on getting the one that deals with proxies, drag it into your control panel.

In operation, when you click on it, you're using proxies if it's blue. Click again, it's gray, you're using original media. It will never use the original media for anything but playback.

Oh ... one caveat .. the proxies apparently don't work with speed-ramped clips.

Neil

1 reply

R Neil Haugen
R Neil HaugenCorrect answer
Legend
June 17, 2017

You're asking the impossible, really. Realistically.

Because of the nature of the media you're having trouble with ... that's long-GOP (group of pictures). What that means is the camera records to card every 9th to 30th frame ... and in-between, records only a matrix data-set of the pixels that change between either the previous or next complete "I" frame.

For de-encoding, the computer CPU takes the first I frame, de-compresses (and these are heavily compressed, so it's a lot of computation per frame) and sends along plus stores it to RAM. Calls up the next "frame" data-set ... recalls the previous frame from RAM, computes the changes ... sends along, stores to RAM ... rinse & repeat. Every cycle at some point it needs to grab the next I-frame and de-compress that just to work on the few frames before that I-frame. This is incredibly intensive CPU core/thread and RAM work, stressing their individual subsystems to the max. And it doesn't allow for GPU help.

It's bad enough with 1080 media ... but you're using 4k, which is four times the amount of data to be handled per frame. This chokes even the high-end specialized machines of the colorist trade. Your rig ... nope, ain't gonna work.

The ProRes files are much larger on disc ... but in most ProRes, it's intraframe meaning that every frame is a real frame of data, just compressed. And vastly less compressed than the interframe long-GOP you're having trouble with.

I don't understand the "not wanting to create proxy" ... literally no idea what your complaint is.

For that current project, in the Project panel, select your media in a bin, right-click and "Proxy/Create Proxies" using the small Cineform option. Go have lunch or sleep for the night.

Then in the program manager click the + icon on the far right, hover over the various control icons there ... on getting the one that deals with proxies, drag it into your control panel.

In operation, when you click on it, you're using proxies if it's blue. Click again, it's gray, you're using original media. It will never use the original media for anything but playback.

Oh ... one caveat .. the proxies apparently don't work with speed-ramped clips.

Neil

Everyone's mileage always varies ...
June 17, 2017

Hi Neil,

I understand I was asking too much, I didn't mean to blame my lovely 2010 mac pro, still a beast. I was wondering about the decoding process, is good to know that playback of compressed files are CPU even if you have a good cuda GPU.

I do proxies, but this particular project is huge and I think it will take for ever to render proxies just to trash 75% of the material.

with the prores files I did a fast playback to delete what I didn't want, but with the H264 files I can only play x2 speed, faster than that I get choppy playback.

I will try to render proxies of a small portion to see how long it takes.

Thanks,

R Neil Haugen
Legend
June 17, 2017

Yea, I know it can take a good bit of time to make the proxies ... which is why I suggested while you're away from the computer such as lunch or over-night. Overnight's good for larger projects ...

Neil

Everyone's mileage always varies ...