Attualmente sto cercando di far funzionare lo streaming della webcam su Logitech E2500 con ffmpeg.
L'esecuzione del comando mi dà un qualche tipo di errore di lunghezza del buffer.
pi@raspberrypi ~/ffmpeg-dmo-1.0 $ sudo /usr/sbin/webcam.sh
Questo script contiene quanto segue:
ffserver -f /etc/ffserver.conf & ffmpeg -v verbose -r 5 -s 320x240 -f video4linux2 -i /dev/video0 http://localhost/webcam.ffm
Fornisce il seguente output:
ffserver version 1.0 Copyright (c) 2000-2012 the FFmpeg developersffmpeg version 1.0 Copyright (c) 2000-2012 the FFmpeg developers
built on Dec 2 2012 17:56:37 with gcc 4.6 (Debian 4.6.3-12+rpi1)
configuration:
libavutil 51. 73.101 / 51. 73.101
built on Dec 2 2012 17:56:37 with gcc 4.6 (Debian 4.6.3-12+rpi1)
configuration:
libavutil 51. 73.101 / 51. 73.101
libavcodec 54. 59.100 / 54. 59.100
libavformat 54. 29.104 / 54. 29.104
libavcodec 54. 59.100 / 54. 59.100
libavformat 54. 29.104 / 54. 29.104
libavdevice 54. 2.101 / 54. 2.101
libavfilter 3. 17.100 / 3. 17.100
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 15.100 / 0. 15.100
libavdevice 54. 2.101 / 54. 2.101
libavfilter 3. 17.100 / 3. 17.100
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 15.100 / 0. 15.100
[video4linux2,v4l2 @ 0x250a620] [3]Capabilities: 5000001
[video4linux2,v4l2 @ 0x250a620] The V4L2 driver changed the video from 320x240 to 320x232
[video4linux2,v4l2 @ 0x250a620] Buffer len [0] = 40960 != 74240
/dev/video0: Operation not permitted
Contenuto di /etc/ffserver.conf:
Port 1025
BindAddress 0.0.0.0
MaxClients 10
MaxBandwidth 50000
NoDaemon
<Feed webcam.ffm>
file /tmp/webcam.ffm
FileMaxSize 10M
</Feed>
<Stream webcam.mjpeg>
Feed webcam.ffm
Format mjpeg
VideoSize 320x240
VideoFrameRate 10
VideoBitRate 2000
VideoQMin 1
VideoQMax 10
</Stream>
Cosa sta succedendo qui e come posso risolvere questo problema? Le risposte sono molto apprezzate.
-c:v mjpeg
prima -f video4linux2
dell'opzione.
v4l2-ctl
potrebbe contenere una soluzione. Installazione di v4l-utils ora.
v4l2-ctl --list-formats-ext
per mostrare le funzionalità della fotocamera. Vedi anche l'opzione del dispositivo di input ffmpeg V4L2 -list_formats all
. Quindi scegli il formato desiderato con -input_format
(come mjpeg
o yuyv422
). Scegli la dimensione con -video_size
(come 640x480).
ffserver -f /etc/ffserver.conf & ffmpeg -v verbose -r 5 -s 320x240 -f video4linux2 -i /dev/video0 http://localhost/webcam.ffm