GStreamer
包含如下三个可执行程序
- gst-inspect-1.0
输出GStreamer安装插件情况
- gst-launch-1.0
构建GStreamer Pipeline,简单来说就是管道模型,在一堆数据流上面叠加一些处理,获取输出结果。
- ges-launch-1.0
GStreamer编辑服务原型工具
GStreamer Pipeline Examples
视频测试源
# 播放测试源
gst-launch-1.0 videotestsrc ! autovideosink
# 产生一个 1280*720的视频源然后播放
gst-launch-1.0 -v videotestsrc ! video/x-raw, framerate=25/1,width=1280,height=720 ! autovideosink
摄像头数据
# 播放摄像头内容
gst-launch-1.0 v4l2src ! autovideosink
# 设置我们需要的大小、格式和帧率,
gst-launch-1.0 v4l2src ! video/x-raw,format=YUY2, width=320,height=240,framerate=20/1 ! autovideosink
调整和裁剪
gst-launch-1.0 v4l2src ! video/x-raw,format=YUY2,width=640,height=480,framerate=15/1 \
! aspectratiocrop aspect-ratio=16/9 ! videoconvert ! autovideosink
编码和多路复用技术
单路流
# 使用x264将视频编码到H.264,并将其放入MPEG-TS传输流:
gst-launch-1.0 -v videotestsrc ! video/x-raw,framerate=25/1, width=640, height=360 \
! x264enc ! mpegtsmux ! filesink location=test.ts
# 播放本地文件
gst-launch-1.0 -v playbin uri=file:///home/frank/test.ts
RTMP到RTP
gst-launch-1.0 -v rtmpsrc location=rtmp://172.17.230.220/live/123 ! flvdemux ! h264parse ! rtph264pay config-interval=-1 pt=111 ! udpsink host=121.199.37.143 port=15004
gst-launch-1.0 -v rtmpsrc location=rtmp://172.17.230.220/live/123 \
! flvdemux name=demux demux.audio ! queue ! decodebin ! audioconvert ! audioresample \
! opusenc ! rtpopuspay timestamp-offset=0 ! udpsink host=121.199.37.143 port=15002 \
demux.video! queue ! h264parse ! rtph264pay timestamp-offset=0 config-interval=-1 \
! udpsink host=121.199.37.143 port=15004
GStreamer API使用
参考资料
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。