2012-11-18 51 views
5

Vì vậy, tôi cần có một camera mạng bằng cách sử dụng một Raspberry pi và đã theo dõi this hướng dẫn. Thiết bị đang phân phối trang phát trực tuyến thử nghiệm, tuy nhiên tất cả các vị trí mà luồng sẽ được nhúng vào đều trống. Tôi đang sử dụng một máy ảnh eyetoy PS3 với bản phân phối Raspbian Wheezy. Đây là nhật ký tôi nhận được khi khởi động máy chủ:MJPG truyền trực tuyến bằng Raspberry Pi và webcam

MJPG Streamer Version: svn rev: 3:165 
i: Using V4L2 device.: /dev/video0 
i: Desired Resolution: 640 x 480 
i: Frames Per Second.: 5 
i: Format............: MJPEG 
Adding control for Pan (relative) 
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device 
Adding control for Tilt (relative) 
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device 
Adding control for Pan Reset 
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device 
Adding control for Tilt Reset 
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device 
Adding control for Pan/tilt Reset 
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device 
Adding control for Focus (absolute) 
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device 
mapping control for Pan (relative) 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
mapping control for Tilt (relative) 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
mapping control for Pan Reset 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
mapping control for Tilt Reset 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
mapping control for Pan/tilt Reset 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
mapping control for Focus (absolute) 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
mapping control for LED1 Mode 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
mapping control for LED1 Frequency 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
mapping control for Disable video processing 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
mapping control for Raw bits per pixel 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
o: www-folder-path...: ./www/ 
o: HTTP TCP port.....: 8080 
o: username:password.: disabled 
o: commands..........: enabled 

tôi đã không tìm thấy bất kỳ lời giải thích của lỗi này, và không biết những gì vấn đề nó có thể được đề cập đến.

Trả lời

10

máy ảnh ps3 dường như không hỗ trợ mjpeg, nhưng nó hỗ trợ định dạng YUYV. Thử khởi tạo luồng bằng cờ -y. ví dụ:

mjpg_streamer -i "/usr/lib/input_uvc.so -d /dev/video0 -y -r 320x240 -f 15" -o "/usr/lib/output_http.so -p 8090 -w ./www" 
5

Theo kinh nghiệm của tôi, các lỗi bạn đã liệt kê có liên quan đến dynctrls của trình điều khiển Linux UVC, chứ không phải mjpeg định dạng hình ảnh hoặc yuyv.

Dường như máy ảnh của bạn hỗ trợ định dạng mjpeg, máy ảnh/trình điều khiển hiện tại của bạn thiếu hỗ trợ cho các dynctrl được liệt kê (tức là máy ảnh của bạn không có khả năng xoay/nghiêng/lấy nét, v.v. hoặc mjpeg gặp phải một lỗi khi cố gắng truy cập/thiết lập các điều khiển được liệt kê), bạn có thể vô hiệu hóa các dynctrls (và do đó loại bỏ các lỗi bạn nhận được bằng công -n cờ khi bắt đầu mjpg-streamer

Something như thế này:.

./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -n" -o "./output_http.so -p 8090" 

sẽ bắt đầu phát trực tuyến trên cổng 8090 của địa chỉ ip của mâm xôi pi.

Để truy cập luồng trên mạng cục bộ của bạn, hãy truy cập xxx.xxx.xxx.xxx:8090/?action=stream hoặc chèn <img src="xxx.xxx.xxx.xxx:8090/?action=stream"> vào trang html có thể truy cập. Thay thế xxx.xxx.xxx.xxx bằng địa chỉ IP ĐỊA PHƯƠNG của pi mâm xôi của bạn.

Để truy cập luồng ở vị trí từ xa (không phải trên cùng mạng cục bộ như pi), thay thế xxx.xxx.xxx.xxx bằng IP EXTERNAL của mạng mâm xôi pi nằm trên (và chỉnh sửa cài đặt bộ định tuyến của bạn để chuyển tiếp yêu cầu đến cổng 8090 đến địa chỉ IP LOCAL của raspberry pi).

+0

-n hoàn toàn giải quyết được vấn đề cho tôi - cũng có nhiều ý nghĩa. Tôi có một logitech webcam cơ bản kết nối adn tất nhiên nó không hỗ trợ pan/tilt vv –

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