Gstreamer1.0-plugins libav

  目前,很大部分音视频编解码应用开发都是基于ffmpeg框架。ffmpeg API简单 上手快,也迅速成为了国内视频相关开发者的首选开源库。而gstreamer由于其复杂难懂,学习成本高,似乎在国内使用的人越来越少.

     于是乎, 有人认为 熟悉ffmpeg API就可以在音视频流媒体开发畅通无阻了。

      个人认为,不是这样。如果你只想写一个简单的音视频应用,那么也许ffmpeg再合适不过,因为它的API封装了所有细节,很多时候几个API组装就完事了。可是ffmpeg只在格式处理 编解码 转码作了比较好的封装,但却不够模块化。如果你想基于ffmpeg做一些人工智能、视频分析相关的高级前沿扩展,会显得力不从心。

     而gstreamer不同,它是高度模块化的管线驱动式的媒体框架,扩展性极强。理论上,不只是媒体流,gstreamer可以扩展为处理任何一种数据流。因此,架构上,gstreamer更强大,扩展性更强。ffmpeg的核心转码功能也可以作为gstreamer的插件扩展,可以认为gstreamer可以整合ffmpeg的功能,并大大超越ffmpeg所能做的范畴。

    从历史积累上看,Gstreamer明显更胜一筹。早在2002年Gstreamer就发布第一个版本0.0,最新版本已经到1.16.0,且全世界的开发者们还在乐此不疲,不断迭代  https://gstreamer.freedesktop.org/src/gstreamer/

       FFMPEG在2009年左右才有发布版本(http://ffmpeg.org/releases/),但最近几年作为后起之秀,发展迅速。

 

     AI时代,gstreamer依托于不断更新丰富的各种AI插件,大有可为。一个典型的例子是英伟达公司基于gstreamer推出了业界首个视频分析系统框架:DeepStream.

    我相信,ffmpeg将在媒体格式处理、转码等领域继续发挥其简洁高效的优势,而gstreamer基于其更悠久的历史积累和更强大的架构,将在人工智能时代继续大放异彩!

    我愿继续作为gstreamer国内开拓者与普及者,与大家共同学习 交流和进步!如有gstreamer框架、视频分析、视频结构化流媒体等方面的技术问题需要,keyi私信联系\。

上一篇:使用QtCreator运行Gstreamer程序


下一篇:新版darknet安装的一些问题总结