1

VLC ライブラリを使用して C プログラミングで RTSP クライアントを作成する必要があります。これについていくつか質問があります。

  1. RTSP SETUP リクエストを送信する機能が VLC ライブラリにありませんでした。ゼロから作成する必要がありますか?
  2. RTSP SETUP リクエストを送信するとき、RTP と RTCP の 2 つのソケットを開いてポート番号を live555 メディア サーバーに送信し、これらのポートを介してデータを受信する必要があります。RTSP SETUP の応答を受信するには、UDP 用に別のソケットを開く必要がありますか?送信データ処理を制御する /PLAY/PAUSE/STOP 要求?
  3. アプリケーション層で送信データ処理を一時停止したい場合、RTSP PAUSEリクエストをサーバーに送信し、プレイヤーにPAUSEリクエストを送信して一時的に送信データ処理を停止する必要があるのですが、VLCライブラリのどの関数を使っているのかわかりません目的 、これらの機能について教えていただけますか?

ありがとうございました。

4

1 に答える 1

1

コメントでfeepkが述べているように、VLCがlive555ライブラリを使用してこれを行うため、手動でRTSPセットアップを行う必要はありません。libvlc_media_new_location 関数を使用して RTSP 接続を開き、メディア プレーヤー インスタンスに渡すことができます。

例えば:

// You must create an instance of the VLC Library
libvlc_instance_t * vlc;
// You need a player to play media
libvlc_media_player_t *mediaPlayer;
// Media object to play.
libvlc_media_t *media;

// Configure options for this instance of VLC (global settings).
// See VLC command line documentation for options.
std::vector<const char*> options;
std::vector<const char*>::iterator option;
// Load the VLC engine
vlc = libvlc_new (int(options.size()), options.data());

// Create a media item from URL
media = libvlc_media_new_location (vlc, "RTSP_URL_HERE");
mediaPlayer = libvlc_media_player_new_from_media (media);
于 2015-07-07T03:17:30.460 に答える