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を意味しない)を使用しようとしました。少なくとも音質は向上しました。
誰かがこの問題を解決する方法を知っているのでしょうか?
これはCコードのようですが、Cタグの追加はどうですか? – karlphillip
どのgstreamerのバージョンを使用しましたか?それはすべての種類のファイルまたは特定のファイルに対してのみ起こりますか? gstreamerを使用するtotemのようなアプリケーションでビデオを再生してみてください。基本的に、それを絞るようにしてください。 – ensonic