2

gstreamer rtmpsrcプラグインを使用して、クライアントマシンからWebカメラ経由で生成されたライブ着信フラッシュメディアストリームをキャプチャし、処理可能な形式に変換したいと思います。問題は、次のコマンドを使用して着信rtmpフラッシュメディアストリームを表示しようとすると出力が表示されますが、filesinkを使用してストリームをファイルに保存しようとするとまったく機能しません。

gst-launch-0.10 rtmpsrc location='rtmp://127.0.0.1/flvplayback/mynewstream live=1' ! flvdemux name=d d. ! queue ! decodebin ! xvimagesink

また、このパイプラインをC / C ++プログラムに構築して、着信要素を処理できるようにしません。「filesrc->appsrc->appsink-> filesink」のコードを記述しましたが、正常に動作します。

ただし、「rtmpsrc-> appsrc-> appsink-> rtmpsink」のコードを記述しても、機能しません。私はgstreamerプログラミングに慣れていないので、そのようなプログラミングチュートリアルやサンプルを入手できる優れたリソースを教えてください。

私のシステム構成:

Linux Ubuntu12.0464ビット

crtmpserver x86_64

gstreamer 0.10

4

2 に答える 2

1

flvdemux を別のビデオ (H.264) とオーディオ (MPEG 4 AAC) を使用して処理できると思います。遅延 10 秒など: queue max-size-buffers=0 max-size-time=0 max-size-bytes=0 min-threshold-time=10000000000.

例:

gst-launch-1.0 rtmpsrc location=rtmp://XXXX ! flvdemux name=mydemuxer flvmux name=mymuxer ! queue ! rtmpsink location=rtmp://XXXX mydemuxer.audio ! queue ! mymuxer.audio mydemuxer.video ! queue ! mymuxer.video

于 2016-12-06T02:33:12.053 に答える
0

なぜappsrcとappsinkが必要なのですか? rtmpsrc を試してみてください! filesink を使用して、ファイルを直接ダンプします。

于 2012-08-27T19:37:46.523 に答える