Tôi đang thực hiện cuộc gọi vỏ adb để tạo tệp hình ảnh mới với ffmpeg. Hiện tại, tôi lưu jpg đã xuất của chuyển đổi ffmpeg sang thiết bị, sau đó kéo tệp vào máy tính bằng cách sử dụng kéo adb. Tôi tự hỏi nếu tôi có thể cắt ra có để lưu nó trên Android đầu tiên, và chỉ cần lưu nó trực tiếp vào máy tính để thay thế.Chuyển hướng nội dung tệp từ android đến máy tính
Đây là mã (chủ yếu) Tôi cố gắng để chạy:
adb shell "screencap | /data/local/tmp/tools/./ffmpeg -f rawvideo -vcodec mjpeg -q:v 5 -" > C:/Users/User/Desktop/new.jpg
Thật không may, khi tôi chạy này, nó sao chép không chỉ là dữ liệu đầu ra của cuộc gọi ffmpeg, nhưng tất cả mọi thứ mà có thể đã được in với đầu ra tiêu chuẩn adb. Vì vậy, tôi còn lại với một tập tin jpg có tất cả các dữ liệu hình ảnh của tôi, nhưng với một loạt các từ ở trên cùng (đầu ra của cuộc gọi shell adb).
Cảm ơn bạn.
Loglevel yên tĩnh làm giảm đầu ra thành không có gì, nhưng hình ảnh vẫn không thể mở được ... bất kỳ đề xuất nào? – parameter
Có vẻ như vẫn còn một số dòng phụ cần được lọc ra bằng grep hoặc tương tự. Bạn đã kiểm tra các tập tin kết quả để xem những gì thêm cruft đang được thêm vào đầu và/hoặc dưới? Vì bạn đang sử dụng Windows, có thể bạn sẽ phải tìm và cài đặt công cụ giống như grep theo cách thủ công. – scottt
Có thể, nhưng tôi tin rằng đây thực sự là vấn đề. http://stackoverflow.com/questions/13578416/read-binary-stdout-data-from-adb-shell – parameter