1
votes

In one of the project that we have undertaken we are looking for a video capture & recording library. Our groundwork (based on google search) shows that vlc (libvlc), ffmpeg (libavcodec) and gstreamer are the three popular free and open source libraries / multimedia frameworks available for the same. How do these libraries compare on the following parameters:

  1. Licensing policy to allow use within a commercial product without the need to open source any of the components of the product that is using the library
  2. Ability to be used effectively in a multi-threaded environment (library should be inherently thread-safe)
  3. Easy to use and maintain
  4. Documentation: API should be well documented...this is relative...:)

Our primary intention is to be able to capture RTSP video streams (H.264/MPEG-2/MJPEG encoded), convert these streams to raw video / frames so that it can be used for analysis / processing and later on compress these frames and store it on the disk in the form of an MP4 file (using MPEG2 / H.264 encoding).

P.S. We understand that FFmpeg is also one of the components of vlc since vlc uses libavcodec library. Is the same true for gstreamer as well? Does it have any ffmpeg dependency?

Awaiting your responses.

Regards,

Saurabh Gandhi

1

1 Answers

4
votes

I suggest you to use Gstreamer.

Gstremer is multimedia framework and it has so many plug-in for various task. Plugin are one type of library. And for Capturing rtsp , converting raw video , and muxing in mp4 all have i think you will easily find out the best plug-in in Gstermer. yOU just need to write one application for this.

   1. Licensing policy to allow use within a commercial product without
   the need to open source any of the components of the product that is 
   using the library

i dont know much about this

   2. Ability to be used effectively in a multi-threaded environment 
    (library should be inherently thread-safe)

yea Gstremer internally take care for all threading.

 3. Easy to use and maintain

yea Gstremer is easy to use and maintain

 4. Documentation: API should be well documented...this is relative...:)

yea Gstremer has verry well managed documented API

No Gstermer framework has no dependency on ffmpeg.but Actualy gstremer has some plugin which are based on ffmpeg. that is gst-ffmpeg