問題タブ [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.

0 投票する
0 に答える
321 参照

youtube - GStreamer と Youtube 問題 RTMPSink がリソースに書き込めない

GStreamer を使用して YouTube にビデオを送信する際に問題があります。私のパイプラインは次のとおりです。

フレームをパイプラインにプッシュするために、Java と gst1-java-core を使用しています。

しばらくすると、次のようなエラーが発生します: GstRTMPSink 要素からリソースに書き込めませんでした。1時間後に起こることもあれば、3時間後に起こることもあります。問題は、YouTube が私のストリームを受信しないことだと思います。私は正しいですか?パイプラインに何か問題がありますか? たぶん、これをYouTubeで適切に機能させるために、いくつかのプロパティを調整する必要がありますか?

0 投票する
1 に答える
171 参照

java - JNA & gst1-java-core で Gstreamer for Android を使用していますか?

始める前に、 Android チュートリアル自体で行ったように、C コードを使用してネイティブに Gstreamer を Android に統合できることを知っていることを言っておきます。

この質問は単に Android で Gstreamer を実行することとは関係ありませんが、既存のネイティブ Java ラッパー ライブラリgst1-java-coreを新しいネイティブ プロジェクトの Android Studio 内のJNAと一緒に使用して Android で実行することとは関係ありません。ただし、ネイティブ C コードが唯一の方法である場合は、私がやろうとしていることを試して失敗したかどうかをお知らせください。

さぁ、始めよう。

システム情報:

  • OS: Linux Ubuntu 18.04
  • アンドロイド スタジオ バージョン: 4.1.2
  • Java バージョン: 8
  • SDK バージョン: 30 (ターゲット API 21)
  • NDK バージョン: 21 (23 も試しました)
  • テストデバイス: Samsung Galaxy Tab S6 Lite (まだそこに到達していませんが)

プロセスには、Android Studio でまったく新しいプロジェクトを設定し、ネイティブ C++ をプロジェクト テンプレートとして選択した後、ツールチェーンを含む他のすべてをデフォルトのままにする必要がありました。プロジェクトがビルドされて終了したら、Gradle ビジネスです。通常のgit initを実行し、Git でセットアップしました。その後、gst1-java-core-1.4.0.jar をダウンロードして、リリース ページから「 app/」フォルダー内の「 libs/」に直接追加しました。

完了したら、このGradle Gistと一致するように app ディレクトリの build.gradle ファイルを変更しました。

その後、Gradle 同期が自然に行われ、それが正しく完了したら、MainActivity.javaに移動し、合計 2 行のコードを追加しました。まず一番上に:

そしてonCreateメソッド内で:

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

次に、Android 用の Gstreamers のインストール手順に従って、NDK バージョン (gstreamer-1.0-android-universal-1.18.3.tar.xz) に一致するバイナリをダウンロードし、それらをフォルダーに抽出することで、これを修正しようとしました。次に、環境変数が指す

p>

この環境変数を~/.projectにも~/.bashrcに追加し、それらのいずれかを入手してビルドして実行しようとしましたが、何も変わりませんでした。

次に、 local.propertiesgradle.propertiesの両方に 同時に(そして一度に 1 つずつ)追加しようとしましたが、それでも同じ エラーが発生します。

gstreamer-java の github が提供する Javaのは私のマシンで問題なく動作するため、システム全体のエラーではなく、ライブラリのロードに何らかの形で失敗する Android 環境固有のエラーのようです。おそらく、その環境変数を探す方法がわからないためです。

したがって、今の質問は次のとおりです。誰かが gst1-java-core を取得して、JNA を介して Android で動作するようにしましたか、またはこのライブラリのインポートに関して私が間違っている可能性があることに関して、誰かが私を正しい方向に向けることができますか? どんな助けでも大歓迎です。