問題タブ [python-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 投票する
1 に答える
380 参照

pygame - バッファ長が正しくありません

GStreamer によって提供されるビデオ フレームを含むバッファー オブジェクトを処理する次の関数があります。

ただし、このコードを実行すると、提供されたバッファーが必要以上に大きく、このサイズを一致させる必要があるため、pygame がクラッシュします。これはおそらく、再生される映画のエンコーディングの誤りが原因であることはわかっていますが (ほとんどの映画は問題なく動作するため)、この不測の事態を説明する方法はありますか? 外出先でバッファのサイズを正しいサイズに変更する方法はありますか? 必要な長さでバッファーの末尾を切り取ろうとしましたが、ムービーは再生されますが、出力が破損しています。

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

python - Gstreamerバスがicw python multiprocessingを呼び出し、UbuntuでXサーバーエラーを引き起こす

ここで指定されているように、gstreamer でビデオ プレーヤーを作成しました: https://github.com/dschreij/media_player_gst/blob/master/media_player_gst.py

Windows では、「通常」およびマルチプロセッシング モード (つまり、すべての Gstreamer パーツとプレーヤー オブジェクトが別のプロセスで作成される) で問題なく動作します。ただし、Ubuntu 13.10 では、プレーヤーが独自のプロセスで実行されると、

次のエラーが発生し、プログラム全体 (親プロセスも) がクラッシュします。

それ以外の場合、プレーヤーは新しいプロセスで正常に実行されます。self.bus.peek() への呼び出しのみがクラッシュします。メッセージを処理する関数にバスを接続しても機能しないように見えたため、バス キュー自体のイベントをチェックする必要がありました (Ubuntu でのみ!)。

基本的にストリームの最後(gst.MESSAGE_EOS)に到達したかどうかをバスで確認するだけなので、playbin2 バスを使わずに判断できるのであれば、そのような解決策でも構いません。これで私を助けてくれる人はいますか?

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

python - 定義済みの時間、gstreamer でオーディオを録音する方法は?

「autoaudiosrc」要素を使用してオーディオを録音する python gstreamer - 1.0 コードがあります。私の質問は、「事前定義された」数秒後にパイプラインを停止することであり、できれば gstelement 形式で追加したいと考えています。

記録に使用される現在のパイプライン:

対応する python コード

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

python - gstreamer/Python (gnonlin?) を使用してビデオの一部をカットする

ビデオ ファイルがあり、いくつかのシーン (時間位置またはフレームで識別) を切り取りたいと考えています。私が理解している限り、それはgnonlinで可能であるはずですが、これまでのところ、その方法のサンプルを見つけることができませんでした(理想的にはPythonを使用しています)。できれば映像・音声部分の改変はしたくありません(ただし、mp4/webmへの変換は可能です)。

それを行うには、gnonlin が gstreamer ユニバースの適切なコンポーネントであるというのは正しいですか? また、問題に対処するためのいくつかの指針/レシピがあればうれしいです(gstreamerの初心者)。

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

python-2.7 - 特定の MP3 で id3demux 「ストリーミング タスクが一時停止されました。リンクされていない理由 (-1)」

次のように、かなり古い GStreamer 0.10.32 で、Python-GStreamer でプレーヤーを作成しています。

正常に動作しますが、プレーヤーのバスからタグ メッセージが表示されません。id3 タグが必要です。そのため、caps フィルター ( audio/mpeg, mpegversion=1, layer=3) をid3demuxに置き換えたところ、特定の MP3 でエラーが表示されました: " streaming task paused, reason not-linked (-1)"。

またはを前に置いてそれらにリンクしてもidentity、.queueid3demux

何らかの理由で、mad要素が私のプラットフォームで利用できません。

2 回目の置換が機能しないのはなぜですか、またはストリームから id3 タグを取得する別の方法はありますか?

編集:どうやら、これは特定のファイルが原因です。これらの MP3 の具体的な内容はまだわかっていません。これは、パイプラインを単純にテストしたときにも発生しgst-launchます。

GST_DEBUG=2 を使用すると、次のようになります。

Capsid3demuxフィルターを元に戻すと役立ちますが、タグを取得することはありません。