2014-07-02 13 views
7

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.

Trả lời

1

Nếu bạn có tiện ích grep cho thiết bị Android hoặc máy chủ Windows, bạn có thể tạo đầu ra thông qua lệnh grep -v và chặn các dòng không liên quan. Để giảm thiểu số lượng mẫu mà bạn cần cung cấp cho grep, bạn có thể đặt tùy chọn ghi nhật ký ffmpeg thành yên lặng qua -loglevel quiet.

+0

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

+0

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

+0

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

2

Nếu bạn biết chuỗi bắt đầu của jpg bạn nộp bạn có thể ống nó để sed trước khi chuyển hướng đến các tập tin:

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 sẽ phù hợp với từ mẫu đến cuối tập tin và chỉ in những dòng này để bạn tệp jpg.

Các vấn đề liên quan