官网手册: https://gstreamer.freedesktop.org/documentation/index.html?gi-language=c
开发环境:Ubuntu 16.04,默认已经安装GStreamer,可以执行命令,但是编译程序有问题,找不到开发头文件见gst.h,可以locate gst.h验证一下,没有则需要重新安装,本人开发机器就需要重新安装后,才能编译程序。
1.0版本在线安装:
apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
在线安装问题解决:
sudo apt-get install gstreamer1.0-plugins-base1.0-dev
出现错误
E: Unable to locate package gstreamer1.0-plugins-base1.0-dev
E: Couldn't find any package by glob 'gstreamer1.0-plugins-base1.0-dev'
E: Couldn't find any package by regex 'gstreamer1.0-plugins-base1.0-dev'
运行下面命令
sudo apt-get install *lib*gstreamer-plugins-base1.0-dev
源码安装:
下载地址:https://gstreamer.freedesktop.org/src/
常见命令:
playbin播放本地文件:
gst-launch-1.0 playbin uri=file:///home/fhwubihe/Desktop/DemoDocker.mp4
playbin播放RTSP网络流文件:
gst-launch-1.0 playbin uri=rtsp://10.1.130.200:10554/32010500001320000002_32010500001320000002
rtspsrc播放RTSP OVER TCP 网络流文件:
gst-launch-1.0 rtspsrc location=rtsp://10.1.130.200:10554/32010500001320000002_32010500001320000002 protocols=tcp latency=0 ! rtph264depay ! capsfilter caps="video/x-h264" ! h264parse ! avdec_h264 ! videoconvert ! videoscale ! video/x-raw,width=800,height=600 ! ximagesink
rtspsrc播放RTSP OVER TCP 网络流文件,保存解码后YUV数据:
gst-launch-1.0 rtspsrc location=rtsp://10.1.130.200:10554/32010500001320000002_32010500001320000002 protocols=tcp latency=0 ! rtph264depay ! capsfilter caps="video/x-h264" ! h264parse ! avdec_h264 ! videoconvert ! videoscale ! video/x-raw,width=800,height=600 ! filesink location=Recv_800x600_yuv420p.yuv
播放MP4文件中的视频内容
gst-launch-1.0 filesrc location=huangdun.mp4 ! qtdemux ! avdec_h264 ! videoconvert ! videoscale ! video/x-raw,width=800,height=600 ! ximagesink
播放AAC文件
gst-launch-1.0 filesrc location=huangdun.aac ! faad ! alsasink
gst-launch-1.0 filesrc location=huangdun.mp4 ! qtdemux ! faad ! alsasink
播放MP4文件,包括播放H264视频和AAC音频
gst-launch-1.0 filesrc location=huangdun.mp4 ! qtdemux name=demux ! queue ! avdec_h264 ! videoconvert ! ximagesink demux. ! queue ! faad ! alsasink
把GRAY8 的灰度图编码成JPEG
gst-launch-1.0 -v filesrc location=lena_256x256_yuv420p.yuv blocksize=65536 ! 'video/x-raw,width=256,height=256,format=GRAY8,framerate=0/1' ! jpegenc quality=90 ! filesink location=lena.jpg