GStreamer rtsp拉流播放
使用命令拉流播放测试
gst-launch-1.0 playbin uri=rtsp://172.17.0.8/1.264
正常效果如下:
如果报如下错误:
Your GStreamer installation is missing a plug-in. Additional debug info:
解决办法:
sudo apt-get install ubuntu-restricted-extras
代码拉流
#include <gst/gst.h> int main(int argc, char *argv[]) { GstElement *pipeline; GstBus *bus; GstMessage *msg; /* Initialize GStreamer */ gst_init (&argc, &argv); /* Build the pipeline */ pipeline = gst_parse_launch ("playbin uri=rtsp://172.17.0.8/1.264", NULL); /* Start playing */ gst_element_set_state (pipeline, GST_STATE_PLAYING); /* Wait until error or EOS */ bus = gst_element_get_bus (pipeline); msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS); /* Free resources */ if (msg != NULL) gst_message_unref (msg); gst_object_unref (bus); gst_element_set_state (pipeline, GST_STATE_NULL); gst_object_unref (pipeline); return 0; }
编译:
gcc main.c -o main -Wall $(pkg-config --cflags --libs gstreamer-1.0)
如果报如下错误:
No package 'gstreamer-1.0' found main.c:1:23: fatal error: gst/gst.h: No such file or directory
解决办法:
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
正常运行效果同上
./main
本文用到
live555服务器live555MediaServer