Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

stream webcam local

12 réponses
Avatar
Christophe PEREZ
Bonjour,

Juste à des fins très personnelles, je streame le flux d'une webcam (et
l'audio du micro intégré) sur une Gentoo.
Vu que c'est quand même quelque chose que je n'utilise vraiment pas
souvent, je ne me suis pas rendu compte qu'au fil des mises à jour (et je
ne sais pas depuis laquelle ni depuis quand) le système en place ne
fonctionne plus.
A l'époque, j'avais passé pas mal de temps à trouver le meilleur moyen (à
ma disposition) pour le faire, et j'en étais arrivé à :
/usr/bin/ffserver > /var/log/ffserver.log
puis
/usr/bin/ffmpeg -r 5 -s 640x480 -f video4linux2 -i /dev/video0 -f alsa -
ac 1 -i default http://localhost:8090/webcam.ffm

avec media-video/ffmpeg-1.0.7

Lorsque je lance tout ça, et qu'à distance je tente de consulter par :
mplayer http://192.168.1.202:8090/webcam.ffm

j'obtiens sur ce poste distant :
MPlayer 1.1-4.6.3 (C) 2000-2012 MPlayer Team
Impossible d'ouvrir périphérique manette de jeux /dev/input/js0 : No such
file or directory
Impossible d'initier manette entrée
Lecture de http://192.168.1.202:8090/webcam.ffm
Connexion au serveur 192.168.1.202[192.168.1.202] : 8090...

Server returned 404: Not Found
STREAM_ASF, URL : http://192.168.1.202:8090/webcam.ffm
Connexion au serveur 192.168.1.202[192.168.1.202] : 8090...

Retour de serveur 404:Not Found
Échec analyse entête
Échec, abandon
Connexion au serveur 192.168.1.202[192.168.1.202] : 8090...

Server returned 404: Not Found
No stream found to handle url http://192.168.1.202:8090/webcam.ffm


Sortie... (Fin du fichier)


