Hallo liebes Forum,
Ich brauche wieder einmal eure Hilfe.
Ich möchte gerne mit dem Paket ffmpeg ein Webcam-Video aufzeichnen und ins Netzwerk streamen, damit ich z.B. per VLC Media Player das Live-Bild sehe.
Nun habe ich das ffmpeg Paket heruntergeladen, compilliert und installiert. Meine Konfiguration von ffmpeg (/etc/ffmpegserver.conf) sieht so aus:
Port 80
BindAddress 0.0.0.0
MaxClients 3
MaxBandwidth 50000
NoDaemon
<Feed picam.ffm>
file /tmp/picam.ffm
FileMaxSize 10M
</Feed>
<Stream picam.mjpeg>
Feed picam.ffm
Format mjpeg
VideoSize 640x480
VideoFrameRate 20
VideoBitRate 2000
VideoQMin 1
VideoQMax 9
</Stream>
Nun habe ich noch ein Startskript erzeugt, damit die Webcam auch nach einem Neustart aktiv bleibt (/usr/sbin/picam.sh):
ffserver -f /etc/ffmpegserver.conf & ffmpeg -v verbose -r 5 -s 640x480 -f video4linux2 -i /dev/video0 http://192.168.2.104:80/picam.ffm
Wenn ich nun das Skript mit dem Befehl /usr/sbin/picam.sh starte, erhalte ich folgendes:
pi@raspberrypi ~ $ /usr/sbin/picam.sh
ffserver version 1.2.2 Copyright (c) 2000-2013 the FFmpeg developers
built on Aug 19 2013 18:10:53 with gcc 4.6 (Debian 4.6.3-14+rpi1)
configuration:
ffmpeg version 1.2.2 Copyright (c) 2000-2013 the FFmpeg developers
built on Aug 19 2013 18:10:53 with gcc 4.6 (Debian 4.6.3-14+rpi1)
configuration:
libavutil 52. 18.100 / 52. 18.100
libavutil 52. 18.100 / 52. 18.100
libavcodec 54. 92.100 / 54. 92.100
libavformat 54. 63.104 / 54. 63.104
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 42.103 / 3. 42.103
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libavcodec 54. 92.100 / 54. 92.100
libavformat 54. 63.104 / 54. 63.104
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 42.103 / 3. 42.103
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
[video4linux2,v4l2 @ 0x2d694b0] fd:3 capabilities:4000001
[video4linux2,v4l2 @ 0x2d694b0] The driver changed the time per frame from 1/5 to 1/30
[video4linux2,v4l2 @ 0x2d694b0] The v4l2 frame is 453 bytes, but 614400 bytes are expected
[video4linux2,v4l2 @ 0x2d694b0] Estimating duration from bitrate, this may be inaccurate
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, bitrate: 147456 kb/s
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
[graph 0 input from stream 0:0 @ 0x2d6e730] w:640 h:480 pixfmt:yuyv422 tb:1/5 fr:5/1 sar:0/1 sws_param:flags=2
[scaler for output stream 0:0 @ 0x2d6ee00] w:640 h:480 flags:'0x4' interl:0
[graph 0 input from stream 0:0 @ 0x2d6e730] TB:0.200000 FRAME_RATE:5.000000 SAMPLE_RATE:nan
[scaler for output stream 0:0 @ 0x2d6ee00] w:640 h:480 fmt:yuyv422 sar:0/1 -> w:640 h:480 fmt:yuvj422p sar:0/1 flags:0x4
Output #0, ffm, to 'http://192.168.2.104:80/picam.ffm':
Metadata:
creation_time : now
encoder : Lavf54.63.104
Stream #0:0: Video: mjpeg, yuvj422p, 640x480, q=1-9, 2000 kb/s, 1000k tbn, 5 tbc
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo -> mjpeg)
Press [q] to stop, [?] for help
The v4l2 frame is 2449 bytes, but 614400 bytes are expectedbitrate=1228.8kbits/s
/dev/video0: Invalid data found when processing input
No more output streams to write to, finishing. (Was ist damit gemeint? Liegt hier der Fehler?)
frame= 12 fps=3.5 q=1.6 Lsize= 364kB time=00:00:02.40 bitrate=1242.5kbits/s
video:358kB audio:0kB subtitle:0 global headers:0kB muxing overhead 1.544958%
pi@raspberrypi ~ $
Der Text erscheint, es wird nichts gestreamt.
Wo liegt mein Fehler?
Vielen Dank für eure Hilfe.
Gruß
RaspberryPi-Bastler