Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

Help :Playbacking H264 images

danielwang1971
Beginner
428 Views

Hello,

I'm work for H264 compression based on UMC. I use AdvancedThreadDemuxer and H264VideoDecoder decode for H264 images decode. For now, It works fine for continuous playback.

I would like to do some advance playback operations not only one by one. For example Fast playback,back playback anddisplay one frame by index. Can I do that? If so, Can you give me some ideas?If not, can you give me other choise?

Best reagrds,

Daniel wang

0 Kudos
6 Replies
shyaki
Beginner
428 Views

I am very interested in this topic too.

It would be relatively easy if we have only short closed GOPs, but if we get long closed GOPs or open GOPs, I don't know how to use H264Decoder to support fastforward or fastbackward. Can Intel give any guide about it? Thanks.

0 Kudos
danielwang1971
Beginner
428 Views

Can you tell me how to set GOPs for UMC?

Thanks.

0 Kudos
Vladimir_Dudnik
Employee
428 Views

Hello,

there is our expert comment on this:

You can use SetRate(Ipp64f newPlaybackRate) to play fast forward or backward (negative playback rate). Note that UMC splitters do not correct timestamps, you will need to stretch or shrink them.

Displaying one frame by index requires some info about all frames with position in file where splitter should start from. If you have such info (so-called index) you can try to do the following:

Stop splitter

move DataReader to the certain frame position

Run splitter

GetNextData()

Thats the very basic idea. There are a lot of difficulties with MPEG2 container when you want to access particular frame.

Probably it will be better way to use non-threaded mpeg2 demuxer here. Then you wont need to Stop and Run it at every frame.

Regards,
Vladimir

0 Kudos
danielwang1971
Beginner
428 Views

Hello Vladimir,

Thank you your Help. But I still have problem when Isetposition and then GetNextData(), I get UMC_ERR_NOT_ENOUGH_DATAerror. I think the frame is p-frame,I should set new position until find I-frame?

By the way, the Demuxer is non-thread mpeg2 demuxer?

Best regards,

Daniel wang

0 Kudos
mfarook
Beginner
428 Views

Hi Vladimir,

I having difficulty implenenting scrolling of the video using the simple_player application. How can I get to a specific frame on the video and paint etc. can you help?

Omar.

0 Kudos
Vladimir_Dudnik
Employee
428 Views

Hi Omar,

simple_player have no repositioning capability.

Regards,
Vladimir

0 Kudos
Reply