aboutsummaryrefslogtreecommitdiff
path: root/voctocore/videomix.py
blob: 1426cb4702ce74b1eef6d2be42ac27a3d8fd0772 (plain)
  1. import sys, inspect
  2. from pprint import pprint
  3. from gi.repository import GLib, Gst
  4. class Videomix:
  5. decoder = []
  6. mixerpads = []
  7. def __init__(self):
  8. self.pipeline = Gst.parse_launch("""
  9. videomixer name=livevideo ! autovideosink
  10. input-selector name=liveaudio ! autoaudiosink
  11. uridecodebin name=cam0 uri=file:///home/peter/122.mp4
  12. uridecodebin name=cam1 uri=file:///home/peter/10025.mp4
  13. cam0. ! videoconvert ! videoscale ! videorate ! video/x-raw,width=1024,height=576,framerate=25/1 ! livevideo.
  14. cam1. ! videoconvert ! videoscale ! videorate ! video/x-raw,width=1024,height=576,framerate=25/1 ! livevideo.
  15. cam0. ! audioconvert ! liveaudio.
  16. cam1. ! audioconvert ! liveaudio.
  17. """)
  18. liveaudio = self.pipeline.get_by_name('liveaudio')
  19. liveaudio.set_property('active-pad', liveaudio.get_static_pad('sink_0'))
  20. livevideo = self.pipeline.get_by_name('livevideo')
  21. pad = livevideo.get_static_pad('sink_1')
  22. pad.set_property('alpha', 0.5)
  23. self.pipeline.set_state(Gst.State.PLAYING)