您好,我正在尝试使用以下命令在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
有人能说出哪里出了问题吗?谢谢
发布于 2010-02-26 12:31:13
我不能给你一个确切的答案,因为我没有安装windows。
为了进行调试,请使用您的第一个管道(在linux works中)。将参数-v与gst-launch一起使用,并将元素标识放在autovideosink之前。这将打印通过元素标识传递的缓冲区信息,查找任何奇怪的东西。
你也可以尝试使用directdrawsink而不是autovideosink。我要做的另一个测试是用audiotestsrc生成音频。
请记住,如果您发现了一个bug,您可以在gnome bugzilla中打开一个bug报告,这样GStreamer开发人员就会意识到有问题。甚至你也可以自己修复它,然后发送一个补丁。
发布于 2011-07-26 16:22:27
对于There may be a timestamping problem, or this computer is too slow.
Error,请尝试sync=false
like
`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
或ximagesink
替换autovideosink
,时间戳问题似乎就解决了。
https://stackoverflow.com/questions/2339512
复制相似问题