各位老师好,android方面请教一个问题,具体描述如下:
1. 我自己写了一个播放器,在播放《建国大业》这部影片。看到精彩画面,想将这一画面截屏保存下来;2. 我已经探索的方案有:
   1) android 2.3源码自带一个screencap.c代码,可以截屏。但是对于食品画面,截屏的结果是黑屏;
   2) android 4.0源码开始也是自带一个screencap.c代码,也可以截屏。与2.3版不同的是,它可以正常截取视频画面,但是可   
      惜的是,这个代码必须在手机root权限下才能截屏。
      其实不管是2.3版,还是4.0版,它们截屏所需的原始数据都是来自手机上的”/dev/graphics/fb0”这个设备。我也可以自   
      己写一个c程序来读取这个设备,从而还原视频画面,但是读取这个设备似乎都需要这个c程序是root属主。
   3) 将ffmpeg移植到手机端,利用ffmpeg的截图功能在手机端截图。但是截图的时间比较长。3. 我的问题是,各位老师能否提供一个思路,既可以截取我关心的视频画面,又不需要取得手机的root权限?
分不多了,都给了,谢谢~

解决方案 »

  1.   

    好问题!你探索的方案总结很正确,一切显示在屏幕上的数据都在/dev/graphics/fb0,访问设备需要root权限毋容置疑。用ffmpeg截图运算时间较长,尝试下先降低分别率,在截取屏幕,应该会缩减些时间。
      

  2.   


    谢谢前辈,再请教一下,降低分辨率是说事先降低原始视频的分辨率,还是说保持视频分辨率不变,而是让ffmpeg截出较小分辨率的图片?
    我的理解是后者,对吗