callback "New-sample"

Matthew Waters ystreet00 at gmail.com
Tue Sep 14 08:35:31 UTC 2021


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
>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20210914/8c0886e0/attachment.sig>


More information about the gstreamer-devel mailing list