Как увеличить лимит времени для записи в формате ADB Android Kitkat

Я использовал функцию записи экрана ADB для записи видео моего приложения. Это очень удобно и полезно. Единственный вопрос, который я нашел, - это максимальный срок 3 минуты (180 секунд).

Есть ли способ или обходной путь или способ, которым мы можем увеличить этот срок?

Ответ 1

В Windows мой трюк создает файл screenrecord.bat и запускает его. В течение 9 минут:

adb shell screenrecord --bit-rate 8000000 /sdcard/sr1.mp4
adb shell screenrecord --bit-rate 8000000 /sdcard/sr2.mp4
adb shell screenrecord --bit-rate 8000000 /sdcard/sr3.mp4

Затем вы можете объединить файлы с любым программным обеспечением для редактирования видео.

Я знаю, что это хромое решение, но adb screenrecord виноват в том, что он не позволяет увеличить длину видео...

Ответ 2

Я сталкиваюсь с той же проблемой.

Вот мое решение. Короче говоря, это можно решить, перекомпилировав источник android. Пациенты необходимы.

1, следуя инструкциям здесь https://source.android.com/source/initializing.html, чтобы инициализировать среду сборки.

2, Загрузите исходный код из git (возьмите около 1 часа с полосой пропускания 10 МБ).

3, измените path_to_working_directory/frameworks/av/cmds/screenrecord/screenrecord.cpp, изменив kMaxTimeLimitSec на 7200 (означает 2 часа).

4, скомпилируйте андроид (возьмите около 2 часов с Core i5-2500k и 8G RAM)

5 Скопируйте файл path_to_working_directory/out/target/product/flo/system/bin/screenrecord в /system/bin в вашем телефоне Android (не забудьте сделать резервную копию исходного экрана в случае!)

Ответ 3

Альтернативное решение:

adb shell "screenrecord --time-limit 5 /sdcard/testRun1.mp4; screenrecord --time-limit 5 /sdcard/testRun2.mp4"

Обратите внимание на кавычки и полуточку. Команда оболочки выполняется как оболочка script на устройстве Android. Приведенная выше команда создавала бы два файла mp4 по 5 секунд каждый, один за другим.

В наших тестовых проектах Jenkins мы делаем шаг exec с такой командой:

adb shell "screenrecord /sdcard/test1.mp4; screenrecord /sdcard/test2.mp4; screenrecord /sdcard/test3.mp4" & 

Амперсанд создает команду adb для продолжения оставшейся части теста script. Приведенная выше команда будет записывать до 9 минут.