Book Image

Python Multimedia

By : Ninad Sathaye
Book Image

Python Multimedia

By: Ninad Sathaye

Overview of this book

Multimedia applications are used by a range of industries to enhance the visual appeal of a product. This book will teach the reader how to perform multimedia processing using Python. This step-by-step guide gives you hands-on experience for developing exciting multimedia applications using Python. This book will help you to build applications for processing images, creating 2D animations and processing audio and video. Writing applications that work with images, videos, and other sensory effects is great. Not every application gets to make full use of audio/visual effects, but a certain amount of multimedia makes any application a lot more appealing. There are numerous multimedia libraries for which Python bindings are available. These libraries enable working with different kinds of media, such as images, audio, video, games, and so on. This book introduces the reader to the most widely used open source libraries through several exciting, real world projects. Popular multimedia frameworks and libraries such as GStreamer,Pyglet, QT Phonon, and Python Imaging library are used to develop various multimedia applications.
Table of Contents (13 chapters)
Python Multimedia Beginner's Guide
Credits
About the Author
About the Reviewers
Preface

Time for action – mixing audio tracks


Let's write a utility that can mix two audio streams together.

  1. Download the file AudioMixer.py which contains the source code for this utility.

  2. Now we will review the constructPipeline method. The API method gst.parse_launch() explained in the previous chapter will be used here.

    1  def constructPipeline(self):
    2      audio1_str = (" filesrc location=%s ! "
    3      "decodebin ! audioconvert ! " 
    4      % (self.inFileLocation_1) )
    5
    6      audio2_str = ( " filesrc location=%s "
    7      "! decodebin ! audioconvert ! "
    8      %(self.inFileLocation_2) )
    9
    10     interleave_str = ( "interleave name=mix ! "
    11     " audioconvert ! lame ! "
    12     " filesink location=%s"%self.outFileLocation )
    13
    14     queue_str = " ! queue ! mix."
    15
    16     myPipelineString = (
    17         interleave_str + audio1_str + queue_str + 
    18         audio2_str + queue_str )
    19
    20     self.pipeline = gst.parse_launch(myPipelineString)
  3. The audio1_str and audio2_str are the portions of the...