1

こんにちは、次のコマンドを使用して gstreamer で音楽ファイルを視覚化しようとしています:

gst-launch filesrc location=file.mp3 ! decodebin ! audioconvert ! 
tee name=myT myT. ! queue ! autoaudiosink myT. ! queue ! goom ! 
colorspace ! autovideosink

しかし、「タイムスタンプに問題があるか、このコンピューターが遅すぎる可能性があります」というエラーが表示されます。

Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstAudioSinkClock
WARNING: from element /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstDshowVideoSink:autovideosink0-actual-sink-dshowvideo: A lot of buffers are being dropped.
Additional debug info:
..\Source\gstreamer\libs\gst\base\gstbasesink.c(2572): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstDshowVideoSink:autovideosink0-actual-sink-dshowvideo:
There may be a timestamping problem, or this computer is too slow.
ERROR: from element /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0

これがスレッドと関係があると仮定して、次のコマンドを試しました。

gst-launch filesrc location=file.mp3 ! decodebin ! audioconvert ! tee name=myT 
{ ! queue ! autoaudiosink } { tee. ! queue ! goom ! colorspace ! autovideosink }

ただし、次のリンクエラーが発生します。

** (gst-launch-0.10:5308): WARNING **: Trying to connect elements that don't share a common ancestor: tee and queue1
0:00:00.125000000  5308   003342F0 ERROR           GST_PIPELINE grammar.tab.c:656:gst_parse_perform_link: could not link tee to queue1
WARNING: erroneous pipeline: could not link tee to queue1

誰が何が悪いのか教えてもらえますか? ありがとう

4

2 に答える 2

1

Windowsがインストールされていないため、正確な回答を提供できません。

これをデバッグするには、最初のパイプラインを使用します (Linux の場合)。gst-launch でパラメーター -v を使用し、autovideosink の直前に要素 ID を配置します。これにより、要素 ID を通過するバッファ情報が出力され、奇妙なものを探します。

また、autovideosink の代わりに directdrawsink を使用することもできます。私が行うもう 1 つのテストは、audiotestsrc でオーディオを生成することです。

バグを見つけた場合は、gnome bugzilla でバグ レポートを開くことができるので、GStreamer 開発者は問題があることを認識できます。自分で修正してパッチを送ることもできます。

于 2010-02-26T12:31:13.177 に答える
0

There may be a timestamping problem, or this computer is too slow. エラーの場合は次sync=falseのように試してください

`gst-launch filesrc location=file.mp3 ! decodebin ! audioconvert ! tee name=myT myT. ! queue ! autoaudiosink myT. ! queue ! goom ! colorspace ! autovideosink sync=false`

または、次のようにTeeの両方のシンクエンドで試す必要がある場合があります

`gst-launch filesrc location=file.mp3 ! decodebin ! audioconvert ! tee name=myT myT. ! queue ! autoaudiosink sync=false myT. ! queue ! goom ! colorspace ! autovideosink sync=false`

また、またはに置き換えるautovideosinkと、タイムスタンプの問題が解決されたように見えることもわかりました。xvimagesinkximagesink

于 2011-07-26T16:22:26.900 に答える