On Wed, Feb 15, 2012 at 6:49 AM, bettinger cédric <[email protected]> wrote:
> Ok so here are the 4 files I tried. The first one come from open shot. The
> second one from inkscape. The third one from gimp. The last one was created
> with Qt.

works for me:

melt color:red out=50 ~/Downloads/cedric_01.svg out=50 -mix 50 -mixer composite

>
> 2012/2/15 Dan Dennedy <[email protected]>
>>
>> On Tue, Feb 14, 2012 at 3:30 PM, bettinger cédric <[email protected]>
>> wrote:
>> >>> I would suggest looking at Brian's dynamictext filter, but
>> >>> it may take some additional effort to get the gdk/pango thing working
>> >
>> > Right now I can't try this plugin since I installed mlt with the ubuntu
>> > synaptic manager...and my version of mlt is 0.6.2. But may be I should
>> > try
>> > to compile the last version...I am just afraid of messing up and having
>> > no
>> > mlt version working. I think I will try to compile the last version of
>> > mlt++
>> > on a virtual ubuntu machine with virtual box.
>> >
>> >>> I am using Qt to draw on
>> >>> the video image. Also, it does not need a composite transition, but
>> >>> the text for that is very specific to that effect.
>> >
>> > I am not sure of what you are talking about ? Are you saying that I
>> > could
>> > draw every frame of a producer with Qt ? or I could draw onto the qt
>> > widget
>> > ?
>>
>> There is a new transition in mlt. It uses Qt to draw text on the
>> frames. Something similar could be done, but not right now. I guess
>> continue on your current route.
>>
>> >>> FYI, distort=1 is a dangerous approach. It depends on how you generate
>> >>> the SVG, but the name "distort" is intentionally dangerous sounding.
>> >
>> > I took that from open shot xml. I don't really know what it is, but
>> > without
>> > that the movie doesn't have the right size I want.
>> >
>> >>> Change the 50 to 100.
>> >
>> > Yeah I tried that as I tried 0 but either I only see my text with a
>> > black
>> > background or I only see the movie.
>> > If I remove geometry I only see the text with a black background while
>> > the
>> > movie is playing. I don't understand that since the image has a
>> > transparent
>> > background.
>>
>> No, then image does not have a transparent background, or if it really
>> does the image loader is not supporting it. Send the SVG you are
>> using.
>>
>> >
>> >
>> >
>> > 2012/2/14 Dan Dennedy <[email protected]>
>> >>
>> >> On Tue, Feb 14, 2012 at 7:56 AM, bettinger cédric <[email protected]>
>> >> wrote:
>> >> >>> Only the kdenlivetitle producer loads kdenlivetitle xml, but you
>> >> >>> created a color producer.
>> >> >
>> >> > Ok I didn't know that. Finally I couldn't fint out how kdenlive add
>> >> > text
>> >> > to
>> >> > a video, but I think I alsmot understood how open shot does.
>> >> > Now I created an svg image with text and a transparent background and
>> >> > I
>> >> > load
>> >>
>> >> For the application you described, do you really want to generate SVG
>> >> for each text item? Same thing could be said for kdenlivetitle. Even
>> >> if you can embed the XML within MLT XML, it seems a rather bloated
>> >> approach. I would suggest looking at Brian's dynamictext filter, but
>> >> it may take some additional effort to get the gdk/pango thing working
>> >> across platforms. For the new vqm transition, I am using Qt to draw on
>> >> the video image. Also, it does not need a composite transition, but
>> >> the text for that is very specific to that effect. (Just thinking
>> >> aloud here about best approach for you.)
>> >>
>> >> > it with a producer. I just have a problem with the composite
>> >> > transition.
>> >> > I
>> >> > have been able to mix a movie with a text. But I don't get the
>> >> > expected
>> >> > results : either I just see the text or with the geometry property I
>> >> > see
>> >> > the
>> >> > text with transparence.
>> >>
>> >> Text with transparency sounds like a good thing.
>> >>
>> >> > Here is my code :
>> >> >
>> >> > void MainWindow::openVideo(){
>> >> > QString fileName = QFileDialog::getOpenFileName(this);
>> >> > if(!fileName.isNull()){
>> >> > Mlt::Producer *producer = new Mlt::Producer(*m_profile,
>> >> > fileName.toUtf8().constData());
>> >> > if(producer->is_valid()){
>> >> > m_playlist = new Mlt::Playlist();
>> >> > Mlt::Producer *subTitleProducer = new Mlt::Producer(*m_profile,
>> >> > "cedric_01.svg");
>> >> > Mlt::Transition *transition = Mlt::Factory::transition(*m_profile,
>> >> > "composite", NULL);
>> >> >                         //I tried to change some propertie according
>> >> > to
>> >> > what
>> >> > I can see in the kdenlive or open shot xml when I add a composition.
>> >> > Mlt::Properties *prop = new
>> >> > Mlt::Properties(transition->get_properties());
>> >> > prop->set("geometry", "0=0%/0%:100%x100%:50");
>> >>
>> >> The "50" at the end of that property value means 50% opacity.
>> >>
>> >> > prop->set("distort", 1);
>> >>
>> >> FYI, distort=1 is a dangerous approach. It depends on how you generate
>> >> the SVG, but the name "distort" is intentionally dangerous sounding.
>> >>
>> >> > prop->set("fill", 1);
>> >> > m_playlist->append(*subTitleProducer, 0, 400);
>> >> > m_playlist->append(*producer, 0);
>> >> > m_playlist->mix(0, 400, transition);
>> >> > m_consumer->stop();
>> >> > m_consumer->connect(*m_playlist);
>> >> > delete m_producer;
>> >> > m_producer = producer;
>> >> > /*
>> >> > m_consumer->start();
>> >> > play();
>> >> > }
>> >> > }
>> >> > m_consumer->set ("refresh", 1);
>> >> > }
>> >> >
>> >> > So when I open a video, I hear the sound directly. If I remove the
>> >> > geometry
>> >> > propertie, from the frame 0 to 400 I only see my svg image (my image
>> >> > is
>> >> > some
>> >> > text over a transparent background but I got a black background)  and
>> >> > then I
>> >> > see the movie that already started playing. I feel that the
>> >> > transparence
>> >> > of
>> >> > the svg file is not take into account.
>> >>
>> >> I suppose the composite transition does not have a good default here.
>> >> I will look into it soon.
>> >>
>> >> > Otherwise with the geometry propertie, I can see the movie and the
>> >> > text
>> >> > but
>> >> > the text is with 50% of transparence and the movie seems a little
>> >> > more
>> >> > darker.
>> >> >
>> >> > May be someone know how I could do that properly ?
>> >>
>> >> Change the 50 to 100.
>> >>
>> >> > Thank you,
>> >> >
>> >> > Cédric
>> >> >
>> >> >
>> >> > 2012/1/31 Dan Dennedy <[email protected]>
>> >> >>
>> >> >> On Sun, Jan 29, 2012 at 10:30 AM, bettinger cédric
>> >> >> <[email protected]>
>> >> >> wrote:
>> >> >> > Hello,
>> >> >> >
>> >> >> > I am trying to figure out how I could add some text to a video I
>> >> >> > am
>> >> >> > playing
>> >> >> > in a qt widget. I am trying to add some text to a video I am
>> >> >> > reading
>> >> >> > from
>> >> >> > the frame 100 to 324.
>> >> >> > Here is a part of my code :
>> >> >> > void MainWindow::openVideo(){
>> >> >> > QString fileName = QFileDialog::getOpenFileName(this);
>> >> >> > if(!fileName.isNull()){
>> >> >> > Mlt::Producer *producer = new Mlt::Producer(*m_profile,
>> >> >> > fileName.toUtf8().constData());
>> >> >> > if(producer->is_valid()){
>> >> >> > m_playlist = new Mlt::Playlist();
>> >> >> > m_playlist->append(*producer);
>> >> >> > m_consumer->stop();
>> >> >> > m_consumer->connect(*m_playlist);
>> >> >> > delete m_producer;
>> >> >> > m_producer = producer;
>> >> >> >
>> >> >> > //*//Adding subtitle
>> >> >> > Mlt::Producer *subTitleProducer = new Mlt::Producer(*m_profile,
>> >> >> > "color:");
>> >> >> > char* subTitleData = "<kdenlivetitle width=\"1920\"
>> >> >> > height=\"1080\"
>> >> >>
>> >> >> Only the kdenlivetitle producer loads kdenlivetitle xml, but you
>> >> >> created a color producer.
>> >> >>
>> >> >>
>> >> >> > out=\"324\"><item z-index=\"0\"
>> >> >> > type=\"QGraphicsTextItem\"><position
>> >> >> > x=\"220\" y=\"105.5555555555556\">
>> >> >> > <transform>1,0,0,0,1,0,0,0,1</transform>
>> >> >> > </position> <content font-color=\"255,0,0,255\"
>> >> >> > font-outline-color=\"0,0,0,255\" font-pixel-size=\"100\"
>> >> >> > font-italic=\"0\"
>> >> >> > font-underline=\"0\" font-weight=\"50\" font=\"Sans Serif\"
>> >> >> > font-outline=\"0\">SOME TEXT THAT WILL BE SUBTITLES</content>
>> >> >> > </item>
>> >> >> > <startviewport rect=\"0,0,1920,1080\"/> <endviewport
>> >> >> > rect=\"0,0,1920,1080\"/> <background
>> >> >> > color=\"0,0,0,0\"/></kdenlivetitle>\"";
>> >> >> > subTitleProducer->set("xmldata", subTitleData);
>> >> >> > Mlt::Transition *transition = new Mlt::Transition(*m_profile,
>> >> >> > "Composite");
>> >> >> > transition->connect(*m_playlist, 1, 0);
>> >> >> > m_playlist->insert_at(100, subTitleProducer);
>> >> >> > //*///End adding subtitle
>> >> >> > m_consumer->start();
>> >> >> > play();
>> >> >> > }
>> >> >> > fps = m_producer->get_fps();
>> >> >> > }
>> >> >> > // If file invalid, then on some platforms the dialog messes up
>> >> >> > SDL.
>> >> >> > m_consumer->set ("refresh", 1);
>> >> >> > }
>> >> >> >
>> >> >> > You can see my entire code here :
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > http://code.google.com/p/testqtmlt/source/browse/trunk/08subtitleAndEncodage?spec=svn21&r=21
>> >> >> >
>> >> >> > What I don't understand is how to connect a transition and
>> >> >> > especially
>> >> >> > what
>> >> >> > are the integers a_track and b_track and if
>> >> >> > m_playlist->insert_at(100,
>> >> >> > subTitleProducer); is the right thing to do.
>> >> >> >
>> >> >> > Someone know how I could do it right ?
>> >> >>
>> >> >> You need to learn how to prototype compositions with melt and/or xml
>> >> >> possibly using the demos and other tools like OpenShot or Kdenlive
>> >> >> to
>> >> >> see how they compose things. Then, you may want to look at the code
>> >> >> of
>> >> >> producer_melt.c to see how it uses the API to "connect a
>> >> >> transition."
>> >> >> Even I do these things; I do not do everything from memory.
>> >> >>
>> >> >>
>> >> >> --
>> >> >> +-DRD-+
>> >> >
>> >
>> >
>>
>>
>>
>> --
>> +-DRD-+
>
>



-- 
+-DRD-+

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Mlt-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mlt-devel

Reply via email to