2012-11-08 22 views
2

專業攝像機通過UDP和RTP發送數據包,其中包含YUV422像素格式(RFC 2435)中的MJPG數據。通過使用DatagramSocket和DatagramPacket類,我可以接收數據包。現在我正在尋找一種有效的方式來獲得:從Java MJPG數據包到jpeg文件的高效方法

約80 * RTP_socket.receive(rtpPacket)---在我的硬盤> 1 JPG格式文件(25 fps)的

否則我很快根據UDP標準,丟失相對較多的數據包,數據包由攝像機連續發送(一次一個鬆散包並不是最糟糕的,因爲我不需要每一幀)。

現在我使用的字節緩衝區存儲順序數據包(用頭使用put(..偏移的int切斷...),直到我得到一個幀的最後包。

但不幸的是,好像我需要使用ImageIO.write函數來獲得必要的jpg-Header,是否正確?因爲它不能直接處理ByteBuffer ...

如果我要做一些後處理的圖像另一個線程(還沒有實現),DirectByteBuffer是否有意義?

希望你明白我在問什麼:)。如果不是,請不要猶豫,問

非常感謝

回答