0

私はこのgstパイプラインを使用してこのRTSPURLを他の何か(何でも!)に変換しようとしています:

gst-launch rtspsrc location=rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov ! rtpmp4vdepay ! filesink location=somebytes.bin

これにより、次のエラーが発生します。

ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2791): gst_base_src_loop (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc0:
streaming task paused, reason not-linked (-1)

つまり、rstpソースをdepayloaderに接続することに関するものだと思います。vdepayではなくrtpmp4gdepayを使用するようにパイプラインを変更すると、動作して何かが生成されますが、出力形式がわかりません。

このURLからビデオを取得するために使用するパイプラインを知っている人はいますか?mp4 / h264 / aacだと思いますが、そうではないかもしれません。

4

2 に答える 2

2

最初にこれを試してください:

gst-launch-0.10 -v playbin2 uri=rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov

また

gst-launch-1.0 -v playbin uri=rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov
于 2012-11-23T13:32:40.603 に答える
1

Mov ファイルは直接ストリーミングできません。したがって、RTSP ソースはおそらく 2 つのエレメンタリ ストリームを送信しています。(これは darwin または他の同様のサーバーであると推測しています) したがって、rtspsrc からの 2 つの出力をオーディオ用とビデオ用にセットアップする必要がある場合があります。

rtpmp4vpay は、基本的な mpeg4 ストリーム用です。ソース ファイルに mpeg4 ビデオ コーデックが含まれていますか? h.264 の場合は、rtph264depay に置き換えます。出力をデコーダーに渡して、必要に応じて再生できます。これをdecodebinにフィードします。h.264 でダンプするには、最初に解析して nal ヘッダーを追加する必要があります (おそらく h264parse 解析?)

rtpmp4gpay はおそらく音声ストリームに受け入れられます。

ファイルが h.264/aac であると推測しているため、rtpmp4vdepay は機能せず、rtpmp4gdepay は機能します。ただし、rtpmp4gdepay をセットアップするときはビデオについて何もしていないので、それを行う必要があります。

于 2012-11-30T14:32:06.617 に答える