VLCのサーバー機能の使い方を理解しようとしています。より具体的には、RTPストリーミングの場合にSDPファイルをエクスポートする方法。 第4章 のRTPストリーミングの例サーバーとクライアントが与えられます:
vlc -vvv input_stream --sout '#rtp{dst=192.168.0.12,port=1234,sdp=rtsp://server.example.org:8080/test.sdp}'
vlc rtsp://server.example.org:8080/test.sdp
それを実際に機能させる方法は私にはあまり明確ではありません。 2つのcmdインスタンスを使用して、サーバーとクライアントに対して次の2つのコマンドを試しました。
vlc -I rc screen:// --sout=#rtp{dst=127.0.0.1,port=4444,sdp=rtsp://localhost:8080/test.sdp}
vlc -I rc rtsp://localhost:8080/test.sdp
2番目のコマンドを呼び出すと、最初のコマンドがクラッシュします。 2番目のコマンドは、「localhost:8080に接続できませんでした」というエラーメッセージを表示します。
あなたの問題は、あなたが見ている例がファイルのストリーミングであり、あなたの例のコマンドがscreen://
入力を使用している可能性が高いということです。 screen://
デバイスを機能させるには、最初にビデオをエンコードする必要があります。したがって、次のようなものを試してください。
vlc -I rc screen:// --sout=#transcode{vcodec=h264,vb=800,scale=0.25,fps=10}:rtp{dst=127.0.0.1,port=4444,sdp=rtsp://localhost:8080/test.sdp}
vlc -I rc rtsp://localhost:8080/test.sdp
コマンドを二重引用符で囲む必要があります
--sout="#transcode{vcodec=h264,vb=800,scale=0.25,fps=10}:rtp{dst=127.0.0.1,port=4444,sdp=rtsp://localhost:8080/test.sdp}"