-1

我正在尝试将一组 JPG 或 PNG 输入到 gstreamer 的标准输入。

我研究了 gstreamer 中有一些fdsrc元素可以从文件描述符中输入数据。

我想我可以使用 fdsrc 和以下代码转储 mp4 文件。

gst-launch-1.0 -e -v fdsrc fd=0 ! autovideosink

但是,我想输入从我自己的应用程序导出的 JPG 或 PNG 数组。

我怎么能用 fdsrc 做到这一点?

4

1 回答 1

0

我可以通过使用 gstreamer element 来解决这个问题jpegdec

gst-launch-1.0 -e -v  fdsrc fd=0 ! jpegdec ! autovideosink

此示例代码可以工作。但是,如果您想将此代码与 filesink、rtmpsink 或某些需要帧率的元素一起使用,您可能需要手动设置帧率,因为 jpegdec 将设置帧率=0。

gst-launch-1.0 -e -v  fdsrc fd=0 ! jpegdec ! videorate ! videoconvert ! \
                      video/x-raw,framerate=30/1,format=AYUV ! queue ! \
                      x264enc key-int-max=1 tune=zerolatency ! flvmux ! \ 
                      rtmpsink location=rtmp://foo.bar/streamKey
于 2020-03-09T06:56:39.773 回答