2012-04-23 21 views
0

我正在嘗試瞭解gstreamer和niw的一些信息我正在使用gstreamer接收視頻流,該視頻流由vlc播放器通過udp進行流式處理。爲了做到這一點,我寫了下面的代碼。不能顯示視頻,由gstreamer收到。沒有圖片顯示,只有純色可見

playbin = gst_element_factory_make("playbin2", "play"); 
g_object_set(G_OBJECT(playbin), "uri", uri.c_str(), NULL); 

bus = gst_pipeline_get_bus(GST_PIPELINE(playbin)); 
gst_bus_add_watch(bus, &bus_watcher, NULL); 
gst_object_unref(bus); 

gst_element_set_state(GST_ELEMENT(playbin), GST_STATE_PLAYING); 

問題是視頻不顯示。如果灰色(黑色/綠色/藍色等)屏幕顯示唯一的東西。有時可能會看到一些數字在那裏移動。聲音的情況會好一些。大部分時間它是可識別的。我試圖設置「緩衝區時間」和「緩衝區大小」等屬性,但我可以提到的唯一影響是聲音質量的提高。 還有一件事。我試圖使用普通的playbin(意思是不是playbin2),它的工作更好一些。至少音質有所提高。

也許有人知道如何解決這個問題?

+0

這看起來像C代碼,那麼如何添加C標籤? – karlphillip 2012-04-23 20:42:06

+0

你使用了什麼gstreamer版本。它是否會發生在所有類型的文件中,或者只發生在特定的文件中。嘗試在使用gstreamer的圖騰等應用程序中播放視頻。基本上,儘量縮小它。 – ensonic 2012-04-24 10:56:41

回答

0

那麼,我仍然不能顯示視頻,但它不是關於程序或視頻文件格式的錯誤。我已經設法顯示相同的視頻,使用相同的playbin,然後通過http進行廣播。

+0

要使用playbin2通過UDP獲取廣播,您需要將URI設置爲 「udp://0.0.0.0:5000」。用您要廣播的端口替換5000。 – Chimera 2013-05-14 12:59:51

0

您可能想要將視頻接收器和音頻接收器添加到您的應用程序,並對發生的事情有更好的控制。

Example 2.1是一個python應用程序,顯示要這樣做。