Подача gstreamer fdsrc через STDIN дает только часть ожидаемого результата - PullRequest
2 голосов
/ 07 декабря 2011

Я использую gstreamer windows port OSSBuild. Я хочу передать gst-launch видеоданные через его STDIN с помощью элемента fdsrc. При этом кажется, что трубопровод расходует лишь небольшую часть входных данных. Например

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.

Есть идеи?

1 Ответ

0 голосов
/ 27 февраля 2012

Это работает под 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

Интересно, не сталкиваемся ли мы с проблемой переносимости в отношении io под windows? Вы можете попробовать поместить элемент очереди сразу после fdsrc.

...