我正在尝试将一组 JPG 或 PNG 输入到 gstreamer 的标准输入。
我研究了 gstreamer 中有一些fdsrc
元素可以从文件描述符中输入数据。
我想我可以使用 fdsrc 和以下代码转储 mp4 文件。
gst-launch-1.0 -e -v fdsrc fd=0 ! autovideosink
但是,我想输入从我自己的应用程序导出的 JPG 或 PNG 数组。
我怎么能用 fdsrc 做到这一点?
我正在尝试将一组 JPG 或 PNG 输入到 gstreamer 的标准输入。
我研究了 gstreamer 中有一些fdsrc
元素可以从文件描述符中输入数据。
我想我可以使用 fdsrc 和以下代码转储 mp4 文件。
gst-launch-1.0 -e -v fdsrc fd=0 ! autovideosink
但是,我想输入从我自己的应用程序导出的 JPG 或 PNG 数组。
我怎么能用 fdsrc 做到这一点?
我可以通过使用 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