windows - 通过 STDIN 提供 gstreamer fdsrc 只产生预期结果的一小部分

标签 windows gstreamer gst-launch

我正在使用 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/

相关文章:

c++ - 使用 GStreamer 和 multiudpsink 设置不同的 RTP SSRC

c++ - 如何从 GStreamer 管道读取数据中的特定字段?

gstreamer - decodebin 中包含哪些元素?

gstreamer - 如何从 rtspsrc 解复用音频和视频,然后使用 matroska mux 保存到文件?

windows - 如何将主机名异步解析为 IP 地址?

windows - 如何检查网页是否已加载或我在 VBScript 中对 XP 和 Windows 7 和 10 Internet Explorer 有错误

windows - Windows 中的虚拟打印机,从哪里开始?

c++ - Windows中的HeapValidate有什么作用?

Gstreamer:在 RTP 流中暂停/恢复视频

flv - 如何在 gstreamer 中播放没有 playbin2 的 .flv(h.264 aac) 文件?