2010-07-10 27 views
0

我需要流rtsp/http流,當我創建一個元素源使用 source = gst_element_make_from_uri(); 它不起作用。有沒有人使用gstreamer來傳輸流rtsp/http流。無法播放使用gstreamer中的gst_element_make_from_uri uri

請幫助..我附上的代碼片段也

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)); 
+0

我正在開發一個在Ubuntu 10.4上使用Qt的應用程序。我需要使用gstreamer api來流uri的。目前我不使用聲子 – ruby 2010-07-10 06:57:00

回答

0

你在錯誤的IP地址指向。該IP是一個普通的網絡服務器,不是流式無線電。嘗試在音樂播放器中播放電臺的.m3u,並查看它實際播放的地址。

請改爲嘗試運行gst-launch souphttpsrc location=http://76.73.52.173/ ! decodebin ! autoaudiosink。您可以使用gst_parse_launch()在程序中使用這些相同的字符串,並且您的程序將更短。

+0

謝謝。但使用聲音我無法播放.m3u/PLS文件。你可以建議如何播放播放列表 – ruby 2010-07-20 04:29:25

+0

@ruby我用winamp;你可能會使用圖騰,vlc或任何其他普通的音頻播放器。當你不在寫應用程序時,你通常如何聽這個廣播電臺? .m3u是一個非常簡單的格式。在您的應用程序中,您只需解析電臺的播放列表,並嘗試打開.m3u中的下一個URL時,如果出現錯誤或流結束。 – joeforker 2010-07-20 16:22:23