c++ 无法使用gst_element_make_from_uri播放uri

ao218c7q  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(170)

我需要流式传输RTSP / HTTP流,当我使用source = gst_element_make_from_uri();创建元素源时,它不起作用。有人使用gstreamer来流式传输RTSP / HTTP流吗?

  1. source = gst_element_make_from_uri (GST_URI_SRC,"http://76.73.90.27:80/" ,NULL);
  2. decoder = gst_element_factory_make ("mad", "mad-decoder");
  3. sink = gst_element_factory_make ("alsasink", "audio-output");
  4. g_object_set (G_OBJECT (source), "location", argv[1], NULL);
  5. gst_element_set_state (pipeline, GST_STATE_NULL);
  6. bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
  7. gst_bus_add_watch (bus, bus_call, loop);
  8. gst_object_unref (bus);
  9. gst_bin_add_many (GST_BIN (pipeline),
  10. source, decoder,sink, NULL);
  11. gst_element_link_many (source, decoder, sink, NULL);
  12. gst_element_set_state (pipeline, GST_STATE_PLAYING);
  13. g_main_loop_run (loop);
  14. gst_element_set_state (pipeline, GST_STATE_NULL);
  15. gst_object_unref (GST_OBJECT (pipeline));
dhxwm5r4

dhxwm5r41#

您指向错误的IP地址。该IP是一个普通的Web服务器,而不是流媒体广播。尝试在音乐播放器中播放电台的.m3u,看看它实际播放的地址。
运行gst-launch souphttpsrc location=http://76.73.52.173/ ! decodebin ! autoaudiosink。你可以使用gst_parse_launch()在你的程序中使用这些相同的字符串,你的程序会短得多。

相关问题