使用ffmpeg将Android的框架的.raw文件编码为.png文件格式

时间:2012-11-22 20:48:05

标签: android python ffmpeg adb screenshot

我使用了来自source的脚本。它的作用是从移动(android)手机读取帧缓冲区信息并将其保存为.raw文件。然后使用ffmpeg编码器创建.png文件。不幸的是,我得到的png图像就像(附在下面)。我尝试使用“-pix_fmt”选项,并尝试使用rgba而不是代码中使用的rgb32(它们都没有工作btw)。我使用另一个脚本(ascreenshooter.py)来分析此原始图像的标题,以查找少量图像标题。它们被列为:

版本:1
           bpp:32
          尺寸:2088960
         宽度:544
        身高:960
    red_offset:0
    red_length:8
   blue_offset:16
   blue_length:8
  green_offset:8
  green_length:8
  alpha_offset:0
  alpha_length:8

请建议是否可以将此.raw图像文件编码为png格式。如果它可能比我应该使用的ffmpeg选项和其他更有效的工具确实退出此编码过程。

按要求采样原始图像:

http://tabak.csc.ncsu.edu/arpit.raw

enter image description here

2 个答案:

答案 0 :(得分:0)

您知道脚本最终实际使用哪个图像采集设备吗?如果它使用screencap - 那么您可以使用screencap -p filename.png将图像直接保存到.png文件,而不必在以后进行转换。

答案 1 :(得分:0)

cd /mnt
adb pull /dev/graphics/fb0 fb0
#LOAD RAW

ffmpeg   -vcodec rawvideo   -f rawvideo   -pix_fmt rgb32   -s 1024x768   -i ./fb0     -f image2   -vcodec png screendump.png

##### 768x1024 PORTRAIT, 1024x768 LANDSCAPE