問題タブ [java-gstreamer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java Gstreamerを使用してウェブカメラからすでにストリーミングしている間にウェブカメラから画像をキャプチャする方法は?
ウェブカメラから画像をキャプチャできるようにする必要がある Java プロジェクトに gstreamer ライブラリを使用しています。
ウェブカメラ ストリームを表示するコードは既にありますが、横にあるボタンを押して画像をキャプチャする方法がわかりません。
インターネットを検索しましたが、ストリームを表示するか、画像をキャプチャするコードしか見つかりませんでしたが、両方を示すコードはありませんでした...それらのコードをマージしようとしましたが、うまくいきませんでしたまた。
これを機能させるにはどうすればよいですか?
android - gstreamer-java + gstreamer_ndk_bundle + Android デバイスの JNA でサウンド ファイルを再生できませんか?
プラットフォーム 8、10、および 13 用の gstreamer_ndk_bundle をビルドしましたが、エラーや問題は発生しませんでした。今、私は gstreamer-java を Android で動作させようとしていますが、動作させたと思います。JNA はうまく機能し (私の lib でテストしました)、Structure.setFieldOrder()
gstreamer-java コードに不足しているすべての呼び出しを追加し、Android に存在しないすべてのクラスとパッケージを削除し、エミュレーターでコンパイルして実行します。また、そのプラットフォーム エミュレーターで特定のプラットフォーム用にコンパイルされた gstreamer ライブラリを使用しました。
このコードを使用して Mp3 ファイルを再生します。
必要なすべてのライブラリとその依存関係は、次のようにロードされます。
アプリは起動するが音が出ない!また、このようなすべてのストリームに対してデバイスの音量を最大にしようとしましたが、音もありません:
Log cat 出力では、audioflinger シンクが作成されていることがわかりますが、音はありません。
私は何が欠けていますか?また、これをPlayBin
でPlayBinMediaPlayer
試し、OGG ファイルで試してみましたが、実行されますが、音が出ません...
android - Android 4.1 でのメディア コーデックのサンプル実装
Android でビデオ バッファを表示しようとしています。Android 4.1 Jelly Bean でリリースされたメディア コーデック API を使用しています。
サンプルは次のようになります。
configure メソッドは、MediaFormat 以外に 3 つの引数を受け入れます。何とか MediaFormat を把握できましたが、他の 3 つのパラメーターについてはわかりません。(下)。
手がかりはありますか?
また、ビデオ バッファを暗号化していない場合、MediaCrypto 引数をどうすればよいですか。
要件:
java - ビデオを同期的に AppSink に送信する
カスタム AppSink を介して UDP 経由でデータを送信するために gstreamer-java を使用しています。効果的なセットアップ方法は次のとおりです。
fileSrc ! streamTee ! displayQueue ! tsdemux ! demuxQueue ! (mpeg2dec || h264dec) ! videosink
と
streamTee ! sendQueue ! udpSink
ライブ ストリームをシミュレートする方法でデータを送信したいと考えています。これを行う唯一の方法は、送信を videoSink を介した再生と同期させることだと思います。つまり、1.0x の再生速度で送信します。
ただし、udpSink のsync
プロパティを設定しても何も変わらないようです。sendQueue により、パケットが可能な限り高速に送信されることを確認しました。
他の要素の間に streamTee を追加する必要がありますか? 私が見逃している明らかなものはありますか?
java - gstreamer の udpsink の送信レートを制限する
データを逆多重化せずに送信している場合、gstreamer の udpsink を制限する方法はありますか?
ストリームを多重化せずに送信する必要があるパイプがあります。
filesrc ! tee name=t ! tsdemux ! ffdec_h264 ! videosink t. udpsink
主な懸念事項は次のとおりです。filesrc ! udpsink
filesrc、queue、または udpsink オプションで制限する方法がわかりません。同期するメディアストリームがないと仮定しているため、使用sync
は機能しません。したがって、そのパイプラインを使用した結果、データは可能な限り高速に udpsink を介して供給されますが、これは受信側の udpsrc では処理できません。
apprc を基本要素として使用して、独自の udpsink を作成しようとしました。このパケット制限スキームを使用します (thread.sleep(throttleDelay);
パケット送信メソッドに があります)。
しかし、これは速度がどのように設定されていても機能しないようです。遅すぎて 1 フレームが通過します。速すぎると、1 つまたは 2 つが通過します。「適切な」速度 (500 kB/秒) では、フレームは 0.5 ~ 2 FPS で受信されますが、ひどく破損しています。
これはコードでこれを行う正しい方法ですか? gstreamer にスループットを制限する方法はありますか?
java - MPEG2 フレームの進行と再描画に問題があります... Processing2 GSVideo1.0 OSX10.8.5
私のプロジェクトでは、Eclipse を使用して OSX 10.8.5 で Processing コア jar と GSVideo ライブラリを使用しています。
次のフレームを実際に再描画するために GSVideo jump(int frame) または jump(float time) を取得できません。以下のプログラム例では、RIGHT キーを繰り返し押してフレームを進めると、表示される画像がフレーム間で前後に切り替わります。以下の例は *.mov では動作しますが、*.mpg ビデオでは動作しないため、MPEG2 ビデオでフレームを進める gstreamer に関する既知の問題があるかどうかを尋ねたいと思います。あるいは、java-gstreamer または GSVideo のどちらかで問題が発生している可能性がありますか?
私はMPEG2形式のビデオを扱っています..そして、MPEG2を再生して一時停止するだけで問題はありません。movie.jump(frameNum or time) 関数が機能していないようです。playbin2 の seek メソッドを使用したフレーム ステッピングの例を探し始めました。
ここに私がジャンプしようとしているビデオに関する情報があります。
ストリーム 0: タイプ: CODEC_TYPE_VIDEO; コーデック: CODEC_ID_MPEG2VIDEO; 期間: 7717710; 開始時間: 433367; タイムベース: 1/90000; コーダー tb: 1001/60000; 幅: 1920; 高さ: 1080; フォーマット: YUV420P; フレームレート: 29.97;
サンプルコード。
サンプルコードはここから引っ張ってきました... http://gsvideo.sourceforge.net/examples/Movie/Frames/Frames.pde
私は数日間インターネットを検索しましたが、これはこのフォーラムにも連絡しようとしました... https://sourceforge.net/projects/gsvideo/forums
この投稿は似ているようですが、私の問題は再生されません (問題ありません)。特定のフレームにジャンプできません.... GStreamer: mpeg2 を再生
SO コミュニティに感謝します。
更新: MPEG2 圧縮の問題 (以下の vk で説明) を回避するために、GSVideo Pipeline または java-gstreamer を使用して、mp4 へのオンザフライ トランスコーディングを行う gstreamer パイプラインを作成しようとしています。以下のコマンドは Ubuntu で動作します。
しかし、次の GSVideo パイプラインでは空の灰色のウィンドウが表示されます:(
java-gstreamer - ffdec_mpeg4: gst_pad_push() のデコード エラー = not-linked パイプライン decodebin2 で gstreamer-java を使用中! ffmpegcolorspace ! ビデオ/x-raw-rgb
次のパイプラインを gstreamer-java で動作させようとしています (gstreamer-0.10 を使用):
"gst-launch-0.10 filesrc location=big_buck_bunny_480p_surround-fix.avi ! decodebin2 ! ffmpegcolorspace ! autovideosink"
このパイプラインはコマンド ラインで動作します。ubuntu 14.04 LTS を実行しているマシン vbox vm
Javaコードのパイプラインで私の問題が何であるかを特定するのを手伝ってくれる人はいますか?
Java コードは次のとおりです。
public static void main(String[] args) {
エラーが発生し始めたときのデバッグ情報は次のとおりです。
macos - GStreamer 1.4.4、Android Studio 1.3.2、OS X Yosemite が動作しない
最新の「GStreamer 1.0」チュートリアル ( http://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/tree/gst-sdk/tutorials )を実行しようとしています。
OS X 用の GStreamer 1.4.4 ( http://gstreamer.freedesktop.org/data/pkg/osx/1.4.4/ ) を既にインストールしており、既に Android NDK を正常に使用しています。
しかし、チュートリアルからアプリケーションをビルドしようとすると、次のエラーが発生します。
エラー:(20, 33) エラー: パッケージ org.freedesktop.gstreamer が存在しません
これは、この import ステートメントを解決していないために発生しています。
org.freedesktop.gstreamer.GStreamer をインポートします。
これは、ビルド中に GStreamer ファイルを含む新しいフォルダーを作成する必要があるためであると読みましたが、それが起こっておらず、理由がわかりません。
NDK のバージョンは r10e、Gradle のバージョンは 2.2.1、プラグインは 1.3.0 です。私はgradle.propertiesで命令を使用しています:
android.useDeprecatedNdk=true
AndroidStudio -> Preferences -> Build, Execution, Deployment -> Path Variables で GStreamer SDK へのパス変数も設定しました。
GSTREAMER_ROOT_ANDROID = /Volumes/HDD/Gstreamer/gst-sdk-debug-arm GSTREAMER_SDK_ROOT_ANDROID = /Volumes/HDD/Gstreamer/gst-sdk-debug-arm