我正在使用 gstreamer Windows 端口 OSSBuild。我想使用 fdsrc 元素通过其 STDIN 为 gst-launch 提供视频数据。这样做似乎管道只消耗了输入的一小部分。比如
type source.yuv | gst-launch fdsrc ! videoparse format=GST_VIDEO_FORMAT_I420 width=176 height=144 framerate=30000/1001 ! x264enc ! mpegtsmux ! filesink location=out.ts
在
时不会工作gst-launch filesrc location=source.yuv ! videoparse format=GST_VIDEO_FORMAT_I420 width=176 height=144 framerate=30000/1001 ! x264enc ! mpegtsmux ! filesink location=out.ts
一切正常。所以我假设问题与我对 fdsrc 的使用有关。
有什么想法吗?
最佳答案
这在 linux 下有效:
gst-launch videotestsrc num-buffers=100 ! \ video/x-raw-yuv,format=(fourcc)"I420",width=320,height=240 ! filesink location=video.yuv cat video.yuv | gst-launch-0.10 fdsrc ! \ videoparse format="I420" width=320 height=240 ! xvimagesink
我想知道我们是否遇到了有关 Windows 下 io 的可移植性问题。您可以尝试在 fdsrc 之后放置一个队列元素。
关于windows - 通过 STDIN 提供 gstreamer fdsrc 只产生预期结果的一小部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8416818/