seek in webrtcbin pipeline

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

seek in webrtcbin pipeline

Jack
Hello !

I am able to seek with seek_simple() in a simple pipeline like :

'filesrc location=17seconds48000D.wav ! wavparse ! audioconvert !
audioresample ! autoaudiosink'

But how I can seek in this pipeline using webrtcbin ? :

'webrtcbin name=sendrecv bundle-policy=max-bundle filesrc
location=17seconds48000D.wav ! wavparse ! opusenc ! rtpopuspay !
application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-rate=48000
! sendrecv.

Using directly seek_simple() seems to not work.
Thanks !
++

Jack

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: seek in webrtcbin pipeline

Jack
Hey !

Nobody to tell me where I can find documentation about this issue to
understand what is going on ?
Ciao !
++

Jack



Le 01/02/2019 à 16:59, Jack a écrit :

> Hello !
>
> I am able to seek with seek_simple() in a simple pipeline like :
>
> 'filesrc location=17seconds48000D.wav ! wavparse ! audioconvert !
> audioresample ! autoaudiosink'
>
> But how I can seek in this pipeline using webrtcbin ? :
>
> 'webrtcbin name=sendrecv bundle-policy=max-bundle filesrc
> location=17seconds48000D.wav ! wavparse ! opusenc ! rtpopuspay !
> application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-rate=48000
> ! sendrecv.
>
> Using directly seek_simple() seems to not work.
> Thanks !
> ++
>
> Jack
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: seek in webrtcbin pipeline

Sebastian Dröge-3
In reply to this post by Jack
On Fri, 2019-02-01 at 16:59 +0100, Jack wrote:

> Hello !
>
> I am able to seek with seek_simple() in a simple pipeline like :
>
> 'filesrc location=17seconds48000D.wav ! wavparse ! audioconvert !
> audioresample ! autoaudiosink'
>
> But how I can seek in this pipeline using webrtcbin ? :
>
> 'webrtcbin name=sendrecv bundle-policy=max-bundle filesrc
> location=17seconds48000D.wav ! wavparse ! opusenc ! rtpopuspay !
> application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-
> rate=48000
> ! sendrecv.
>
> Using directly seek_simple() seems to not work.
You need to seek only on the part of the pipeline before the webrtcbin
and ensure that payloader and everything following get a contiguous
segment of data.

