2012-04-23 14 views
0

gstreamerについては何かを学ぼうとしていますが、gstreamerを使ってビデオストリームを受信して​​います。これはvlc playerによってudpでストリームされます。これを行うために、私は次のコードを書いた。gantherさんが受信したビデオを表示します。画像は表示されず、単色のみが表示されます。

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

ビデオが表示されないという問題があります。灰色(黒/緑/青など)の画面が表示されている唯一のものです。場合によってはそこを移動している人物を見ることができます。状況は音で少し良いです。ほとんどの場合、認識可能です。 "buffer-duration"や "buffer-size"のようなプロパティを設定しようとしましたが、サウンドの質の向上だけが言及できます。 そして、もう一つ。私は通常のplaybin(playbin2を意味しない)を使用しようとしました。少なくとも音質は向上しました。

誰かがこの問題を解決する方法を知っているのでしょうか?

+0

これはCコードのようですが、Cタグの追加はどうですか? – karlphillip

+0

どのgstreamerのバージョンを使用しましたか?それはすべての種類のファイルまたは特定のファイルに対してのみ起こりますか? gstreamerを使用するtotemのようなアプリケーションでビデオを再生してみてください。基本的に、それを絞るようにしてください。 – ensonic

答えて

0

私はまだビデオを表示できませんが、プログラムやビデオファイル形式ではエラーではありません。私は同じビデオを表示することができた、私はhttpでそれを放送した後、同じplaybinで。

+0

playbin2を使用してUDP経由でブロードキャストを取得するには、URIを "udp://0.0.0.0:5000"に設定します。 5000を、ブロードキャストするポートに交換します。 – Chimera

0

アプリケーションにビデオシンクとオーディオシンクを追加し、何が起こっているのかをより詳細に制御したいとします。

Example 2.1は、それを行うことを示すpythonアプリケーションです。

関連する問題