Livestream video từ Pi của bạn lên trình duyệt Web

Livestream video từ Pi của bạn lên trình duyệt Web

14:44 - 28/05/2019

Livestream video từ Pi của bạn lên trình duyệt Web

NVIDIA Jetson AGX Orin hiệu suất AI mạnh nhất của NVIDIA Jetson Family với 275 TOPS, 2048 NVIDIA® CUDA® cores, 64 Tensor Cores
NVIDIA Jetson AGX Orin Hardware Layout and GPIO Expansion Header Pinout
NVIDIA Jetson là nền tảng hàng đầu thế giới dành cho Trí tuệ nhân tạo (AI) và Deep Learning
Cách sử dụng Camera CSI với hệ điều hành Raspberry Pi Bulleyes mới nhất
Jetson Stats dùng cho Giám sát và Điều khiển trên NVIDIA Jetson Ecosystem [Xavier NX, Nano, AGX Xavier, TX1, TX2]

Livestream video từ Pi của bạn lên trình duyệt Web


Hôm nay mình sẽ giới thiệu đến bạn cách truyền phát video trực tiếp từ Pi của bạn lên trình duyệt web. Công nghệ mà chúng ta sẽ sử dụng ở đây là ứng dụng truyền phát MJPG và Raspberry Pi camera.


Chúng ta cần chuẩn bị :


+ Raspberry Pi kết nối với internet

+ Raspberry Pi camera


1. Thiết lập Raspberry Pi camera


 

 Sau khi các bạn kết nối camera với Raspberry Pi của bạn. Các bạn thực hiện Enable cho camera và thực hiện test camera theo hướng dẫn : Test camera


2. Sử dụng Raspberry Pi camera như một USB video device


Raspberry Pi camera có thể được sử dụng như một “USB video device” tiêu chuẩn (được yêu cầu bởi MJPG). Ở đây chúng ta sẽ tải module “ Video for linux 2” cho phần cứng tương ứng BCM2835 bằng lệnh sau  :

sudo modprobe bcm2835-v4l2

Khi thực hiện thành công lệnh này bạn sẽ thấy tệp thiết bị Video0 bên trong thư mục /dev. Để xác minh ta thực hiện lệnh : 

ls /dev | grep vid


3. Cài đặt một số gói được yêu cầu.


Cụ thể các gói libjpeg-dev, fantemagick, libv4l-dev. Các bạn thực hiện lệnh sau để cài đặt :

Trước tiên thì chúng ta nên cập nhật lại hệ thống một chút để tránh các lỗi không cần thiết !

# Update & Install Tools

$ sudo apt-get update

$ sudo apt-get upgrade

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

$ sudo apt-get install build-essential cmake


4. 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


5. Download mã nguồn MJPG Streamer


Các bạn thực hiện lệnh : 

$ cd Desktop/

$ git clone https://github.com/jacksonliam/mjpg-streamer.git

$ cd mjpg-streamer/mjpg-streamer-experimental/


6. Biên dịch MJPG Streamer


# Make MJPG Streamer

$ make

$ sudo make install


7. Streaming 


Lệnh sau sẽ thực hiện chạy máy chủ. Mỗi một lần chạy chúng ta phải chạy lại lệnh này.

$ sudo ./mjpg_streamer -i "./input_uvc.so -f 24 -r 640x480 -n -y" -o "./output_http.so -w ./www -p 8080"

Phân tích lệnh chạy MJPG-streamer

Bản thân bộ truyền phát MJPG chứa một vài tùy chọn. Trong lệnh trên mà chúng ta đã sử dụng để chạy máy chủ, chúng ta đã đặt hai tùy chọn:

"-i" là một tùy chọn có đường dẫn đến một plugin đầu vào và các tham số cho nó.

"-o" là một tùy chọn đưa đường dẫn đến một plugin đầu ra và các tham số cho nó.

Các tham số mà chúng ta đã sử dụng cho plugin đầu vào là:

"-f" Tốc độ khung hình – Tham số này sẽ đặt có bao nhiêu khung hình được chụp mỗi giây.

"-r" Độ phân giải – tham số này sẽ đặt kích thước cho hình ảnh chúng tôi đang chụp

"-n" Tùy chọn này sẽ loại bỏ các lỗi hiển thị khi lệnh được chạy. Những lỗi này hiển thị vì camera của chúng ta không thể được kiểm soát về mặt vật lý. Các lỗi không ảnh hưởng đến chức năng phát trực tuyến nhưng thật tuyệt khi chạy máy chủ mà không nhìn thấy chúng.

"-y" Chỉ định định dạng YUV cho hình ảnh đầu ra.

Các tham số mà tùy chọn đầu ra lấy mà chúng ta đang sử dụng là:

"-w" Đường dẫn đến thư mục chứa nội dung trang web được phục vụ.

"-p" Cổng trên đó trang web và luồng được phục vụ trên đó.


8. Xem video Streaming


Giờ thì 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 nhé !


9. Chạy streaming khi khởi động hệ thống


Chạy Command line : $ sudo nano /etc/profile

Đưa con trỏ tới vị trí dưới dòng cuối cùng, thêm dòng sau :

$ cd /home/pi/Desktop/mjpg-streamer/mjpg-streamer-experimental/ --- đường dẫn tới script

$ sudo ./mjpg_streamer -i "./input_uvc.so -f 24 -r 320x480 -n -y" -o "./output_http.so -w ./www -p 8080"


Giờ thì các bạn khởi động lại và xem kết quả như ở mục số 8


Các bạn có thể ứng dụng để làm một chú robot giám sát điều khiển qua Webserver như trong video. 
Các bạn tham khảo - Hướng dẫn điều khiển AlphaBot Cơ bản ( LINK)


Nếu các bạn có bất kỳ ý tưởng mới nào đừng ngần ngại mà hãy inbox trực tiếp cho fanpage . Xin chào và hẹn gặp lại các bạn trong các bài viết tiếp theo !!!

PIVIETNAM.COM.VN CHÚC CÁC BẠN THÀNH CÔNG !!!

Thực hiện bài viết : Đào Văn Hậu


Để cập nhật các tin tức công nghệ mới các bạn làm theo hướng dẫn sau đây :


Các bạn vào Trang chủ >> Tin tức. ở mục này có các bài viết kỹ thuật thuộc các lĩnh vực khác nhau các bạn có thể lựa chọn lĩnh vực mà mình quan tâm để đọc nhé !!!

Các bạn cũng có thế kéo xuống cuối trang để xem những tin tức công nghệ mới nhất.