Truyền Hình ảnh Từ Camera Bằng Raspberry Pi

Bạn đang tìm kiếm điều gì?

Bài viết truyền cảm hứng cho bạn? Hãy làm theo và đóng góp lại cho tác giả tại đây.

Cộng đồng Arduino Việt Nam

Bạn đang ở đây

  • Arduino.vn
  • Raspberry Pi
  • Truyền hình ảnh từ Camera bằng Raspberry Pi
Truyền hình ảnh từ Camera bằng Raspberry Pi Bạn có một DỰ ÁN hay giống thế này? Chia sẻ nhé! Mô tả dự án:

Khi đọc các bài viết về Intel Galileo, mình thấy có bài MJPEG Streamer khá hay. Và qua đây, mình cũng xin chia sẻ cách để chạy MJPEG Streamer trên Raspberry Pi để truyền hình ảnh từ Camera trong mạng LAN.

Cài đặt Raspbian

Các bạn xem bài viết này "Cài đặt Raspbian trên Raspberry PI - Hệ điều hành dành cho developer dựa trên nền Debian - Cài Raspbian không cần màn hình LCD" của mình nhé.

Cài đặt các gói cần thiết để build

sudo apt-get install libjpeg8-dev imagemagick libv4l-dev -y

Các bạn chạy đoạn lệnh trên sau khi đã update và upgrade nhé!

Cập nhập thư viện videodev.h

Mặc định Raspberry Pi và Intel Galileo đều không có thư viện videodev.h nữa mà là videodev2.h

Thư viện videodev2.h có thể được dùng như videodev.h vì vậy bạn chạy lệnh sau để tạo shortcut để biên dịch MJPG Streamer

sudo ln -s /usr/include/linux/videodev2.h /usr/include/linux/videodev.h

Download mã nguồn MJPG Streamer

Bạn chạy dòng lệnh sau để tải về

wget http://sourceforge.net/code-snapshots/svn/m/mj/mjpg-streamer/code/mjpg-streamer-code-182.zip

 

Giải nén MJPG Streamer

Để giải nén MJPG Streamer, các bạn chạy dòng lệnh sau

unzip mjpg-streamer-code-182.zip

Biên dịch MJPG Streamer

MJPG Streamer có rất nhiều plugin đi thèm theo gói hướng dẫn của nó. Nhưng mình thấy không cần thiết phải biên dịch hết. Như trong bài MJPG Streamer của ksp, chúng ta chỉ cần stream camera lên web thôi mà!

cd mjpg-streamer-code-182/mjpg-streamer

make mjpg_streamer input_uvc.so output_http.so

Cài đặt MJPG Streamer để gọi toàn cục

Các bạn chạy các dòng lệnh sau

sudo cp mjpg_streamer /usr/local/bin

sudo cp output_http.so input_uvc.so /usr/local/lib/

sudo cp -R www /usr/local/www

Gắn webcam và kiểm tra

Bạn gắn webcam vào Raspberry Pi và chạy lệnh dmesg để kiểm tra camera đã được gắn hay chưa?

dmesg

Nếu có đoạn như hình này là được, bạn có thể stream được.

Xem device name của webcam của bạn.

ls /dev/video*

Nếu nó ra dạng như hình ví dụ là được

 

Streaming

Bạn hãy ghi lại dòng lệnh sau cho mỗi lần chạy webcam

 LD_LIBRARY_PATH=/usr/local/lib mjpg_streamer -i "/usr/local/lib/input_uvc.so -d /dev/video0 -quality 100 -f 30 -r 640x480" -o "/usr/local/lib/output_http.so -w /usr/local/www -p 8080"

Các thông số

-d <device name - chuỗi - mặc định /dev/video0>

-quality <chất lượng - số nguyên từ 1 - 100 - mặc định 75>

-f <frame per second - số nguyên từ 1 - 60 - mặc định 10>

-r <kích thước khung hình - chuỗi (xem hướng dẫn ở dưới)>

-p <port - số nguyên - từ 1 => 216 - 1>

Xem video streaming

Từ bây giờ, bạn có thể vào địa chỉ http://<địa chỉ IP của Raspi>:8080 để xem hình ảnh truyền trực tiếp từ camera của bạn rồi đấy. 

Để biết được các kích thức khung bình của camera, bạn chạy lệnh sau:

v4l2-ctl --list-formats-ext --device /dev/video0

Nếu màn hình stream là đen thui?

Lúc này, camera của bạn không hỗ trợ MJPEG, lúc đó, bạn phải mua một camera MJPEG như các dòng của hãng logitech (loại nào của hãng này cũng có hết).

Để kiểm tra camera có MJPEG hay không, bạn theo hướng dẫn sau:

v4l2-ctl --list-formats --device /dev/video0 | grep MJPEG

Chú thích

--device <device name - chuỗi - mặc định là /dev/video0

Nếu kết quả hiện ra là thì camera của bạn đã hỗ trợ mjpeg heart

Name        : MJPEG

Trong trường hợp bạn không có camera có hỗ trợ MJPEG thì cũng không sao, chỉ việc thêm tham số -y vào trong tham số input như sau.

LD_LIBRARY_PATH=/usr/local/lib mjpg_streamer -i "/usr/local/lib/input_uvc.so -d /dev/video0 -quality 100 -f 30 -r 640x480 -y" -o "/usr/local/lib/output_http.so -w /usr/local/www -p 8080

