Intereting Posts
Отмена текущего соединения при нажатии пользователем Изменение размера прямоугольника в Android Вычислить разницу во времени в Android Центр текста и галочка CheckedTextView Ошибка приложения. Соединение с сервером не увенчалось успехом. (файл: ///android_asset/www/index.html) Как импортировать проект в репозиторий bitbucket из Android Studio? Null FragmentTransaction передается в TabListener.onTabSelected () Как я могу определить версию плагина Android Gradle, используемую внутри моего собственного плагина Gradle? Google Fit API, сжигание калорий за активность Должен ли буфер AudioTrack полностью заполняться в потоковом режиме? Почему он показывает незарегистрированное приложение приложения Android при входе в gmail в приложении для Android? Максимальный размер текста кнопки Android Ошибка: выполнение выполнено для задачи ': app: processDebugResources'. > По индексу 4 Как узнать, какое приложение (процесс) использует камеру в Android DialogFragments с устройствами api level <11

Перенаправить содержимое файла с android на компьютер

Я выполняю вызов оболочки adb для создания нового файла изображения с помощью ffmpeg. В настоящее время я сохраняю вывод jpg преобразования ffmpeg на устройство, а затем вытаскиваю файл на компьютер с помощью adb pull. Мне интересно, смогу ли я отключить его сначала сохранить на андроиде и просто сохранить его прямо на компьютер.

Вот код (по существу), который я пытаюсь запустить:

adb shell "screencap | /data/local/tmp/tools/./ffmpeg -f rawvideo -vcodec mjpeg -q:v 5 -" > C:/Users/User/Desktop/new.jpg 

К сожалению, когда я запускаю это, он копирует не только выходные данные вызова ffmpeg, но и все, что было бы напечатано на стандартном выходе adb. Таким образом, я остался с файлом jpg, который имеет все мои данные изображения, но с кучей слов наверху (вывод вызова оболочки adb).

Спасибо.

Если у вас есть утилита grep для вашего устройства Android или вашего хоста Windows, вы можете выполнить вывод через команду grep -v и подавить посторонние строки. Чтобы свести к минимуму количество шаблонов, которые вам нужно предоставить grep, вы можете настроить режим ведения журнала ffmpeg в тихом режиме через -loglevel quiet .

Если вы знаете начальную строку вашего jpg-файла, вы можете передать ее в sed перед перенаправлением на файл:

 adb shell "screencap | /data/local/tmp/tools/./ffmpeg -f rawvideo -vcodec mjpeg -q:v 5 - | sed -n '/PATTERN/,$p'" > C:/Users/User/Desktop/new.jpg 

Sed будет соответствовать шаблону в конце файла и печатать только эти строки в файле jpg.