2010-02-26 87 views
1

嗨,我嘗試使用下面的命令來可視化GStreamer的音樂文件:音樂可視化誤差在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 } 

但隨後給出了folloiwng鏈接錯誤:

** (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 

誰能告訴什麼是錯的?謝謝

回答

1

我不能給你一個確切的答案,因爲我沒有安裝Windows。

爲了調試這個使用你的第一個管道(在Linux作品)。在gst-launch中使用參數-v,並在autovideosink之前放置元素標識。這將打印經過元素標識的緩衝區信息,尋找任何奇怪的東西。

你也可以嘗試使用directdrawsink而不是autovideosink。另一個我會做的測試是用audiotestsrc生成音頻。

請記住,如果您發現一個bug,您可以在gnome bugzilla中打開一個錯誤報告,以便GStreamer開發人員知道存在問題。即使你可以自己修復併發送補丁。

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` 

,或者您可能必須嘗試在兩個下沉T恤的兩端像

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

我還觀察到,如果用xvimagesink替換autovideosinkximagesink時間戳問題顯然似乎解決。