Home > Programowanie > Narzędzia miłośnika mediów MLT Framework

Narzędzia miłośnika mediów MLT Framework

Jeszcze nikt o tej bibliotece po polsku nie napisał, więc będę pierwszy (chyba). MLT Framework – skrzynka z narzędziami miłośnika mediów – które można wykorzystać do montażu i edycji wideo. W mojej półce z narzędziami MLT zajmuje miejsce pomiędzy FFMpeg i Multimedia Conversion, będzie używane w aplikacjach webowych po stronie serwera. W MLT urzekły mnie dwie rzeczy: definiowanie dokumentów XML sterujących procesem montażu wideo oraz użycie polskiej notacji odwrotnej w tym samym celu. Odwrotna notacja polska to najprostszy język programowania i bardzo się cieszę że odświeży się w tym niezmiernie interesującym projekcie.

Prosty przykład użycia MLT:

inigo klip1.avi klip2.avi -mix 25 -mixer luma -mixer mix:-1 -consumer avformat:wynik.avi b=400k acodec=libmp3lame ac=1 ar=22050 ab=64k vcodec=flv f=flv

 

Łączy dwa klipy w jeden, korzysta z efektu przenikania a wyniki zapisuje w pliku wynikowym gotowym do opublikowania w Internecie. To samo w XMLu:

<?xml version="1.0"?>
<westley title="source.data">
  <producer id="producer0">
    <property name="resource">klip1.avi</property>
    <property name="seekable">1</property>
  </producer>
  <producer id="producer1">
    <property name="resource">klip2.avi</property>
  </producer>
  <tractor id="tractor0" in="0" out="24">
   <track producer="producer0" in="203" out="227"/>
    <track producer="producer1" in="0" out="24"/>
    <transition id="transition0" in="0" out="24">
      <property name="a_track">0</property>
      <property name="b_track">1</property>
      <property name="factory">fezzik</property>
      <property name="mlt_type">transition</property>
      <property name="mlt_service">luma</property>
    </transition>
    <transition id="transition1" in="0" out="24">
      <property name="a_track">0</property>
      <property name="b_track">1</property>
      <property name="start">-1.000000</property>
      <property name="mlt_type">transition</property>
      <property name="mlt_service">mix</property>
    </transition>
  </tractor>
  <playlist id="playlist0">
    <entry producer="producer0" in="0" out="202"/>
    <entry producer="tractor0" in="0" out="24"/>
    <entry producer="producer1" in="25" out="124"/>
  </playlist>
  <tractor id="tractor1" title="Hura" global_feed="1" in="0" out="327">
    <track producer="playlist0"/>
  </tractor>
</westley>

 

Już się cieszę na myśl o aplikacjach w których tego użyję.

Categories: Programowanie Tags:
  1. No comments yet.
  1. No trackbacks yet.

Subscribe without commenting