How to segment seek in dynamic pipeline

xmufzy xmufzy at foxmail.com
Mon Aug 31 06:55:01 UTC 2020


Thank you, I try like this:
ges-launch-1.0  \
    +clip ./poc_backgroup.mp4  layer=2 \
    +clip ./poc_backgroup.mp4  inpoint=2 duration=3  layer=1 set-posx 100
set-posy 100 set-width 200 set-height 200 +effect "agingtv" \
    +clip ./shoe.mp4  inpoint=7  duration=2  layer=0 set-posx 400 set-posy
400 set-width 200 set-height 200 \
    --outputuri=file:////home/qingfu.cqf/gst-poc/hi.mp4  -e
video/quicktime:x264enc:audio/x-opus
It worked fine. 

I have some other queuestion:
1.How can I use nvdec for decoder?
2. I need to implement some filter between clips, such as clip 1's alpha
change from 255 -> 0 and clip 2's alpha change from 0 -> 255 in 3 seconds,
how can I do that by ges?
3. for appsrc:// do you have some more example? I don't understand .

After some tests, I find that I can't use gst_element_seek() for seek for
multiple input souce,
Maybe I can use gessrc as a gstelement to build the pipeline? such as:

gessrc(backgroup.mp4 9-15s) -- \
                                                  -------------> mixer
-->encoder...                                                  
gessrc(fga.mp4 3-8s)             --- /





Thibault Saunier-4 wrote
> Hi,
> 
> On Sun, Aug 30, 2020 at 9:57 PM xmufzy <

> xmufzy@

> > wrote:
> 
>> Thank you , I known it's easier with ges, but I don't known how to change
>> the
>> encoder to nvenc, and hown can I export the data from ges to app sink, or
>> import data from appsrc.
>>
> 
> You can check the EncodingProfile[0] API to enforce a certain encoder, on
> the command line you could even do for example
> `video/quicktime:nvenc:audio/x-opus`.
> 
> You can set your sinks as you would do with `playbin` if you use
> GESPipeline, or you can use GESTimeline as any bin if you need more
> control. For appsrc you can use the `appsrc://` protocol for your clips
> and
> then work from there, or you can subclass `GES[Video|Audio]Source` to
> implement exactly what you need.
> 
> - Thibault
> 
> [0]
> https://gstreamer.freedesktop.org/documentation/pbutils/encoding-profile.html
> 
> 
>> Nicolas Dufresne-5 wrote
>> > Le jeudi 27 août 2020 à 08:14 -0500, xmufzy a écrit :
>> >> If we can do 2 segment seek for the element
>> >>
>> >>
>> >> pipeline change  :
>> >> filesrc(backgroup.mp4) --> qtdemux --> h264dec --> queue --\
>> >>
>>
>> >> --> mixer -->x264enc --> filesink
>> >> filesrc(fga.mp4) --> qtdemux --> h264dec -->queue ---------/
>> >>
>> >> if I need mix fga.mp4 3~8s, and backgroup.mp4 9~14s, I try to use 2
>> >> gst_element_seek(SEGMENT)  for that, but failed
>> >
>> > This is easier done with ges-launch-1.0 (from gst-editing-services).
>> >
>> > ges-launch-1.0 +clip background.mp4 inpoint=9.0 duration=5.0 \
>> >                +clip fga.mp4 inpoint=3.0 duration=5.0 \
>> >                --smart-rendering --outputuri=file:///tmp/test.mp4
>> >
>> > You can live preview the edit by removing the render options (last
>> > line).
>> >
>> >>
>> >>
>> >>
>> >>
>> >> --
>> >> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
>> >> _______________________________________________
>> >> gstreamer-devel mailing list
>> >>
>>
>> > gstreamer-devel at .freedesktop
>>
>> >> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>> >
>> > _______________________________________________
>> > gstreamer-devel mailing list
>>
>> > gstreamer-devel at .freedesktop
>>
>> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
>>
>>
>>
>> --
>> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
>> _______________________________________________
>> gstreamer-devel mailing list
>> 

> gstreamer-devel at .freedesktop

>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
> 
> _______________________________________________
> gstreamer-devel mailing list

> gstreamer-devel at .freedesktop

> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel





--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list