キャプチャカード(Blackmagic decklink)からOpenCVへのビデオストリームを取得し、ライブストリームをred5または他のrtmpサーバーに送るという私の目的。OpenCVとGstreamerストリーミングライブビデオ
だから、gstreamerで2つのブランチを使ってみましたが、以下のコマンドが正しく動作しています。しかし、OpenCVを使ってrtmpサーバにブラックフレームをストリームするだけで、opencvはうまく動作します。
GStreamerのコマンド:
GST-打ち上げ-1.0 -v autovideosrc!ティー名= t t。 !ビデオコンバート! videoscale!待ち行列! x264encパス=パス1スレッド= 4ビットレート= 5000 チューン=ゼロ化!待ち行列! flvmux streamable = true! rtmpsink location = "rtmp://127.0.0.1/live/stb live = 1" max-lateness = 100 t。 ! ビデオ/ x-raw、幅= 1280、高さ= 720! appsink
OpenCVのコード:
String gstSentence = "gst-launch-1.0 -v autovideosrc ! tee name=t " +
"t. ! videoconvert ! videoscale ! queue ! x264enc pass=pass1 threads=4 bitrate=5000 tune=zerolatency " +
"! queue ! flvmux streamable=true ! rtmpsink location=\"rtmp://127.0.0.1/live/stb live=1\" max-lateness=100 " +
"t. ! video/x-raw,width=1280,height=720 ! appsink";
System.out.println(gstSentence);
videoCapture = new VideoCapture(gstSentence);
私の環境:
- のUbuntu 16.04
- OpenCVの3.1 - Javaのラッパー
- GStreamerの1.8.1
どうすれば対処できますか?
ありがとうございます。
OpenCVはうまく動作しますが、RTMPストリームはまだ黒です。どうすれば対処できますか? RTMPとx264encを変更する必要がありますか? – erdoganonur