1

正在尝试使用. gst-launch-1.0我知道数据需要编码为 JPG 才能实现。如果图像已经存储为jpg文件,那么故事将非常简单:

gst-launch-1.0.exe -v filesrc location=output.jpg ! decodebin ! imagefreeze ! autovideosink

但是,我需要组装管道以显示由 3D 应用程序转储到磁盘的原始BGRA 800x600 图像(看起来与上面相同)。

这是我到目前为止所做的,但问题是它在磁盘上创建了一个完全黑色的图像:

gst-launch-1.0.exe -v filesrc location=dumped.bin ! video/x-raw,format=BGRA,width=800,height=600,framerate=1/1 ! videoconvert ! video/x-raw,format=RGB,framerate=1/1 ! jpegenc ! filesink location=out.jpg

GStreamer 可以处理这个任务吗?

4

1 回答 1

5

解决了!我面临的两个主要问题是:

  • dump.bin是我系统(Cygwin)上的一个符号链接,由于某种原因gst-launch-1.0无法使用它;
  • 处理原始数据时,必须filesrc.

❄</p>

gst-launch-1.0.exe -v filesrc location=dumped.bin blocksize=1920000 ! video/x-raw,format=BGRA,width=800,height=600,framerate=1/1 ! videoconvert ! video/x-raw,format=RGB,framerate=1/1 ! jpegenc ! filesink location=out.jpg

在这种特定情况下,我还需要垂直翻转图像,因为它是从 3D 应用程序的 OpenGL 帧缓冲区中捕获的

gst-launch-1.0.exe -v filesrc location=dumped.bin blocksize=1920000 ! video/x-raw,format=BGRA,width=800,height=600,framerate=1/1 ! videoconvert ! video/x-raw,format=RGB,framerate=1/1 ! videoflip method=vertical-flip ! jpegenc ! filesink location=out.jpg
于 2014-11-14T21:06:08.783 回答