Multithreaded fast-forward possible?

Juraj Holtak juraj.holtak at
Thu Dec 13 03:18:14 PST 2012

And maybe the xvimagesink should have sync=false set too... maybe...
On Dec 13, 2012 12:15 PM, "Juraj Holtak" <juraj.holtak at> wrote:

> Hi,
> Maybe worth a try:
> Put an "queue" element before and after ffdec_h264 and use
> max-threads=<your_cpu_count>. I imagine it worked like this for me but
> maybe I just had luck...
> Juraj
> On Dec 13, 2012 2:03 AM, "Peter Rennert" <p.rennert at> wrote:
>> Dear all,
>> I want to increase the playback of a video quite drastically. At the
>> moment I am playing a test video sequence with
>> gst-launch-0.10 filesrc location=/path/to/my.mp4 ! qtdemux ! h264parse !
>> ffdec_h264 name=dec ! ffmpegcolorspace ! deinterlace ! xvimagesink
>> and at some point the video speed cannot get increased further, because
>> it uses only one CPU core to decode the video. Gstreamer starts complaining
>> of getting behind the timestamps of the stream and crashes.
>> I could think of two solutions:
>>     - Is there a "native" way of making use of more than just a single
>> core to decode the video frames? I tried to set "max-threads" of ffdec_h264
>> to 4, but it still only uses a single core.
>> or,
>>     - Is there a way of skipping frames? As I need only a "effective"
>> framerate on the screen of about 25fps I could just decode the frames I
>> need and skip the other frames. Then I would not need more CPU power than
>> for realtime playback.
>> or.
>>     - Is there a way to split the stream after the qtdemux and use
>> several decoders in a kind of decoder pool (distribute the frames between
>> them) and unify the stream after?
>> My videos are in H264 format. I am not sure if the non-keyframes are
>> encoded with respect to the previous frame or with respect to the last
>> key-frame. In that case I could try to filter the key-frames and send them
>> to every decoder in the pool and decode the any frame with that as
>> reference until the next key-frame. With some management I could try to
>> merge the output of the pool decoder with a input-selector. But that sounds
>> bulky :\ So if one knows how to get to one of the first two solutions, I
>> would be very happy...
>> Cheers,
>> Peter
>> PS I am happy to provide an example video. Maybe something is wrong with
>> the encoding there that prevents ffdec_h264 to use multiple cores
>> ______________________________**_________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.**<gstreamer-devel at>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list