[gst-devel] How do get the number of frames in a video file?
Nick Haddad
nhaddad at mathworks.com
Thu Feb 21 17:23:37 CET 2008
I understand how to get the duration in nanonseconds after pausing a
pipeline, that is working fine in my code. But asking for frames is
a little trickier, especially for variable frame rate files, which I
would like to support.
Should I be trying to ask the decodebin for the duration in frames?
Is the file source a better element to ask?
Thanks for your help,
-nick
On Feb 21, 2008, at 9:57 AM, Wim Taymans wrote:
>
> On Thu, 2008-02-21 at 09:49 -0500, Nick Haddad wrote:
>> Anyone else have ideas on how to best do this?
>
> Go to PAUSED, wait for paused to happen by listening to the ASYNC_DONE
> message or by polling or by doing a blocking gst_element_get_state().
> Then you can get all the info.
>
> Wim
>
>>
>> Thanks,
>> -Nick
>>
>> On Feb 20, 2008, at 9:53 AM, Nick Haddad wrote:
>>
>>> I really need to get this information before playback starts. I
>>> want
>>> to present the user with the frame count after they open a file.
>>>
>>> If there is no generalized way to do do this (by asking the decode
>>> bin?) Is there a way seek through by frames without decoding the
>>> video
>>> in the files? If there is then I can do a quick walk through
>>> frame by
>>> frame to do my count.
>>>
>>> Thanks,
>>> -Nick
>>>
>>> On Feb 20, 2008, at 5:54 AM, Felipe Contreras wrote:
>>>
>>>> On Feb 19, 2008 11:48 PM, Nick Haddad <nhaddad at mathworks.com>
>>>> wrote:
>>>>> I want to retrieve the duration of a video file in frames, but
>>>>> can't
>>>>> figure out the best way to do this.
>>>>>
>>>>> Calling...
>>>>>
>>>>> GstFormat fmt = GST_FORMAT_DEFAULT;
>>>>> gst_element_query_duration( _pipeline, &fm, &numFrames)
>>>>>
>>>>> ...doesn't work. I'm assuming because the pipeline doesn't know
>>>>> about
>>>>> the "default format" (GST_FORMAT_TIME works fine).
>>>>>
>>>>> Which element in my pipeline should I query for the number of
>>>>> video
>>>>> frames? Is this even possible. Currently I am building a
>>>>> pipeline
>>>>> using decodebin.
>>>>
>>>> Do you need it at any point in time or would it be OK at the end of
>>>> the playback?
>>>>
>>>> --
>>>> Felipe Contreras
>>>
>>>
>>> -------------------------------------------------------------------------
>>> This SF.net email is sponsored by: Microsoft
>>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by: Microsoft
>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
More information about the gstreamer-devel
mailing list