Multithreaded fast-forward possible?

Juraj Holtak juraj.holtak at gmail.com
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 gmail.com> 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 cs.ucl.ac.uk> 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.**freedesktop.org<gstreamer-devel at lists.freedesktop.org>
>> http://lists.freedesktop.org/**mailman/listinfo/gstreamer-**devel<http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20121213/ed7bf4a9/attachment-0001.html>


More information about the gstreamer-devel mailing list