2011-06-30 19 views
2

Live555 libは良い例を持っていますtestOnDemandRTSPServer.cppこの例では、ファイル "one"をストリームします。私は複数のファイルをストリーミングしたい。 Live555には再生リストの概念がありますか、Live555で複数のファイルをストリーミングする方法はありますか?Live555を使用して複数のファイルをストリーミングする

ベストウイッシュ

PS:私は

+0

複数のストリームを連続して(同じRTSPセッションで)連続して再生することを意味しますか、または異なるクライアントに複数のメディアファイルを意味するのですか? – Ralf

+0

@Ralf今は、複数のファイルを連続してストリームすることを意味します。私はvideoA、VideoB、VideoCを持っていると仮定します。可能であれば、それらを連続して1つのセッションにストリームしたいとします...クライアント要求rtsp:// xxxxxx/VideoとサーバーがVideoA、VideoB、そして次にvideoCなどをストリームします。 。 – Novalis

答えて

0

マイ0.02セント...その場合にはLive555ではだけで、最後のセッションファイルをストリーミングする、複数のサブセッションを追加しよう: 私はわからないんだけどそれが意味をなさないならば、同じセッションでそれらをストリーミングする必要がある場合、どのようにそれらがすべて同じフォーマットでエンコードされていることを保証しますか? RTSP describeはファイルのメディアセッション記述を取得し、これはストリーミングセッションを設定するために使用されるため、同様にエンコードされたすべてのファイルが重要です。

RTSPはプレイリストを提供していません。通常、プレイリストはRTSP経由では転送されませんが、HTTP経由で転送されます。 IMOプレイリストがクライアント上に存在する場合は、(eofで)RTCPバイパケットを待ってからプレイリスト内の次のファイル/ RTSP URIに対してSETUPとPLAYを実行する方が理にかなっています。

あなただけの何が何をしてLive555ではライブラリのカスタムファイルソースを作成できませんん、もちろんファイルのシーケンスRTSPクライアントはただ一つのセッションを開始(がサーバー上にあるプレイリスト)を、ストリーミングしたい場合あなたは欲しい...

+0

まあ、仮定:彼らはすべて同じフォーマットでエンコードされている私のための真実です...何も私はカスタムソースファイルを書くことを禁じていますが、私はちょうどライブラリには能力のようなビルドがあるかどうかを知りたい...ありがとう – Novalis

+0

さて、確かに。 live555を使用している場合はメーリングリストに参加する価値があり、応答時間は通常とても良いです。投稿する前によくお読みください。 – Ralf

0

live555コードにはもう1つのアプリケーションがあります。 Live555MediaサーバーはソースコードのmediaServerディレクトリ内にあります。これは仕事です。それはdynamicRTSPサーバークラスを使用します。すべてのメディアファイルを含むフォルダを与え、rtsp://ip/filenameとしてアクセスします。

0

最近、私は、同様のタスクと同様の機能としなければならなかった。彼らは同じ解像度、エンコードプロファイルなどであれば、もちろん(プレイリストのような行で再生するビデオH264ストリームファイルのために何ができるか

ここ

を)

ByteStreamFileSource :: doGetNextFrameメソッドを変更する必要があります。 FEOF(fFid)のようなコードもちろん

if (feof(fFid)) 
{ 
    CloseInputFile(fFid); 
    fFid = OpenInputFile(envir(), "test.264"); 
    //fileName 
} 
else .... 

あなたはまだLGPLコンプライアンスをあなたは...あなたは/コピーこのクラス外のライブラリの名前を変更し、同じことを行う必要があります行うにはより多くの仕事があるだろうが必要な場合がありますH264VideoFileServerMediaSubsessionを使用して、メソッドcreateNewStreamSourceを変更して、ByteStreamFileSourceのクラスを書き直すようにします。

関連する問題