callback "New-sample"

Armin Erkert armin.erkert at rolmail.net
Tue Sep 14 11:26:40 UTC 2021


Thanks, Regrads Armin


Zitat von Matthew Waters via gstreamer-devel  
<gstreamer-devel at lists.freedesktop.org>:

> There are very few muxing formats (and modes) that allow writing a  
> file without requiring at least some seeking to the beginning to fix  
> up various parts of the file.
>
> The two main muxing formats for streaming are mpegts or matroskamux.
>
> Cheers
> -Matt
>
> On 14/9/21 4:23 pm, Armin Erkert via gstreamer-devel wrote:
>>
>>
>> Hello,
>>
>> thank you for the information.
>> I understand now that the qtmux is the problem, can you recommend  
>> me another MUX?
>>
>> Regards Armin
>>
>>
>>
>> Zitat von Matthew Waters via gstreamer-devel  
>> <gstreamer-devel at lists.freedesktop.org>:
>>
>>> qtmux faststart=true will cause that to happen as it needs to  
>>> write the qt moov/etc header before any of the actual media data.   
>>> That's how faststart is defined.
>>>
>>> qtmux into appsink is an unseekable resource (unless you've  
>>> overriden the seeking query) which would only work with some modes  
>>> of qtmux.
>>>
>>> If you are running GStreamer git master, then qtmux will write the  
>>> regular mode with a moov at the end after many mdat blocks when  
>>> provided with an unseekable downstream.
>>>
>>> Cheers
>>> -Matt
>>>
>>> On 14/9/21 4:02 pm, Armin Erkert via gstreamer-devel wrote:
>>>>
>>>>
>>>> Hello Michael,
>>>>
>>>> I have already set the "emit-signal" to true
>>>>
>>>> g_object_set (app->sink, "emit-signals", TRUE, NULL);
>>>> g_signal_connect (app->sink, "new-sample", G_CALLBACK (new_sample), app);
>>>>
>>>> but the callback "new-sample" is retrieved several 100th times  
>>>> only after I have pushed all images into the stream.
>>>>
>>>> Have now seen that in the \tmp\ a temporary file qtmuxXXXXX is  
>>>> created, and suspect that qtmux first caches everything ....
>>>>
>>>> Regards
>>>> Armin
>>>>
>>>>
>>>> Translated with www.DeepL.com/Translator (free version)
>>>>
>>>> Zitat von Michael Gruner via gstreamer-devel  
>>>> <gstreamer-devel at lists.freedesktop.org>:
>>>>
>>>>> Hello Armin
>>>>>
>>>>> You need to set the “emit-signals” property in the appsink to TRUE.
>>>>>
>>>>> Michael
>>>>> www.ridgerun.com
>>>>>
>>>>>> On 13 Sep 2021, at 14:19, Armin Erkert via gstreamer-devel  
>>>>>> <gstreamer-devel at lists.freedesktop.org> wrote:
>>>>>>
>>>>>> 
>>>>>> Hello,
>>>>>>
>>>>>> have problems with the following pipe
>>>>>> "appsrc is-live=true name=source  
>>>>>> caps=video/x-raw,width=2464,height=512,format=GRAY8,framerate=10/1 !  
>>>>>> nvvidconv ! video/x-raw(memory:NVMM),format=I420 !  
>>>>>> nvv4l2h265enc iframeinterval=20 ! h265parse ! qtmux  
>>>>>> faststart=true ! appsink name=sink"
>>>>>>
>>>>>> which I use in my C++ program, and namely the callback  
>>>>>> "New-sample" from the appsink, is only called after an EOS in  
>>>>>> the appsrc
>>>>>> (g_signal_emit_by_name (app->source, "end-of-stream", &ret).
>>>>>>
>>>>>> How can I improve this ?
>>>>>>
>>>>>>
>>>>>> Regarda
>>>>>>
>>>>>> --------------------------------
>>>>>> Ing. Erkert Armin
>>>>>> Mittelstrich 9
>>>>>> I-39050 Tiers (BZ)
>>>>>>
>>>>>> Email: armin.erkert at rolmail.net
>>>>>> Tel.:  +39 349 4385335
>>>>>> WWW:   www.erkert.it
>>>>>>
>>>>
>>>>
>>>>
>>>> --------------------------------
>>>> Ing. Erkert Armin
>>>> Mittelstrich 9
>>>> I-39050 Tiers (BZ)
>>>>
>>>> Email: armin.erkert at rolmail.net
>>>> Tel.:  +39 349 4385335
>>>> WWW:   www.erkert.it
>>>>
>>
>>
>>
>> --------------------------------
>> Ing. Erkert Armin
>> Mittelstrich 9
>> I-39050 Tiers (BZ)
>>
>> Email: armin.erkert at rolmail.net
>> Tel.:  +39 349 4385335
>> WWW:   www.erkert.it
>>



--------------------------------
Ing. Erkert Armin
Mittelstrich 9
I-39050 Tiers (BZ)

Email: armin.erkert at rolmail.net
Tel.:  +39 349 4385335
WWW:   www.erkert.it



More information about the gstreamer-devel mailing list