Android 投屏技术
命令行
利用 screenrecord 和 ffmpeg 投屏
1 | adb exec-out screenrecord --output-format h264 --size 640x310 - | ffmpeg -i - -f sdl - |
可以根据选择自由调整屏幕
使用 Python PyAV 库解析
PyAV 是 python 的 ffmpeg 绑定,并且提供 wheel 包,就算没装 ffmpeg 也能用
1 | import subprocess |
代码保存为test.py
,通过下面的命令就可以解析
1 | adb exec-out screenrecord --output-format=h264 - | python test.py |
打开 test.jpg 就可能看到一张完美的截图了。
如果手机上没有 screenrecord 这个程序,也可以通过 scrcpy 来代替。这里就暂时不写了。
参考
- adb screenrecord + ffmpeg、pyav 相关代码参考 https://github.com/PyAV-Org/PyAV/issues/578
- https://pyav.org/docs/develop/api/video.html#av.video.frame.VideoFrame