--
Sebastian Dröge, Centricular Ltd · https://www.centricular.com


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (981 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: seek in webrtcbin pipeline

Jack
Hello Sebastian,

Thanks for your answer.
Can you tell me how to achieve a seek on a particilar part of a pipeline
? Do I have to "isolate" the part before webrtcbin, and then how ? Are
there different options ?
I am a little bit lost !
++

Jack



Le 05/02/2019 à 10:52, Sebastian Dröge a écrit :

> On Fri, 2019-02-01 at 16:59 +0100, Jack wrote:
>> Hello !
>>
>> I am able to seek with seek_simple() in a simple pipeline like :
>>
>> 'filesrc location=17seconds48000D.wav ! wavparse ! audioconvert !
>> audioresample ! autoaudiosink'
>>
>> But how I can seek in this pipeline using webrtcbin ? :
>>
>> 'webrtcbin name=sendrecv bundle-policy=max-bundle filesrc
>> location=17seconds48000D.wav ! wavparse ! opusenc ! rtpopuspay !
>> application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-
>> rate=48000
>> ! sendrecv.
>>
>> Using directly seek_simple() seems to not work.
>
> You need to seek only on the part of the pipeline before the webrtcbin
> and ensure that payloader and everything following get a contiguous
> segment of data.
>
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (499 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: seek in webrtcbin pipeline

Jack
Trying to be more precise on the word "isolate" I used in my previous
answer :
do I need to use appsrc/appsink or proxysrc/proxysink to seek on the
pipeline connected to a webrtcbin pipeline, or I am on the wrong way ?
++

Jack



Le 08/02/2019 à 17:41, Jack a écrit :

> Hello Sebastian,
>
> Thanks for your answer.
> Can you tell me how to achieve a seek on a particilar part of a pipeline
> ? Do I have to "isolate" the part before webrtcbin, and then how ? Are
> there different options ?
> I am a little bit lost !
> ++
>
> Jack
>
>
>
> Le 05/02/2019 à 10:52, Sebastian Dröge a écrit :
>> On Fri, 2019-02-01 at 16:59 +0100, Jack wrote:
>>> Hello !
>>>
>>> I am able to seek with seek_simple() in a simple pipeline like :
>>>
>>> 'filesrc location=17seconds48000D.wav ! wavparse ! audioconvert !
>>> audioresample ! autoaudiosink'
>>>
>>> But how I can seek in this pipeline using webrtcbin ? :
>>>
>>> 'webrtcbin name=sendrecv bundle-policy=max-bundle filesrc
>>> location=17seconds48000D.wav ! wavparse ! opusenc ! rtpopuspay !
>>> application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-
>>> rate=48000
>>> ! sendrecv.
>>>
>>> Using directly seek_simple() seems to not work.
>>
>> You need to seek only on the part of the pipeline before the webrtcbin
>> and ensure that payloader and everything following get a contiguous
>> segment of data.
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (499 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: seek in webrtcbin pipeline

Jack
Come back with this thread...

I tried the following to seek in a pipeline involving webrtcbin pad.
Sebastian recommended to seek only on the part before webrtcbin, but i
can't make it work, i certainly missed something or misunderstood
something. My soundfile on the hard drive last 18 min :

- create a pipeline 'main' : filesrc ! ... ! tee
- set state of this pipeline to PLAYING
- seek on this pipeline with seek_simple(Gst.Format.TIME,
Gst.SeekFlags.FLUSH | Gst.SeekFlags.KEY_UNIT, 120 * Gst.SECOND)
- gst_pipe_to_add = Gst.parse_bin_from_description('queue ! webrtcbin
name=sendrecv bundle-policy=max-bundle', True)
- add gst_pipe_to_add to the pipeline 'main'
- link between tee and gst_pipe_to_add
- set state of gst_pipe_to_add to PLAYING

I can get the sound stream but it start from the beginning instead of 2
min after the beginning.
Any clue or more ?
Thanx.
++

Jack




Le 11/02/2019 à 11:19, Jack a écrit :

> Trying to be more precise on the word "isolate" I used in my previous
> answer :
> do I need to use appsrc/appsink or proxysrc/proxysink to seek on the
> pipeline connected to a webrtcbin pipeline, or I am on the wrong way ?
> ++
>
> Jack
>
>
>
> Le 08/02/2019 à 17:41, Jack a écrit :
>> Hello Sebastian,
>>
>> Thanks for your answer.
>> Can you tell me how to achieve a seek on a particilar part of a pipeline
>> ? Do I have to "isolate" the part before webrtcbin, and then how ? Are
>> there different options ?
>> I am a little bit lost !
>> ++
>>
>> Jack
>>
>>
>>
>> Le 05/02/2019 à 10:52, Sebastian Dröge a écrit :
>>> On Fri, 2019-02-01 at 16:59 +0100, Jack wrote:
>>>> Hello !
>>>>
>>>> I am able to seek with seek_simple() in a simple pipeline like :
>>>>
>>>> 'filesrc location=17seconds48000D.wav ! wavparse ! audioconvert !
>>>> audioresample ! autoaudiosink'
>>>>
>>>> But how I can seek in this pipeline using webrtcbin ? :
>>>>
>>>> 'webrtcbin name=sendrecv bundle-policy=max-bundle filesrc
>>>> location=17seconds48000D.wav ! wavparse ! opusenc ! rtpopuspay !
>>>> application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-
>>>> rate=48000
>>>> ! sendrecv.
>>>>
>>>> Using directly seek_simple() seems to not work.
>>>
>>> You need to seek only on the part of the pipeline before the webrtcbin
>>> and ensure that payloader and everything following get a contiguous
>>> segment of data.
>>>
>>>
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> [hidden email]
>>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>
>>
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (499 bytes) Download Attachment