Sur le poste avec la webcam, le ffmpeg me donne :
ffmpeg version 1.0.7 Copyright (c) 2000-2013 the FFmpeg developers
built on Aug 4 2013 22:05:48 with gcc 4.6.3 (Gentoo 4.6.3 p1.13,
pie-0.5.2)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
--mandir=/usr/share/man
--enable-shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++
--ar=x86_64-pc-linux-gnu-ar --optflags='-march=nocona -O2 -pipe' --extra-
cflags='-march=nocona
-O2 -pipe' --extra-cxxflags='-march=nocona -O2 -pipe' --disable-static --
enable-gpl
--enable-version3 --enable-postproc --enable-avfilter --enable-avresample
--disable-stripping
--disable-debug --disable-doc --disable-vaapi --disable-vdpau --disable-
runtime-cpudetect
--enable-libmp3lame --enable-libvo-aacenc --enable-libvo-amrwbenc --
enable-libtheora
--enable-libx264 --enable-libxvid --enable-libfaac --enable-nonfree --
enable-openal
--disable-indev=oss --disable-indev=jack --enable-x11grab --disable-
outdev=oss
--enable-libfreetype --enable-libopencore-amrwb --enable-libopencore-amrnb
--enable-libopus
--enable-libspeex --enable-libvorbis --disable-amd3dnow --disable-
amd3dnowext --disable-altivec
--disable-avx --disable-mmxext --disable-ssse3 --dis
libavutil 51. 73.101 / 51. 73.101
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
libpostproc 52. 0.100 / 52. 0.100
[video4linux2,v4l2 @ 0x632250] Estimating duration from bitrate, this may
be
inaccurate
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 12064.465459, bitrate: 24576 kb/s
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480,
24576 kb/s, 5 tbr, 1000k tbn, 5 tbc
[alsa @ 0x632c80] Estimating duration from bitrate, this may be inaccurate
Guessed Channel Layout for Input Stream #1.0 : mono
Input #1, alsa, from 'default':
Duration: N/A, start: 1378388204.323280, bitrate: 768 kb/s
Stream #1:0: Audio: pcm_s16le, 48000 Hz, mono, s16, 768 kb/s
[tcp @ 0x672280] TCP connection to localhost:8090 failed: Connection
refused
[tcp @ 0x6724f0] TCP connection to localhost:8090 failed: Connection
refused
Output #0, ffm, to 'http://localhost:8090/webcam.ffm':
Metadata:
encoder : Lavf54.29.104
Stream #0:0: Audio: mp3, 16000 Hz, mono, s32, 32 kb/s
Stream #0:1: Video: msmpeg4v3, yuv420p, 640x480, q=1-10, 200 kb/s,
1000k tbn, 5 tbc
Stream mapping:
Stream #1:0 -> #0:0 (pcm_s16le -> libmp3lame)
Stream #0:0 -> #0:1 (rawvideo -> msmpeg4)
Press [q] to stop, [?] for help
[msmpeg4 @ 0x63dbb0] rc buffer underflow
Last message repeated 2 times
frame= 4 fps=0.0 q=3.0 size= 100kB time=00:00:00.80
bitrate=1024.0kbits/src buffer underflow
[msmpeg4 @ 0x63dbb0] rc buffer underflow
frame= 6 fps=6.0 q=2.0 size= 140kB time=00:00:01.20 bitrate=
955.7kbits/src buffer underflow
frame= 8 fps=5.3 q=8.2 size= 184kB time=00:00:01.60 bitrate=
942.1kbits/s
frame= 10 fps=5.0 q=6.3 size= 208kB time=00:00:02.00 bitrate=
852.0kbits/s
[... j'en saute...]
frame= 113 fps=5.0 q=4.8 size= 820kB time=00:00:22.68 bitrate=
296.1kbits/s
frame= 116 fps=5.0 q=6.7 size= 832kB time=00:00:23.20 bitrate=
293.8kbits/s
frame= 118 fps=5.0 q=6.4 size= 840kB time=00:00:23.65 bitrate=
290.9kbits/s
Erreur de segmentation

Là c'est ffserver qui a planté, et ses logs donnent :
Thu Sep 5 06:16:33 2013 FFserver started.
Thu Sep 5 09:36:44 2013 127.0.0.1 - - [GET] "/webcam.ffm HTTP/1.1" 200
4175
Thu Sep 5 09:37:08 2013 127.0.0.1 - - [POST] "/webcam.ffm HTTP/1.1" 200
860160
Thu Sep 5 09:37:15 2013 File '/webcam.ffm' not found
Thu Sep 5 09:37:15 2013 192.168.0.2 - - [GET] "/webcam.ffm HTTP/1.0" 404
150
Thu Sep 5 09:37:15 2013 File '/webcam.ffm' not found
Thu Sep 5 09:37:15 2013 192.168.0.2 - - [GET] "/webcam.ffm HTTP/1.0" 404
150
Thu Sep 5 09:37:15 2013 File '/webcam.ffm' not found
Thu Sep 5 09:37:15 2013 192.168.0.2 - - [GET] "/webcam.ffm HTTP/1.0" 404
150
Thu Sep 5 09:38:11 2013 192.168.0.2 - - [GET] "/webcam.asf HTTP/1.1" 200
123
Thu Sep 5 09:38:12 2013 File '/favicon.ico' not found
Thu Sep 5 09:38:12 2013 192.168.0.2 - - [GET] "/favicon.ico HTTP/1.1"
404 151
Thu Sep 5 09:38:12 2013 File '/favicon.ico' not found
Thu Sep 5 09:38:12 2013 192.168.0.2 - - [GET] "/favicon.ico HTTP/1.1"
404 151
Thu Sep 5 09:38:13 2013 Codec for stream 0 does not use global headers
but container format requires global headers
Thu Sep 5 09:38:13 2013 Codec for stream 1 does not use global headers
but container format requires global headers
Thu Sep 5 09:38:13 2013 192.168.0.2 - - [GET] "/webcam.asf HTTP/1.0" 200
1012
Thu Sep 5 09:38:13 2013 Codec for stream 0 does not use global headers
but container format requires global headers
Thu Sep 5 09:38:13 2013 Codec for stream 1 does not use global headers
but container format requires global headers
Thu Sep 5 09:38:32 2013 127.0.0.1 - - [GET] "/webcam.ffm HTTP/1.1" 200
4175
Thu Sep 5 09:38:32 2013 Application provided invalid, non monotonically
increasing dts to muxer in stream 0: 23367 >= -69
Thu Sep 5 09:38:32 2013 Error writing frame to output
Thu Sep 5 09:38:32 2013 Application provided invalid, non monotonically
increasing dts to muxer in stream 0: 23367 >= -33
Thu Sep 5 09:38:32 2013 Error writing frame to output

J'avoue que je n'ai pas trop envie de repartir dans une recherche de
solution, qu'il faudra adapter, mettre au point etc... et qu'il
m'arrangerait vraiment beaucoup si l'un de vous pouvait avoir une idée
sur la provenance de la chose.

Merci d'avance.

2 réponses

1 2
Avatar
Nicolas George
Christophe PEREZ , dans le message <l0fc0l$jkt$, a
écrit :
Donc tu confirmes que seul le mode NoDaemon existe maintenant ?



Oui.

"&" est la seule solution ?



La manière correcte de détacher un processus, c'est setsid. Ne pas oublier
de rediriger aussi l'entrée standard.
Avatar
Christophe PEREZ
Le Sat, 07 Sep 2013 19:27:11 +0000, Nicolas George a écrit :

La manière correcte de détacher un processus, c'est setsid. Ne pas
oublier de rediriger aussi l'entrée standard.



inconnue chez moi, mais je vais me renseigner ;) Merci.
1 2