Gents - cảm ơn tất cả những gì đã giúp đỡ. Một phần, tất cả các đề xuất của bạn đã giúp tôi đi đến kết quả cuối cùng. Vì vậy, tôi đã cung cấp cho bạn tất cả tín dụng cho các câu trả lời nhưng đã đăng câu trả lời của riêng tôi bên dưới với hy vọng nó hữu ích cho những người khác. Tôi nhận ra rằng đó không phải là điều được thực hiện, nhưng trong trường hợp này có nhiều lĩnh vực để hình thành giải pháp, vì vậy tôi đã buộc tất cả vào một bên dưới.
Cài đặt các dịch vụ cần thiết để sử dụng AWS S3
# > sudo apt-get install python-pip
# > sudo pip install awscli
Đăng ký Dịch vụ AWS S3 bằng tài khoản Amazon của riêng bạn: https://aws.amazon.com/s3/
Xác định khóa truy cập mới cho tài khoản người dùng của bạn thông qua 'Khóa truy cập -> Tạo khóa truy cập mới' và tải xuống tệp CSV khi được hứa. Nếu bạn không làm điều này, bạn sẽ không thể sử dụng các hàm S3 của dòng lệnh: https://console.aws.amazon.com/iam/home?#security_credential
Mở tệp ROOTKEY.CSV và sao chép rồi dán giá trị AccessKeyID và giá trị SecretKey khi được nhắc khi bạn khởi chạy 'aws configure', mà bạn khởi chạy từ dòng lệnh trước khi sử dụng AWS với Linux.
> aws configure
Enter your access key and secret key when asked. You can leave the third and fourth empty or as 'None'.
Kiểm tra bạn có thể kết nối và tải lên một tệp bằng tệp sample.txt:
> aws s3 mv ~/SourceFolder/sample.txt s3://NameOfYourAWSS3Bucket
/ AFolderYouHaveCreated
Tải xuống và cài đặt mjpg_streamer theo hướng dẫn xây dựng tại đây: https://github.com/jackson né / mjpg-streamer #building--installation
Sau khi hoàn tất, hãy điều hướng đến thư mục của nó
> cd mjpg_streamer
Bắt đầu truyền phát mjpg:
> mjpg_streamer -i "./input_uvc.so -f 15 -r 1280x960" -o "./output_http.so -w ./www"
Kiểm tra xem nó có chạy không bằng cách truy cập liên kết sau trong trình duyệt web của bạn:
http://127.0.0.1:8080/stream.html
Lấy một tệp ngày và thời gian được đóng dấu (và lưu nó vào thư mục cục bộ mà nó đang được thực thi) với:
> wget http://127.0.0.1:8080/?action=snapshot -O output-$(date +"%Y-%m-%d-%k-%M-%S").jpg
Điều này sẽ tạo một tệp trong thư mục con 'www' trong thư mục mjpeg_streamer của bạn, được gọi là 'output-16-09-01-22-35-30.jpg' nếu được thực hiện vào lúc 22:35 ngày 1 tháng 9 năm 2016.
Tạo một tập lệnh bash mới (như MyScript.sh) và cấp quyền thực thi cho nó và sao chép nội dung ở dưới cùng vào nó. Khi chạy, nó sẽ tạo một JPEG được đánh dấu thời gian cứ sau 5 giây cho đến ngày hiện tại trở thành ngày kết thúc được chỉ định. Trong trường hợp này, nó bắt đầu vào ngày A và kết thúc vào ngày B. Thay thế ngày của chính bạn.
Sao chép này vào tập lệnh, thay thế các đường dẫn có liên quan:
#!/bin/bash
SOURCE="/home/YourUser/YourSourceFolder"
DESTINATION="s3://YourS3Bucket/DestinationFolder"
input_start=2016-8-29
input_end=2016-9-9
startdate=$(date -I -d "$input_start") || exit -1
enddate=$(date -I -d "$input_end") || exit -1
d="$startdate"
while [ "$d" != "$enddate" ]; do
sleep 5
wget "http://127.0.0.1:8080/?action=snapshot" -O output-$(date +"%Y-%m-%d-%k-%M-%S")'.jpg';
aws s3 mv $SOURCE $DESTINATION --recursive;
done
Đề xuất cải tiến chào mừng.
Ngoài ra, bạn có thể kiểm tra tiến trình lưu trữ của mình trong AWS S3 với
aws s3 ls s3://yourbucketname --recursive --human-readable --summarize
Tôi đã để nó trong hai giờ bắn cứ sau 10 giây và nó tạo ra 74Mb lượt tải lên. Vì vậy, tôi tính ra mức 6,5Gb trong một tuần - ít hơn mức giá cho dịch vụ nơi chi phí phát sinh, mà tôi nghĩ là 8Gb.
Cảm ơn một lần nữa.