2014-11-07 7 views
0

Я пытаюсь выяснить, как использовать GTT2 MLT в Python. Потребитель обложен here.Связывание Python для MLT GTK + Потребитель

В данном разделе ничего не найдено о пользователе Doxygen API об общении с этим населением и вы можете найти все, что вы могли бы найти: C code itself.

Я попытался следующий код, основанный на play.py примере, но это дает мне ошибку

NotImplementedError: Wrong number or type of arguments for overloaded function 'new_Consumer'. 
    Possible C/C++ prototypes are: 
    Mlt::Consumer::Consumer() 
    Mlt::Consumer::Consumer(Mlt::Profile &) 
    Mlt::Consumer::Consumer(Mlt::Profile &,char const *,char const *) 
    Mlt::Consumer::Consumer(Mlt::Profile &,char const *) 
    Mlt::Consumer::Consumer(Mlt::Service &) 
    Mlt::Consumer::Consumer(Mlt::Consumer &) 
    Mlt::Consumer::Consumer(mlt_consumer) 

Код:

#!/usr/bin/env python 
    # -*- coding: utf-8 -*- 
    # Import required modules 
    import mlt 
    import time 
    import sys 
    import gtk 

    # Start the mlt system 
    mlt.Factory().init() 

    # Establish a profile 
    mlt_profile = mlt.Profile() 

    # Create the producer 
    p = mlt.Producer(mlt_profile, "video_file") 
    self.mltwidget = gtk.HBox() 
    fp.add(self.mltwidget) 

    if p: 

     # Create the consumer 
     c = mlt.Consumer(mlt_profile, "gtk_preview", self.mltwidget) 

     # Turn off the default rescaling 
     c.set("rescale", "none") 

     # Connect the producer to the consumer 
     c.connect(p) 

     # Start the consumer 
     c.start() 

     # Wait until the user stops the consumer 
     while c.is_stopped() == 0: 
      time.sleep(1) 
    else: 
     # Diagnostics 
     print "Unable to open ", "video_file" 

Может вы, ребята, дайте мне знать, как я могу использовать этот потребитель, или дать некоторые советы о том, как это выяснить? В качестве альтернативы, некоторые советы о том, как встроить экран SDL, созданный потребителем MLT SDL в моем приложении GTK2, были бы замечательными :)

Большое спасибо!

+0

Я также пробовал "gtk2_preview" и "gtk + _preview" – Ian

ответ

0

Таким образом, после некоторого дальнейшего исследования, представляется, что GTK + Потребитель использует SDL WindowID Hack, поэтому стандартный SDL потребитель может быть встроен вручную с помощью кода, описанного в http://faq.pygtk.org/index.py?file=faq23.042.htp&req=show

Это было, к сожалению, не подходит для моего приложения, потребовалось несколько экранов, поэтому я буду смотреть на альтернативные варианты.

 Смежные вопросы

  • Нет связанных вопросов^_^