問題タブ [playbin2]
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.
gstreamer - Playbin2 で再生中に current-video を変更すると、ビデオが停止する
複数のトラックを含むビデオ ファイルを再生する playbin2 パイプラインがあります。current-video
プロパティを設定することで、現在再生中のトラックを変更できます。
ただし、これを設定すると、ビデオがハングし、最終的に灰色になります。オーディオは再生し続けます。同僚は、パイプラインをフラッシュすると修正される可能性があると提案しましたが、それを行う唯一の方法は、現在の位置を でシークすることのようGST_SEEK_FLAG_FLUSH
です。シークの使用は機能しますが、面倒なようです。
を設定するときに何か間違ったことをしていcurrent-video
ますか? パイプラインをフラッシュする簡単な方法はありますか?
注: ビルドが簡単だったので、Ogg Theora ファイルをテスト用に使用しています。この問題が他の形式で発生するかどうかはわかりません。
memory-leaks - サフィックスインデックスが増加するgstreamer要素は、メモリリークの可能性を意味しますか?
gstreamer-1.0 に基づいて、playbin を使用して特定のファイルをループ用にデコードする簡単なコードを作成しました。playbin が要素 mpeg2dec 要素を作成するたびに、要素には新しい名前が付けられます。最初の名前は「mepg2dec0」である可能性があり、ファイルが再度再生されると、接尾辞インデックスが「mpeg2dec1」、「mpeg2dec2」などに増加します。
コードの引用の一部を次に示します。
このサフィックス インデックスの増加は、解放されていない要素のメモリ リークの可能性を意味しますか?
gstreamer - Gstreamerのテキスト形式でplaybinによって作成されたパイプラインを取得するには?
次のパイプラインを使用して、トランスポート ストリーム ファイル (*.ts) を再生しています。
しかし、それを自分でパイプラインに変換する必要があります。これを達成する方法がわかりません。
これまで試してみました:(正常に動作します)
しかし、fakesink を autoaudiosink に置き換えると、リンクされていないエラーで失敗します。
そして、フェイクシンクでさえビデオでは機能しません:
だから私は2つの質問があります:
- playbin 要素によって作成されたパイプラインを見つける方法。
- gstreamer パイプラインを使用して mpeg2-ts ファイルを再生する方法。
android - playbin2 uri の Gstreamer smb リンク
Androidでgstreamer playbin2を使用して、Windows PCにあるビデオファイルを再生しようとしています。私のウリは次のとおりです
「smb://xxxxx-pc/share/1.mp4」
エラーは次のように表示されます: 要素 uridecodebin0 からのエラー コード: smb 用に実装された URI ハンドラーがありません。
smb URI サポートが android に提供されていないということですか? もしそうなら、回避策はありますか?
前もって感謝します。
c - gstreramer を使用して曲を再生するには、どのようなシーケンスに従う必要がありますか?
gstreamer-0.10 に基づいて音楽プレーヤーを構築しています。を正常に再生できますが、パイプラインの状態を変更すると問題が発生します。以下のパイプラインを初期化して開始するコードを投稿しました。
上記のコードは、gstreamer パイプラインを初期化します。playbin2 を使用しています。
パイプラインが初めて状態を変更しないという理由だけで、if(i == TRUE) 条件を使用する必要がありました。
}
上記の関数は、それぞれ再生、一時停止、および停止機能を実行します。問題は、ファイルのパスを関数に送信するとstart_playbin()
、パイプラインのみを準備完了に設定した後にファイルのパスを変更できないことです。1) 準備完了 2) 一時停止または再生 (状態を設定できません) 3) 曲を停止してから再生 (状態を成功に設定) します。
私を助けてください。パイプラインを準備完了のみに設定してもエラーは発生しませんが、プログラムはハングします。何が問題なのですか?パイプラインをセットアップしてファイルのパスを設定するために従うべき特定の順序はありますか?
ios - GStreamer iOS、パイプラインを構築できません:要素「playbin2」がありません
現在、GStreamer を iOS プロジェクトに統合しようとしています。
gstreamer-1.0-devel-1.2.1-ios-universal.pkg をダウンロードし、GStreamer.framework をプロジェクトに追加しました。http://docs.gstreamer.com/display/GstSDK/iOS+tutorial+4%3A+A+basic+media+playerのチュートリアル iOS に従いました。前のチュートリアルは問題なく動作しますが、基本的なメディアの作成に関してはプレーヤー、パイプラインの開始に常に問題があります。以下は私が使用するコードです
そして、エラーが発生しました:パイプラインを構築できません:要素「playbin2」がありません
同じメソッド (gst_parse_launch()) を使用して、Mac 用の GStreamer を同様にダウンロードし、内部ビデオ プレーヤーを起動してビデオを再生できます。
プラグイン (playbin2) が適切にインストールまたは構成されていない可能性があると思います。解決策を見つけるためにあらゆる場所を検索しましたが、見つかりませんでした...
前もって感謝します
video - gstreamer は複数の src またはパイプラインをサポートしていますか?
gstreamer を使用してビデオを再生します。gstreamer がビデオを再生するために 2 つ以上のパイプラインをサポートしているかどうかを知りたいですか?つまり、gstreamer を使用して 2 つ以上のパッド ビデオを再生したいと考えています。
python - Python での GStreamer のタイミング
私の Python プログラムでは、GStreamerplaybin
を と組み合わせて使用しtextoverlay
て、ビデオ ファイルを再生し、その上にテキストを表示します。これは正常に機能します。text
プロパティを変更するとtextoverlay
、新しいテキストが表示されます。
しかし、今はビデオの現在の位置/時間に基づいてテキストを設定したいと考えています(字幕など)。
パイプラインのクロック、バッファのタイムスタンプ、セグメント イベント、および x ミリ秒ごとに現在の時刻をクエリする外部タイマーについて読みました。しかし、できるだけ早く正しいテキストを表示できるように、時間の変更について通知を受けるためのベスト プラクティスは何ですか?
windows - Windows で gstreamer 用の playbin2 プラグインをインストールするにはどうすればよいですか
ここで提案されている gstreamer のチュートリアルを実行しようとしていますが、ここで説明されている問題が発生しています 。私の場合は、おそらく playbin2 のプラグインがインストールされていないことです。gstreamer (devel バージョン) をダウンロードしてインストールしましたが、ここで提案されているようにライブラリとのリンクに成功しましたが、 playbin2 に関連するものは見つかりませんでした。
お時間をいただきありがとうございます。