問題タブ [gstreamer-0.10]
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.
c - gstreamer appsrc テスト アプリケーション
私が書いたトランスポート ストリーム デマルチプレクサから AV を再生するための gstreamer appsrc プラグインを学習しようとしています (プラグインは既に利用可能であることを知っています。学習するために自分でやりたかったのです)。MPEG トランスポート ストリームからオーディオとビデオのエレメンタリ ストリームを抽出しました。これを appsrc プラグインにプッシュし、gst パイプラインを使用して再生する必要があります (この部分はまだ明確ではありません: どのプラグインを使用するかについて - どんなヒントでも大歓迎です)。
appsrc の使用に関するサンプル コードを見つけましたが、それを実行しても何も出力されません。start_feed
andread_data
関数が実際に呼び出されることを確認しました。read_data
関数には、データをプッシュするかどうかを決定するタイマー チェックがあります。
このタイマーの目的はわかりませんが、の値ms
は常に約 0.035 であり、データが appsrc にプッシュされることはありません。そのため、if 条件を次のように変更しましたif(ms > 0.03)
が、内部データ フロー エラーが発生しました。
これを微調整してビデオを表示する方法を誰か教えてもらえますか? リンク先のウェブサイトのコードを以下に示します。
更新: udpsink を通常の xvimagesink に置き換えてみましたが、役に立ちませんでした
flush - gstreamer パイプラインをフラッシュする方法
ケース
ファイルから継続的に読み取り、appsrc 要素にフィードします。ソース - apprc
PLAYING 状態の GStreamer パイプラインがあります。apprcキューをクリアする必要があることを意味するボタンを押したときに、パイプラインをフラッシュ/クリーンする必要があります。再生は、現在追加されているバッファまたはフラッシュ後に追加されたバッファから開始する必要があります。
使用した API を発行
すると、false が返されました。フラッシュできません。
上記は両方とも 0 を返しました。これは false を意味します。この false の理由は何ですか?
API を使用してパイプライン内のデータをフラッシュするにはどうすればよいですか? または、再生をスキップするための他の API はありますか?
試した
- 数ミリ秒のギャップがある場合とない場合のパイプラインへの 送信
gst_event_new_flush_start ()
と送信gst_event_new_flush_stop ()
gst_event_new_seek (1.0, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH, GST_SEEK_TYPE_SET, 0, GST_SEEK_TYPE_SET, 0);
- パイプラインを NULL に設定してから、もう一度 PLAYING に設定します
これらはすべて機能しませんでした。
opencv - Gstreamer が名前付きパイプにシンクしない
gst-launch パイプラインのシンクが名前付きパイプと通常のファイルの場合、動作が異なります。
私は、カメラからのビデオを OMAP 組み込み (Linux) ボードに表示し、ティーを介してビデオを avi として配信する gst-launch パイプラインを持っています。
私が作れば
すべては順調です
しかし、Java/opencv プロセスで出力を読みたいのですが、これを行うと、Java プロセスには何も得られません。gst-launch プロセスは、PLAY に変更されたことをアナウンスします。
Javaプロセスの代わりに物事を単純化するためにtail -f
、名前付きパイプを使用します
出力も表示されませんが、どちらの場合も dri2videosink はビデオを表示しています
tail または Java プロセスのいずれかで、それを強制終了すると gst-launch プロセスも停止するため、明らかに何らかの意味で「接続」されています。
テールを実行して gst-launch プロセスを強制終了すると、gst-launch が終了した後、数 K、おそらく 1 フレームのデータが取得されます。
通常のファイルに保存してJavaプロセスで読み取ろうとしましたが、これは機能するので、データ形式ではないことがわかります。
c++ - Visual Studio 2013 - Qt5 - Gstreamer: Gstreamer を正しくインストールしたにもかかわらず、「libgstreamer-0.10-0.dll がコンピューターにありません」
同様の質問がstackoverflowですでに尋ねられましたが、誰も答えなかったので、もう一度質問します。
http://docs.gstreamer.com/display/GstSDK/Installing+on+Windowsのすべての手順に従いました
したがって、コンピューターに Gstreamer SDK + Devel を正しくインストールしたと思います。環境変数を設定する手順に従いました: GSTREAMER_SDK_ROOT_X86_64
Visual Studio で新しい Qt5 プロジェクトを作成し、gstreamer のプロパティ シートを設定しましたが、アプリケーション (まだ gst_init が呼び出された基本的な Qt アプリ) を実行すると、次のようなエラーが発生します。
コンピュータに libstreamer-0.10-0.dll が見つからないため、プログラムを開始できません。
Windows/System32
dll が存在しなければならない、またはSysWOW64
そのようなファイルが存在しないと言う人もいます。その dll は、デフォルトでgstreamer_root_sdk_folder/bin
.
gstreamer - gstreamer 0.10 から 1.0 への pygst プログラムのパイプライン移植エラー
プログラムを pygst 0.10 から 1.0 に移植していますが、パイプラインに問題があります。私が 0.10 バージョンで使用し、うまく機能するパイプラインは次のとおりです。
1.0 バージョンの場合、パイプラインは次のようになります。
コードは次のとおりです。
デバッグ フラグを設定しました。出力は次のとおりです。
c++ - gstreamer-0.10 出力パイプライン文字列
gstreamer-0.10 要素のパイプラインを出力したいと思います。これはどのように行うことができますか?
外部の開発者が私たちのために書いたコード:
私はパイプラインを見ようとしています:
しかし、コンパイルしようとすると、多くの警告が表示されます。
c - imx6 yocto プロジェクトでの gstreamer パイプラインの問題?
私はVVDN imx6ボードに取り組んでおり、gstreamerを正常にインストールしました。このコマンドの後:
エラーが発生しました:
root@imx6slzbha:~# gst-launch-0.10 audiotestsrc ! オーディオ変換!autoaudiosink パイプラインを一時停止に設定しています...
エラー: パイプラインは一時停止を望んでいません。
エラー: 要素 /GstAlsaSink から:autoaudiosink0-actual-sink-alsa: 操作できませんでした。
追加のデバッグ情報: /home/user/vvdn_sdk/stct_iog1/source/yocto/build/tmp/work/cortexa9hf-vfp-neon-m:
デバイス「デフォルト」での再生オープン エラー: そのようなファイルまたはディレクトリはありません パイプラインを NULL に設定しています ...
パイプラインを解放しています...