Playback of h264 video

jirim100

Member
I bought the new PC with processor intel i9-10900 with intel uhd graphics 630 but the playback of h264 video - when I use shuttleXpress/mouse/keyboard - is not as I expected. Still I see delay between shuttleXpress/mouse/keyboard and video playback. The same delay as on me old 10 years computer with intel i3 processor. The same result I see in VideoRedo v6.

I would like to see the same fast speed of playback as for mpeg2 video.

The result is the same when I use instead EVR VMR9. Exist somewhere (VideoRedo, Windows) any settings which can increase of speed of playback? (for example hardware acceleration which use intel GPU?) Or exist very fast h264 decoder which can VideoRedo use for playback?

I am using Windows 10 last version 20H2.
3200
 

Dan203

Senior Developer
Staff member
Are you talking about playing the file? Or seeking?

If you're talking about seeking that is much more about disk speed than processor speed. One way you can help the issue is by going to Navigation section and setting "Force IFrame Seek" to 1. That will make it so big jumps in the seeking default to I frames which are much faster to seek to and decode.
 

jirim100

Member
Thanks for answer.
About seeking.

I tried to set "Force IFrame Seek" to 1, but it did not help much. H264 still it's not as fast as seeking of mpeg2 on my 10 years old PC and I have now Intel i9-10900 plus two fast SSD disks. VideoRedo V6 is too slow.
3204

For seeking I am using Contour Shuttle Device.
3203
 

Attachments

Dan203

Senior Developer
Staff member
I don't have any experience with that device you're using, but based on the screenshot you provided it looks like it's just rapidly pressing Shift + Left, which, based on your VideoReDo settings, is jumping 1/2 second each time. That's not going to work well with H.264 video.

H.264 videos space out the I frames much further than MPEG-2. In MPEG-2 most files would have an I frame roughly every 1/2 second. But in H.264 there are typically 30+ seconds between I frames. (I've seen as much as 10 seconds) That makes decoding the frames that are further from the last I frame increasingly more time consuming to display. (you decode a frame by seeking back to the previous I frame and then decoding every frame up to the frame you want)

What I would suggest is that you set your keystroke in that shuttle program to Ctrl + Left Arrow instead. That will make it jump to the next I frame on each scrub instead of exactly 1/2 second. This should be really fast. However it could be a bit erratic depending on how your files are encoded. You may need to reduce the "Frequency" setting to make it smoother. It could also jump further and faster than you're accustom to. Unfortunately there isn't much we can do about that. If you have any control over the encoding of the files you could try reducing the GOP length to 1/2 to 1 second of video. That should make it at least close to what you're use to with MPEG-2. If you don't have control over the encoding then you'll either have to live with the slowness or live with the bigger jumps.
 

jirim100

Member
Thanks for answer.

No, I don't have the control over the encoding of these movies (they are recorded from DVB-T).

Exist on the whole world :) very very fast H264 decoder which should be used in VideoRedo v5 & v6 and which can help with this? And what my Intel graphics card? It's used only for playback?

For example for H265 exist this fast decoder http://www.xhevc.com/en/downloads/downloadCenter.jsp. But I don't know whether is possible to use it in VideoRedo.
 

Dan203

Senior Developer
Staff member
Thanks for answer.

No, I don't have the control over the encoding of these movies (they are recorded from DVB-T).

Exist on the whole world :) very very fast H264 decoder which should be used in VideoRedo v5 & v6 and which can help with this? And what my Intel graphics card? It's used only for playback?

For example for H265 exist this fast decoder http://www.xhevc.com/en/downloads/downloadCenter.jsp. But I don't know whether is possible to use it in VideoRedo.
It's not just the decoder. When you seek in a file many things happen. We have to first seek to roughly the right place in the file itself. We then have to demux the audio and video to their raw streams. We then have to search the data for the frame you're actually trying to seek to. Then we have to back up and decode the stream from the last available I frame up to the frame you wanted. In MPEG-2 this was easy because there were I frames every 1/2 second or so. So the amount of data that needed to be demuxed, searched, and decoded was small. In H.264 it's 50-100x as much data. And if you ever move to HEVC it's even worse.

Like I said your best hope is to set that scrub wheel to jump to I frames. That's the only way to quickly seek through H.264 video. If you set a specific time interval it's going to be to slow for it to keep up with that wheel sending it commands 60x per second.
 

Dan203

Senior Developer
Staff member
That's help! Thanks.

For HEVC I will have to buy supercomputer :) .
To be honest a fast drive will help more than a fast CPU. If it's a desktop using an NVMe SSD would be your best bet for fast scrubbing.
 
Top Bottom