Ich führe einen ADB-Shell-Aufruf aus, um eine neue Bilddatei mit ffmpeg zu erstellen. Derzeit speichere ich das ausgegebene JPG der ffmpeg-Konvertierung auf das Gerät und ziehe dann die Datei mithilfe von adb pull auf den Computer. Ich frage mich, ob ich es ausschneiden kann, es zuerst auf dem Android zu speichern und es direkt auf dem Computer zu speichern.Dateiinhalte von Android auf Computer umleiten
Hier ist der Code (im Wesentlichen) Ich versuche zu laufen:
adb shell "screencap | /data/local/tmp/tools/./ffmpeg -f rawvideo -vcodec mjpeg -q:v 5 -" > C:/Users/User/Desktop/new.jpg
Leider, wenn ich laufen diese, kopiert es nicht nur die Ausgangsdaten des ffmpeg Anruf, aber alles, was gedruckt worden wäre, zur adb-Standardausgabe. Ich bin also mit einer JPG-Datei, die alle meine Bilddaten enthält, aber mit einer Reihe von Wörtern an der Spitze (die Ausgabe der Adb-Shell-Aufruf).
Vielen Dank.
Loglevel leise reduziert die Ausgabe auf nichts, aber das Bild kann immer noch nicht geöffnet werden ... irgendwelche Vorschläge? – parameter
Es klingt, als gäbe es noch ein paar zusätzliche Zeilen, die mit einem Grep o.ä. herausgefiltert werden müssen. Haben Sie die resultierende Datei inspiziert, um zu sehen, welcher zusätzliche Betrag oben und/oder unten hinzugefügt wird? Da Sie unter Windows arbeiten, müssen Sie wahrscheinlich ein grep-ähnliches Tool manuell finden und installieren. – scottt
Möglicherweise, aber ich glaube, das ist eigentlich das Problem jetzt. http://stackoverflow.com/questions/13578416/read-binary-stdout-data-from-adb-shell – parameter