选择用于视频捕获的库/框架&记录

时间:2011-12-19 08:30:46

标签: ffmpeg video-capture video-encoding gstreamer vlc

在我们开展的一个项目中,我们正在寻找视频捕捉和放大器。录音库。我们的基础(基于谷歌搜索)显示vlc(libvlc),ffmpeg(libavcodec)和gstreamer是三种流行的免费和开源库/多媒体框架。这些库如何在以下参数上进行比较:

  1. 允许在商业产品中使用的许可政策,无需开源使用该库的产品的任何组件
  2. 能够在多线程环境中有效使用(库本身应该是线程安全的)
  3. 易于使用和维护
  4. 文档:API应该有详细记录......这是相对的......:)
  5. 我们的主要目的是能够捕获RTSP视频流(H.264 / MPEG-2 / MJPEG编码),将这些流转换为原始视频/帧,以便可以用于分析/处理以及稍后压缩这些帧并以MP4文件的形式将其存储在磁盘上(使用MPEG2 / H.264编码)。

    P.S。我们知道FFmpeg也是vlc的组件之一,因为vlc使用libavcodec库。同样对于gstreamer也是如此吗?它有任何ffmpeg依赖吗?

    等待您的回复。

    此致

    Saurabh Gandhi

1 个答案:

答案 0 :(得分:4)

我建议你使用Gstreamer。

Gstremer是多媒体框架,它有很多插件可用于各种任务。插件是一种类型的库。并且用于捕获rtsp 转换原始视频,以及 muxing in mp4 所有我认为您将很容易找到Gstermer中最好的插件。你只需要为此编写一个应用程序。

   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)

是的Gstremer内部负责所有线程。

 3. Easy to use and maintain

是的Gstremer易于使用和维护

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

是的,Gstremer已经有了很好的管理文件API

没有Gstermer框架不依赖于ffmpeg.but Actualy gstremer有一些基于ffmpeg的插件。那是 gst-ffmpeg