Take the 2-minute tour ×
Video Production Stack Exchange is a question and answer site for engineers, producers, editors, and enthusiasts spanning the fields of video, and media creation. It's 100% free, no registration required.

Sometimes I watch a video that I don't want to see from beginning to the end, but only some parts. Sometimes I need to quickly find some scene/spot in a video. The less keyframes there are, the longer it takes to seek random place in a video.

What hardware/software configuration I need to make seeking time as fast as possible?

I mean if I to build a new PC, what hardware is there to get fast access time by fast decoding?

share|improve this question
    
can you specify a worst-case or average time (at least a magnitude) you are asking about? (i.e Are you trying to optimize a 5 second delay or 5 ms?) –  horatio Mar 8 '13 at 19:44
    
The worst case scenario is about 3-4 seconds with high bitrate 1080p videos. For example if I seek to the point 20 seconds after the previous keyframe. 5 ms is so fast you wouldn't even notice it, it's almost immediate. I wouln't even ask any questions if it was that fast. –  Baltar Mar 13 '13 at 11:04
add comment

2 Answers

On the hardware side, I would recommend a RAID storage system, that you can assemble with smaller, cheaper hard drives. With this you will have a large overall capacity, fast read performance, and depending on the RAID level your data is also protected against hard drive failures. One negative aspect is the additional noise of the hard drives.

share|improve this answer
    
I actually do have a RAID system, but it is not the bottleneck. Decoding the video during seek time from the previous keyframe to the need spot is the bottleneck. –  Baltar Mar 5 '13 at 9:00
add comment

If its just about playback, I can highly recommend Media Player Classic HC for Windows. I think I haven't seen a faster player so far. It utilizes DirectX 9 for most image rendering which results in a lot faster playback on many machines. Most players only uitilize the CPU for drawing. Even uncompressed avi's had a lag free playback and fast seeking times from a USB 2.0 hard drive. The player is very good at caching aswell which should give you a benfit with files that have keyframes that are far apart from each other. It also has the option to always skip to the next keyframe when seeking (Options/Tweaks/Fast Seek). It also has a setting for the jump distance when seeking very long videos. http://sourceforge.net/projects/mpc-hc/

Generally for all plattforms recommendable is mplayer with a fitting GUI (there are quite a few of them out there for Windows/Mac/Linux). A little "geeky" but very powerfull. http://www.mplayerhq.hu/design7/dload.html

You dont need RAID storage to seek through h.264 files fast. That only applies to really huge "raw" video files that are meant for editing. A video card that has MPEG-4 decoding supported would be good to have but normally any video card from the last 4-5 years supports that. Apart from that you dont need any special hardware, your problem is mainly a software issue.

share|improve this answer
    
The software tweaks work great if seeking to the next keyframe and there is no decoding to start playback prior to the playback from the seeked point. That however doesn't help when I seek to a random point which happens to be several hundred frames after a keyframe. And if you read the question carefully, I also specifically asked for hardware to get fast decoding. I'm not even sure you understand how these things work. Nearly 100% of the worst seek time are due to slow decoding. The only way to lower that terrible seek time of up to 3-4 seconds is fast hardware decoding. –  Baltar Mar 13 '13 at 11:16
    
Like I already said in my answer. Every modern GPU supports hardware decoding for h.264, you dont need special hardware. It can't get faster than a modern GPU. Though several hundred frame after a keyframe?! You sure those are valid h.264 files? Thats an extremly high interval. –  Professor FartSparkle Mar 14 '13 at 19:47
    
Yes, I've had several videos with 10, 15 and 20 seconds between keyframes! Even with 10 seconds and 24 or 30 fps, which is not quite uncommon, it is 300 keyframes! –  Baltar Mar 15 '13 at 18:42
    
The comments on this answer were getting a bit out of hand so I deleted the rest. Remember comments are for clarification. Please go to chat for discussion. –  Friend Of George Mar 16 '13 at 19:43
    
The correct answer to this question is Intel iGPU on Sandy Bridge or Ivy Bridge. It has the fastest decoding unit. Unlike Paul Green claims, it is mainly about hardware, not software. –  Baltar Mar 16 '13 at 22:49
show 2 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.