如何在Android 4.4(奇巧巧克力)以下的版本上录制Android设备屏幕

67

使用ADB命令,可以在命令行中使用以下命令来录制Android设备的屏幕,要求Android版本是4.4(KitKat)或以上。

adb shell screenrecord /sdcard/demo.mp4

但这只适用于Android 4.4(奇巧巧克力)和5.0(棒棒糖)版本。

在Android 4.4(奇巧巧克力)以下的版本中,是否有其他命令或方法可使用ADB录制视频?


我认为只有在手机取得root权限后才能实现这一点。然后,应用商店中有几个程序声称可以录制屏幕。 - mjstam
我建议您尝试这个解决方案。将手机连接到电脑上。在此之前,请启用USB调试并安装一个可以将您的显示屏“镜像”到电脑上的应用程序。有一个名为Droid@Screen的应用程序,您可以通过它在PC上查看您的显示屏,并使用鼠标和键盘控制整个手机。然后,您可以使用许多免费软件记录PC的显示屏。希望我能帮到您。 :) - sharp
1
如果你愿意跳过“使用ADB”部分,并且你有一台具有MHL、SlimPort、Miracast、Intel WiDi或HDMI输出功能的设备,那么有一些可用的HDMI录制设备可以尝试。 - CommonsWare
6个回答

90

这个只能在KitKat版本及以上的设备上通过ADB才能工作。在KitKat以下的设备中无法正常使用。

要开始录制您的设备屏幕,请运行以下命令:

adb shell screenrecord /sdcard/example.mp4,此命令将使用默认设置开始录制您的设备屏幕,并将生成的视频保存到您设备上的 /sdcard/example.mp4 文件中。

完成录制后,在命令提示符窗口中按下Ctrl+C以停止屏幕录制。然后,您可以在指定位置找到屏幕录制文件。请注意,屏幕录制保存在设备的内部存储器中,而不是计算机中。

默认设置是使用您设备的标准屏幕分辨率,以4Mbps的比特率对视频进行编码,并将最大屏幕录制时间设置为180秒。有关可用的命令行选项的更多信息,请运行以下命令:

adb shell screenrecord --help, 这种方法不需要对设备进行root,希望对您有所帮助。


20
您只需要运行以下命令即可在计算机上下载文件: adb pull /sdcard/example.mp4 . 而要删除它,则运行以下命令: adb shell rm /sdcard/example.mp4 - Gianfranco P.
2
应该是--help,而不是-help。 - Abraham Philip
Ctrl-C 会强制立即关闭进程,或者 SIGTERM 将被发送到内部 screenrecord 进程。视频不会被保存或刷出。有什么方法可以确保视频得到保存吗?在 Ubuntu 上。如果我使用时间参数,它能够正常工作,但是我不想之后再对文件进行裁剪 / 得到一个过短的文件。 - tgkprog
1
在Linux上,Ctrl+z似乎不正确。 - Lime
3
回答并没有回答问题。 - zwcloud
显示剩余2条评论

17
  1. adb shell screenrecord /sdcard/video.mp4 #保存MP4视频

  2. Ctrl+C #停止录制

  3. adb pull /sdcard/video.mp4 #将MP4视频拉到电脑上

  4. adb shell rm /sdcard/video.mp4 #在手机上删除文件


有没有一种方法可以将其放入一个Bash函数中,而不会导致最终文件损坏? - sbearben
@sbearben 在 #Stop 记录后和 pull 前需要等待。如果你使用的是 Windows 批处理(cmd)- 只需添加 'timeout 3' 等待 3 秒即可。 - Oleksandr Kulychok

4

正如你所指出的,该命令仅适用于KitKat,并且只能通过ADB使用。

我建议你最好记录模拟器屏幕的部分内容(AVD或Genymotion都可以)。


2
为了避免时间限制问题,您可以使用以下代码片段:
./adb exec-out "while true; do screenrecord --bit-rate=16m --output-format=h264 --size 720x1280 --time-limit 180 -; done" | ffplay -framerate 60 -framedrop -bufsize 16M -

1
这段代码片段是否被截断了?另外,ffplay是什么? - Joshua Pinter

2

AirServer 是一个很好的应用程序,可以实现此功能。您可以将设备的屏幕镜像到您的PC/Mac,并将其记录到文件中。质量也很好。


0

screenrecord 命令是一个用于记录运行 Android 4.4(API 级别 19)及更高版本设备显示的 shell 实用程序。

参考:http://developer.android.com/tools/help/adb.html(记录设备屏幕)

或者

市场上有许多可用于屏幕录制的应用程序,因此请下载对您更有用的应用程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接