An SO User
An SO User

Reputation: 25018

Using GStreamer for creating AVI files

GStreamer So, I was recommended GStreamer to create video files. I was going over their tutorial for creating a video file.
The problems I encountered are:

  • How do I create an AVI file rather than a YUV something.
  • What is the source being used there?
  • I want to give a set of BufferedImages or anything else that will show what was going on the screen. I have previously used JPEGtoMovie provided bu the Java guys and for that I had to first save all the images to the disk as JPEG, sort them into their correct order from lexicographical order and a whole lot more.
    I was planning to avoid that and that is why I was thinking of Vector<BufferedImage> or BlockingArrayQueue<BufferedImage>

  • Which all plug-ins do I need from GStreamer to create the AVI output?
  • Sorry I have been asking too many questions today. I have never worked with a media framework before and I am very dumb

    Upvotes: 2

    Views: 1119

    Answers (1)

    ensonic
    ensonic

    Reputation: 3450

    • The command gst-inspect will list all included elements (components).
    • you can produce an avi file from the pipeline: videotestsrc ! encoder ! avimux ! filesink where encoder stands for the encoding element you'd like to use
    • an alternative would be to use: videotestsrc ! encodebin ! filesink; here you just build a profile and encodebin will figure our what encoder and what muxer to use to create the format specified in the profile

    I did not understood the part around the BufferImages. You can feed images manually to gstreamer (e.g. using [appsrc ! decodebin] instead of [videotestsrc]), but thats a last resort. There are also elements such as multifilesrc that read a sequece of images. Maybe you can give more details what you want to do (where do the source frame come from).

    Upvotes: 2

    Related Questions