2014-11-14 69 views
1

我試圖用gst-launch-1.0顯示raw image (1.8MB)。據我所知,數據需要編碼爲JPG才能實現。如果圖像已經被存儲爲JPG文件中的故事會是相當簡單:如何使用GStreamer 1.0將原始BGRA圖像轉換爲JPG?

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

不過,我需要組裝流水線顯示raw BGRA 800x600 image(看起來如同上述)通過3D應用程序將其轉儲到磁盤。

這是我到目前爲止已經完成,但問題是,它在磁盤上創建一個完全黑色的圖像:

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

解決!我面臨的兩個主要問題是:

  • dump.bin是我的系統(Cygwin的)上,由於某種原因gst-launch-1.0無法與它合作的符號連接;
  • 使用原始數據時,一個必須指定塊大小filesrc

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 

在這種特殊情況下我也需要翻轉圖像的垂直方向,因爲它是captured from the OpenGL framebuffer of a 3D application

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