Tài liệu tham khảo

  1. MJPG Streamer vs Intel Galileo - Truyền hình ảnh từ webcam trong mạng LAN với Intel Galileo
  2. How to build and run MJPG-Streamer on the Raspberry Pi
Rate node lên11 thành viên đã đánh giá bài viết này hữu ích. Từ khóa: raspberryraspbianMJPG streamerwebcam Chuyên mục: Raspberry Pi Bài liên quan
  • Tôi tự làm Robot với Raspberry Pi và Arduino thê nào? - Phần 5: Điều khiển Robot qua mạng WAN
  • Raspberry Pi và Arduino. Tại sao không?
  • Tôi tự làm Robot với Raspberry Pi và Arduino như thế nào? - Phần 6: Sử dụng NRF24L01 với Raspberry Pi
  • "Đi học thoai": Phần 2 - Nhận clip quay từ nhà mỗi 30 phút với Raspberry Pi và Python
  • So sánh giữa Intel Galileo và Raspberry Pi
  • Một vài hacker phần cứng nổi tiếng và các trò bá đạo của họ
  • 1 trên 12
  • sau ›
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả Bạn có một DỰ ÁN hay giống thế này? Chia sẻ nhé!

Nếu đã chọn theo hướng một nhà phát triển Raspberry Pi, thì tôi nghĩ, bạn buộc phải dùng Raspbian vì hệ điều hành mà nó dựa trên là Debian, mà Debian trong thế giới Linux lại vô cùng lớn và rất nhiều tài liệu phong phú. Còn đối với các hệ điều hành khác thì cũng khá nhiều tài liệu, nhưng các loạt bài viết của mình, mình sẽ hướng dẫn và xem như các bạn đã cài Raspbian. Vì vậy, hãy sử dụng Raspbian cho cậu Raspberry Pi của mình nhé. Ở bài viết trước về việc cài Raspbian, mình đã trình bày về việc phải biết địa chỉ IP mới cài được Raspbian. Nhưng hôm nay, mình đã tìm ra cách không cần biết địa chỉ IP luôn. Cảm ơn @ksp đã giúp mình một phương pháp hay.

Rate node lên10 thành viên đã đánh giá bài viết này hữu ích. Từ khóa: rpiraspberry piraspbian Bạn có một DỰ ÁN hay giống thế này? Chia sẻ nhé!

Với kinh nghiệm của một hardcore developer, đã từng dùng nhiều ngôn ngữ lập trình như C++, python, bash, js,... trên Raspberry Pi. Mình nhận thấy, Javascript trên NodeJS là một trong những ngôn ngữ lập trình "làm việc tốt nhất" trên Raspberry Pi. Vì sao? Vì đơn giản, nó chạy trong môi trường NodeJS mà NodeJS là một hệ sinh thái với hệ thống thư viện mở lớn nhất thế giới. Tuy nhiên, nó không dễ tiếp cận như Python, Ruby. Vì vậy, bạn cần lườm trước mọi thứ trước khi dấn thân vào Javascript. Tuy nhiên, lợi ích của bạn khi biết Javascript đó là có thể lập trình MỌI NỀN TẢNG từ những board mạch nhỏ nhất như (Raspberry Pi, Intel Galileo, Arduino Yún,...) cho đến môi trường Web.

Rate node lên11 thành viên đã đánh giá bài viết này hữu ích. Từ khóa: raspberry pinodejsjavascriptjohnny-five

Cửa cuốn thông minh

Đăng nhập Tên người dùng * Mật khẩu *
  • Tạo tài khoản mới
  • Yêu cầu mật khẩu mới
Đăng nhập bằng Facebook Connect Mã kiểm traVui lòng nhập vào mã kiểm tra ở ô bên cạnh

mã số thuế

 

Thành viên trực tuyến

Hiện đang có 4 người trực tuyến.

  • Trần Nhật Vũ
  • KEY
  • thuyduong16
  • TitanS
Thành viên mới
  • TitanS
  • thuyduong16
  • tanthanh
  • MinhHuynh
  • q.thanhphong72
  • Võ Phước Sang
  • nguyenduythai
  • ngọc hiếu
Về chúng tôi

Arduino.vn được xây dựng trên nền tảng Drupal 7, phiên bản hiện tại 2.3 tên mã Chia sẻ tình yêu với Arduino.

Đây là trang thông tin phi lợi nhuận ra đời hướng tới cộng đồng trẻ, những chủ nhân tương lai của đất nước. Tìm hiểu thêm

Lấy tin RSS Đăng kí nhận Lấy tin RSS DMCA.com Protection Status      Creative Commons LicenseNội dung trên trang Arduino.vn được phân phối theo giấy phép Creative Commons Attribution-ShareAlike 4.0 International License.Vui lòng ghi rõ nguồn và link về bài gốc nếu bạn tham khảo nội dung từ website này.

Bạn ơi ^_^!

Mục lục

Hãy trở thành thành viên của Cộng đồng Arudino Việt Nam để mở khóa chức năng này.

Mục lục Bạn ơi

Cùng đăng nhập vào Cộng đồng Arduino Việt Nam để mở hết các chức năng của Cộng đồng nhé.

Từ khóa » Truyền Hình ảnh Bằng Arduino