简介
gstreamer是一种多媒体处理框架。如果大家知道ffmpeg是什么的话,那么应该很快能理解gstreamer的作用。gstreamer相对ffmpeg来说,有一个明显的特点,gstreamer的官方文档非常丰富,设计理念很明确。另外,在某些环境中,只能使用gstreamer,例如nvidia的jetson tx2中的硬件编解码。
工具及环境
- 我使用gstreamer的主要环境是ubuntu 16.04
- gst-launch-1.0:构建流水线的主要工具
- gst-play-1.0:用于播放音视频
- gst-inspect-1.0:用于查询插件信息
- gst-discoverer-1.0:用于查询媒体信息
示例
- 查询视频信息
gst-discoverer-1.0 test.mp4
从以上输出可以看到该媒体文件的音视频的编码格式,时长。
- 播放视频
gst-play-1.0 test.mp4
- 以fps=1抽取图片
gst-launch-1.0 filesrc location=test.mp4 ! decodebin ! videorate ! video/x-raw,framerate=1/1 ! jpegenc ! multifilesink location=image%05d.jpg