0

So I have these two pipelines:

gst-launch-1.0 location=/home/sami/Desktop/python/celine.mp4 ! decodebin ! theoraenc quality=1 ! oggmux ! filesink location=/home/sami/Desktop/new.ogg 

and

gst-launch-1.0 location=/home/sami/Desktop/python/celine.mp4 ! decodebin ! theoraenc quality=50 ! oggmux ! filesink location=/home/sami/Desktop/new.ogg

I need to create a python algorithm that could switch between these two pipelines at a predefined pipeline time, without interrupting the video stream.

Someone can help on that ?

Racil Hilan
  • 24,690
  • 13
  • 50
  • 55
Vladimir90
  • 15
  • 1
  • 3
  • I dont speak python (but c/c++) but doing changes to the pipeline during playback is quite hard.. luckily you are just changing quality of encoder.. maybe thats possible without switching elements during playback.. what do you mean predefined pipeline time? also I do not understand if you want to change between pipelines (then how to remember exact position before switch?) or you want to change the pipeline during playback? – nayana Sep 23 '15 at 11:31
  • I mean to do it like this example, switching between pads: http://stackoverflow.com/questions/3899666/adding-and-removing-audio-sources-to-from-gstreamer-pipeline-on-the-go But the problem is how to do that on this example particularly and on gstreamer 1.0 – Vladimir90 Sep 23 '15 at 13:43
  • Can you clarify the question? The above is not a stream. You are transcoding to a file. If you just want to change the qulity over time, try changing the property (not sure if the encoder supports that though). if you want to relink pads, you need to do the pad-blocking dance for which I am only aware of c-examples: http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/tests/examples/dynamic – ensonic Sep 23 '15 at 20:23

0 Answers0