You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 12版谷歌电视Chromecast播放视频时ADB screencap失效求助

Android 12谷歌电视Chromecast截图空白问题解决方案

之前在Android 10上能用adb exec-out screencap -p > screen.png正常截取无DRM视频画面,但升级到Android 12后,用MX Player、YouTube等基于ExoPlayer的应用播放视频时,该命令只会生成分辨率正确的空白白色截图——这是因为Android 12对硬件解码的媒体流捕获做了限制。以下是几种可行的解决办法:

方法1:强制应用使用软件解码

针对ExoPlayer或MX Player这类应用,关闭硬件解码就能让screencap正常捕获画面:

  • ExoPlayer系应用:在设置里找到“硬件加速”选项,直接关闭;
  • MX Player:进入设置→解码器,选择“软件解码”模式。
    这种方法的缺点是可能会降低高分辨率视频的播放流畅度。

方法2:用screenrecord命令转存截图

利用screenrecord录制短时长视频,再提取单帧作为截图:

  1. 本地安装ffmpeg的话,可直接执行:
    adb exec-out screenrecord --time-limit 1 --output-format h264 - | ffmpeg -i - -vframes 1 screen.png
    
  2. 没有ffmpeg的话,先录制到设备再导出提取:
    adb shell screenrecord --time-limit 1 /sdcard/temp.mp4
    adb pull /sdcard/temp.mp4
    
    之后用本地图片编辑工具从视频里提取第一帧即可。

方法3:开启开发者选项的“禁用HW叠加层”

进入设备开发者选项,找到“禁用HW叠加层”(部分设备叫“强制GPU渲染”)并开启,这个选项会强制所有内容通过GPU渲染而非硬件叠加层,让screencap能捕获到视频画面,但可能会影响系统整体运行性能。

方法4:尝试设备自带的物理按键截图

部分谷歌电视Chromecast支持按键组合截图:试试按下遥控器的“主页+电源”键,或者“菜单+电源”键,截图会自动保存到设备的/sdcard/Pictures/Screenshots/目录下,之后用adb pull命令导出即可。

内容的提问来源于stack exchange,提问作者SocietyBox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 02:20:43