0

私は少し混乱しています。あなたが私を助けてくれることを願っています。Androidでrtspサーバーを作成しています。いくつかの問題がありましたが、1 つを除いてすべてを解決する方法がいくつかありました。

説明: RTSP、RTP、および UI の 3 つのモジュールで構成されるアプリケーションがあります。UIの説明をスキップします。RTSP は tcp ポート 55555 でリッスンを開始します。次に、VLC で rtsp://address:55555 と入力します。次に、ハンドシェイクとすべての RTSP ヘッダーの共有があります。ヘッダープログラムの共有中は、RTP を介して受信ポートと設定ポートを設定し、Android アプリケーションはいくつかのバイトの送信を開始しますが...

ここに問題があります: VLC には画像がありません。だから私はログを見て、

main debug: resyncing on rtsp://192.168.1.143:55555
main debug: rtsp://192.168.1.143:55555 is at 2
main debug: starting playback of the new playlist item
main debug: resyncing on rtsp://192.168.1.143:55555
main debug: rtsp://192.168.1.143:55555 is at 2
main debug: creating new input thread
main debug: Creating an input for 'rtsp://192.168.1.143:55555'
main debug: using timeshift granularity of 50 MiB, in path 'D:\Users\Adrian\AppData\Local\Temp'
main debug: `rtsp://192.168.1.143:55555' gives access `rtsp' demux `' path `192.168.1.143:55555'
main debug: creating demux: access='rtsp' demux='' location='192.168.1.143:55555' file='\\192.168.1.143:55555'
main debug: looking for access_demux module: 1 candidate
live555 debug: version 2012.09.13
qt4 debug: IM: Setting an input
live555 debug: RTP subsession 'video/JPEG'
main debug: selecting program id=0
live555 debug: setup start: 0.000000 stop:100.000000
live555 debug: We have a timeout of 600 seconds
live555 debug: spawned timeout thread
live555 debug: play start: 0.000000 stop:100.000000
main debug: using access_demux module "live555"
main debug: TIMER module_need() : 155.608 ms - Total 155.608 ms / 1 intvls (Avg 155.608 ms)
main debug: looking for decoder module: 32 candidates
avcodec debug: libavcodec already initialized
avcodec debug: trying to use direct rendering
avcodec debug: allowing 4 thread(s) for decoding
avcodec debug: ffmpeg codec (Motion JPEG Video) started
main debug: using decoder module "avcodec"
main debug: TIMER module_need() : 1.511 ms - Total 1.511 ms / 1 intvls (Avg 1.511 ms)
main debug: looking for meta reader module: 2 candidates
lua debug: Trying Lua scripts in D:\Users\Adrian\AppData\Roaming\vlc\lua\meta\reader
lua debug: Trying Lua scripts in E:\VideoLAN\VLC\lua\meta\reader
lua debug: Trying Lua playlist script E:\VideoLAN\VLC\lua\meta\reader\filename.luac
main debug: no meta reader module matching "any" could be loaded
main debug: TIMER module_need() : 1.981 ms - Total 1.981 ms / 1 intvls (Avg 1.981 ms)
main debug: `rtsp://192.168.1.143:55555' successfully opened
live555 warning: no data received in 10s. Switching to TCP
main debug: removing module "avcodec"
avcodec debug: ffmpeg codec (Motion JPEG Video) stopped
main debug: killing decoder fourcc `MJPG', 0 PES in FIFO
main debug: Program doesn't contain anymore ES
live555 debug: RTP subsession 'video/JPEG'
main debug: looking for decoder module: 32 candidates
avcodec debug: libavcodec already initialized
avcodec debug: trying to use direct rendering
avcodec debug: allowing 4 thread(s) for decoding
avcodec debug: ffmpeg codec (Motion JPEG Video) started
main debug: using decoder module "avcodec"
main debug: TIMER module_need() : 1.352 ms - Total 1.352 ms / 1 intvls (Avg 1.352 ms)
live555 debug: setup start: 0.000000 stop:100.000000
live555 debug: play start: 0.000000 stop:100.000000
live555 error: no data received in 10s, aborting
main debug: EOF reached
main debug: finished input
main debug: removing module "avcodec"
avcodec debug: ffmpeg codec (Motion JPEG Video) stopped
main debug: killing decoder fourcc `MJPG', 0 PES in FIFO
main debug: removing module "live555"
main debug: Program doesn't contain anymore ES
main debug: dead input
main debug: changing item without a request (current 2/3)
main debug: nothing to play
qt4 debug: IM: Deleting the input
main debug: TIMER input launching for 'rtsp://192.168.1.143:55555' : 161.112 ms - Total 161.112 ms / 1 intvls (Avg 161.112 ms)
qt4 debug: Small
qt4 debug: Saving the simple preferences
main debug: opening config file (D:\Users\Adrian\AppData\Roaming\vlc\vlcrc)

私の質問: RTSP と同じポートでストリームを送信する必要がありますか? 変更するコードが多すぎるため、あなたの助けを頼りにしています。

そして、私の英語を許してください。

4

1 に答える 1

0

ストリーミング ビデオが udp 経由で VLC に到着していません。これが、10 秒のタイムアウト後にフォールバックを試行し、tcp 経由でメディアを受信する理由です。rtp/rtsp/tcp を見ることができます。これは、rtsp と同じソケットで rtp パケットを送信できるようにするプロトコルです。

于 2013-01-02T08:09:38.030 に答える