2012-04-05 136 views
0

下面的管道工作正常,以保存壓縮的JPEG圖像,但有沒有辦法使用gstreamer保存無損壓縮的JPEG圖像?無損壓縮JPEG gstreamer元素?

gst-launch v4l2src always-copy = false num-buffers = 1 chain-ipipe = true! 'video/x-raw-yuv,format =(fourcc)NV12,width = 2176,height = 1944'! dmaiaccel! dm365facedetect draw-square = true! dmaienc_jpeg!文件接收地點= $ FILE_NAME

+0

JPG被定義爲有損格式。保存爲JPG時不可能丟失數據。如果你需要無損,然後去PNG – 2012-04-05 17:20:21

+2

雖然,http://en.wikipedia.org/wiki/Lossless_JPEG – ShinTakezou 2012-04-05 17:20:56

+0

@MarcB:有無損壓縮PNG gstreamer元素? – jacknad 2012-04-05 17:32:23

回答

3

假設你已經安裝了所有的GStreamer插件(好的,壞的和醜陋的),你的無損視頻壓縮數字令人印象深刻,在通過FFmpeg的GStreamer的元素供您使用。這些包括ffenc_png(用於PNG編碼),ffenc_jpegls(無損JPEG算法)以及許多不常用的算法。但是,如果我正確地閱讀了您的GStreamer命令行,您似乎正在調用一系列與特定類型硬件綁定的自定義組件(我一直在使用谷歌搜索,但我還沒有完全明白它是)。 JPEG編碼器組件是'dmaienc_jpeg'。鏈中前面的元素(dm365facedetect)可能僅輸出dmaienc_jpeg可以解釋的數據。但是,如果它是一般的色彩空間,那麼您可以通過FFmpeg無損編碼器發送它,可能在兩者之間進行色彩空間轉換。可以通過調用元素的「gst-inspect」並研究輸出(src和sink數據類型)來確定答案。

根據新數據更新:好消息:dm365facedetect元素以NV12格式輸出原始YUV。非常靈活,你有很多選擇。

你在哪個平臺上?如果使用的是Ubuntu Linux操作系統,使用安裝了一堆的GStreamer插件:

apt-get install gstreamer0.10-plugins-good \ 
    gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly gstreamer0.10-ffmpeg 

一些無損編解碼器選項:PNG,通過無論是「pngenc」或「ffenc_png」(雖然這可能在技術上承擔因損失一點點到YUV - > RGB色彩空間轉換),'ffenc_huffyuv','ffenc_jpegls'或'ffenc_ljpeg'。當你編碼這些時,通過avimux組件發送它們。因此,一個例子修改您的命令行的末尾:

... ! dm365facedetect draw-square=true ! ffenc_ljpeg ! \ 
    avimux ! filesink location=$FILE_NAME 

預計無損編解碼器的數據比你之前獲取的JPEG數據略大。嘗試使用不同的編解碼器來查看您喜歡的內容,並確保您可以使用首選工具鏈解碼另一端的數據(FFmpeg和VLC應始終能夠處理它)。

+0

是的。有一些自定義組件。 dm365facedetect使用帶有TI DaVinci [TMS320DM368](http://www.ti.com/product/tms320dm368)的[RidgeRun SDK](https://www.ridgerun.com/developer/wiki/index.php/RidgeRun_2011Q2_SDK_User_Guide)硬件人臉檢測引擎在臉部周圍繪製矩形。是的。 gst-inspect返回一大堆插件(145)和特性(520),但我沒有看到ffenc_png或ffenc_jpegls。 GStreamer插件通常如何安裝? ffenc_jpegls或ffenc_png能夠保存無損JPEG文件嗎?也。我不需要顏色。灰度很好。 – jacknad 2012-04-10 19:28:17

+0

gst-inspect輸出是[here](https://docs.google.com/document/d/19ovBIEPNz1BFKuJLjw20Q4YmP47Xu7dvVUu_okUn4Uo/edit) – jacknad 2012-04-10 19:47:07

+0

感謝您發佈gst-inspect的輸出。爲了回答您的問題,我需要更多信息:請發佈'gst-inspect dm365facedetect'和'gst-inspect dmaienc_jpeg'的輸出。另外,我想看看'gst-inspection TIDmaiVideoSink'。 – 2012-04-10 22:31:54