流媒体就是指通过网络或者USB等接口实时播放录制视频的一整套多媒体框架技术。这类框架具体实现有gstreamer、ffmpeg、mediastreamer2(底层可以调用ffmpeg) 等,或者自己实现的一套私有的框架等等。
mediastreamer2 和 gstreamer是业界常用的两种框架。作为嵌入式软件工程师关注的主要是移植(特别是与底层的接口)、使用。mediastreamer2 和 gstreamer本体移植并不困难按照教程嵌入式编译即可,难的是与底层的接口。mediastreamer2 和 gstreamer都是通过一个个filter串起来分别连成一个graph或pipeline。难点就是实现每一个filter,为了效率编解码等需要资源多的filter需要借助硬件,因此filter与底层接口实现尤其重要,当然这部分工作一般要SOC原厂实现因为他们才知道怎么与底层交互效率最高。
如果不是在SOC原厂从事嵌入式软件开发对于mediastreamer2 和 gstreamer的主要工作就是调用两个框架实现应用。mediastreamer2一般是用接口函数,而gstremer则是用指令或者接口函数。