我需要流式传输RTSP / HTTP流,当我使用source = gst_element_make_from_uri();
创建元素源时,它不起作用。有人使用gstreamer来流式传输RTSP / HTTP流吗?
source = gst_element_make_from_uri (GST_URI_SRC,"http://76.73.90.27:80/" ,NULL);
decoder = gst_element_factory_make ("mad", "mad-decoder");
sink = gst_element_factory_make ("alsasink", "audio-output");
g_object_set (G_OBJECT (source), "location", argv[1], NULL);
gst_element_set_state (pipeline, GST_STATE_NULL);
bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
gst_bus_add_watch (bus, bus_call, loop);
gst_object_unref (bus);
gst_bin_add_many (GST_BIN (pipeline),
source, decoder,sink, NULL);
gst_element_link_many (source, decoder, sink, NULL);
gst_element_set_state (pipeline, GST_STATE_PLAYING);
g_main_loop_run (loop);
gst_element_set_state (pipeline, GST_STATE_NULL);
gst_object_unref (GST_OBJECT (pipeline));
1条答案
按热度按时间dhxwm5r41#
您指向错误的IP地址。该IP是一个普通的Web服务器,而不是流媒体广播。尝试在音乐播放器中播放电台的
.m3u
,看看它实际播放的地址。运行
gst-launch souphttpsrc location=http://76.73.52.173/ ! decodebin ! autoaudiosink
。你可以使用gst_parse_launch()
在你的程序中使用这些相同的字符串,你的程序会短得多。