[gst-devel] editing list concept - still not sure

Thomas Vander Stichele thomas at urgent.rug.ac.be
Fri May 11 15:20:53 CEST 2001


Hi,

if I understand the problem correctly, you want to "mix" types of video
(be it still images, streams, ...) using any kind of effects.

I had the same problem with audio, and what I basically did was create a
list of "events", with a file being an event, and adding an effect
envelope to that.  Then events are mixed by setting a start time for the
next event in reference to the last event (you can also make events not
take over this "reference" type, but I won't go into that now).  This way
it is possible to overlay various effects and video inputs at the same
time.  I've just changed the format to XML because it's better suited for
this kind of thing, and I'm adding a sample XML input file here.  It
contains audio data, volume envelopes, and text data.

I think something like this would be a good point to start from and could
be adapted to video.  If you have any questions or comments about it,
please tell.

Here's the sample :

<?xml version="1.0" ?>
<!DOCTYPE mixscript SYSTEM "mix.dtd">
<mix>
<mix:error>
  <mix:location type="file">/tmp/error.log</mix:location>
</mix:error>

<mix:output id="1">
  <mix:location type="file">out.mp2</mix:location>
  <mix:format>mp2</mix:format>
  <mix:bitrate>192000</mix:bitrate>
  <mix:mode>joint-stereo</mix:mode>
  <mix:samplerate>44100</mix:samplerate>
</mix:output>

<mix:script>

  <mix:item id="1" type="audio" reference="yes">
    <mix:location type="file">music/Afghan Whigs - 66.mp3</mix:location>
    <mix:tts>0.00</mix:tts>
    <mix:envelope type="volume" style="linear">
      <mix:point type="begin">
        <mix:time>0.00</mix:time>
        <mix:level type="dB">-3</mix:level>
      </mix:point>
      <mix:point>
        <mix:time>10.00</mix:time>
        <mix:level type="dB">0</mix:level>
      </mix:point>
      <mix:point>
        <mix:time>160.00</mix:time>
        <mix:level type="absolute">1.00</mix:level>
      </mix:point>
      <mix:point type="end">
        <mix:time>180.00</mix:time>
        <mix:level>0.10</mix:level>
      </mix:point>
    </mix:envelope>
  </mix:item>

  <mix:item id="2" type="text" reference="no">
    <mix:tts>0</mix:tts>
    <mix:text>Afghan Whigs - 66</mix:text>
  </mix:item>

  <mix:item id="3" type="text" reference="no">
    <mix:tts>60</mix:tts>
    <mix:text ttl="5">Wake Up !</mix:text>
  </mix:item>

  <mix:item id="4" type="audio" reference="yes">
    <mix:location type="file">music/Manic Street Preachers - La Tristessa Durera.mp3</mix:location>
    <mix:tts>196.61</mix:tts>
  </mix:item>

</mix:script>
</mix>


<-*-                      -*->
I'm gonna turn on you before you turn on me
<-*- thomas at apestaart.org -*->
URGent, the best radio on the Internet - 24/7 ! - http://urgent.rug.ac.be/





More information about the gstreamer-devel mailing list