网络摄像头罗技和 Linux
Web camera Logitech and Linux
我有 Logitech C310 相机,声明的特性为 720p 30fps。
如果您将相机连接到 windows,录制完全符合声明的 720p 30fps - 画面清晰。
挑战在于将同一个摄像头连接到 OrangePI(服务器 Armbian)并在其上保存视频文件。
相机显示为/dev/video0。
sudo ffmpeg -f v4l2 -s 1280x720 -i /dev/video0 output.wmv
结果,我得到一张频率为 5 fps 的易碎图片。
也许我没有正确使用 ffmpeg?请在 Linux 上有网络摄像头经验的人帮助我 ...
提前致谢。
USB 摄像头配置:
v4l2-ctl --all --device=/dev/video0
Driver Info (not using libv4l2):
Driver name : uvcvideo
Card type : UVC Camera (046d:081b)
Bus info : usb-1c1c000.usb-1
Driver version: 4.14.18
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
Width/Height : 1280/720
Pixel Format : 'YUYV'
Field : None
Bytes per Line : 2560
Size Image : 1843200
Colorspace : sRGB
Transfer Function : Default
YCbCr/HSV Encoding: Default
Quantization : Default
Flags :
Crop Capability Video Capture:
Bounds : Left 0, Top 0, Width 1280, Height 720
Default : Left 0, Top 0, Width 1280, Height 720
Pixel Aspect: 1/1
Selection: crop_default, Left 0, Top 0, Width 1280, Height 720
Selection: crop_bounds, Left 0, Top 0, Width 1280, Height 720
Streaming Parameters Video Capture:
Capabilities : timeperframe
Frames per second: 5.000 (5/1)
Read buffers : 0
brightness (int) : min=0 max=255 step=1 default=128 value=128
contrast (int) : min=0 max=255 step=1 default=32 value=32
saturation (int) : min=0 max=255 step=1 default=32 value=32
white_balance_temperature_auto (bool) : default=1 value=1
gain (int) : min=0 max=255 step=1 default=64 value=192
power_line_frequency (menu) : min=0 max=2 default=2 value=2
white_balance_temperature (int) : min=0 max=10000 step=10 default=4000 value=4610 flags=inactive
sharpness (int) : min=0 max=255 step=1 default=24 value=24
backlight_compensation (int) : min=0 max=1 step=1 default=0 value=0
exposure_auto (menu) : min=0 max=3 default=3 value=3
exposure_absolute (int) : min=1 max=10000 step=1 default=166 value=249 flags=inactive
exposure_auto_priority (bool) : default=0 value=1
led1_mode (menu) : min=0 max=3 default=3 value=3
led1_frequency (int) : min=0 max=131 step=1 default=0 value=0
我 运行 Raspberry Pi Raspbian 上的网络摄像头,这是我用来捕获视频的代码(这个 运行s 25 fps 很好):
var args = [
"-i",
"/dev/video0",
"-r",
"25",
"-qscale",
"1",
"out.avi"
];
var process = spawn("avconv", args);
"avconv" 与 ffmpeg 几乎相同,我不知道差异的具体细节,但这可能对您有用。非常基本的例子,这只是为了测试相机。 -r 指定 fps,-qscale 是质量(有替代命令)。
我有 Logitech C310 相机,声明的特性为 720p 30fps。
如果您将相机连接到 windows,录制完全符合声明的 720p 30fps - 画面清晰。
挑战在于将同一个摄像头连接到 OrangePI(服务器 Armbian)并在其上保存视频文件。
相机显示为/dev/video0。
sudo ffmpeg -f v4l2 -s 1280x720 -i /dev/video0 output.wmv
结果,我得到一张频率为 5 fps 的易碎图片。
也许我没有正确使用 ffmpeg?请在 Linux 上有网络摄像头经验的人帮助我 ... 提前致谢。
USB 摄像头配置:
v4l2-ctl --all --device=/dev/video0
Driver Info (not using libv4l2):
Driver name : uvcvideo
Card type : UVC Camera (046d:081b)
Bus info : usb-1c1c000.usb-1
Driver version: 4.14.18
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
Width/Height : 1280/720
Pixel Format : 'YUYV'
Field : None
Bytes per Line : 2560
Size Image : 1843200
Colorspace : sRGB
Transfer Function : Default
YCbCr/HSV Encoding: Default
Quantization : Default
Flags :
Crop Capability Video Capture:
Bounds : Left 0, Top 0, Width 1280, Height 720
Default : Left 0, Top 0, Width 1280, Height 720
Pixel Aspect: 1/1
Selection: crop_default, Left 0, Top 0, Width 1280, Height 720
Selection: crop_bounds, Left 0, Top 0, Width 1280, Height 720
Streaming Parameters Video Capture:
Capabilities : timeperframe
Frames per second: 5.000 (5/1)
Read buffers : 0
brightness (int) : min=0 max=255 step=1 default=128 value=128
contrast (int) : min=0 max=255 step=1 default=32 value=32
saturation (int) : min=0 max=255 step=1 default=32 value=32
white_balance_temperature_auto (bool) : default=1 value=1
gain (int) : min=0 max=255 step=1 default=64 value=192
power_line_frequency (menu) : min=0 max=2 default=2 value=2
white_balance_temperature (int) : min=0 max=10000 step=10 default=4000 value=4610 flags=inactive
sharpness (int) : min=0 max=255 step=1 default=24 value=24
backlight_compensation (int) : min=0 max=1 step=1 default=0 value=0
exposure_auto (menu) : min=0 max=3 default=3 value=3
exposure_absolute (int) : min=1 max=10000 step=1 default=166 value=249 flags=inactive
exposure_auto_priority (bool) : default=0 value=1
led1_mode (menu) : min=0 max=3 default=3 value=3
led1_frequency (int) : min=0 max=131 step=1 default=0 value=0
我 运行 Raspberry Pi Raspbian 上的网络摄像头,这是我用来捕获视频的代码(这个 运行s 25 fps 很好):
var args = [
"-i",
"/dev/video0",
"-r",
"25",
"-qscale",
"1",
"out.avi"
];
var process = spawn("avconv", args);
"avconv" 与 ffmpeg 几乎相同,我不知道差异的具体细节,但这可能对您有用。非常基本的例子,这只是为了测试相机。 -r 指定 fps,-qscale 是质量(有替代命令)。