Ok, am mai săpat vreo 2 metri și am ajuns l-am făcut să meargă. Configul serverului este:
adrianp@odroid64:~$ cat /etc/ffserver.conf | grep -v '#' | egrep -v '^$' HTTPPort 8099 HTTPBindAddress 0.0.0.0 RTSPPort 554 RTSPBindAddress 0.0.0.0 MaxHTTPConnections 2000 MaxClients 1000 MaxBandwidth 1000 CustomLog - <Feed mjpg-streamer.ffm> File /tmp/mjpg-streamer.ffm FileMaxSize 200K ACL allow 127.0.0.1 </Feed> <Stream live.h264.sdp> Format rtp Feed mjpg-streamer.ffm </Stream> <Stream stat.html> Format status ACL allow localhost ACL allow 192.168.0.0 192.168.255.255 </Stream> <Redirect index.html> URL http://www.ffmpeg.org/ </Redirect> Stream-ul îl pornesc așa (5fps sunt suficiente + sunet din webcam, encodat minimal h264, cât să nu îmi încălzească procesorul și cu bitrate constant, care mai merge tunat și cu key frame la fiecare 6 secunde (6s*5fps = 30frames)). O șmecherie interesantă e parametrul -override_ffserver ca să nu încerce și ffserver să mai transcodeze odată streamul: sudo ffmpeg -framerate 5 -f mjpeg -i http://user:pass@127.0.0.1:8090/?action=stream -f alsa -i plughw:CARD=Camera,DEV=0 -acodec libmp3lame -c:v libx264 -preset ultrafast -r 5 -pix_fmt yuv420p -b:v 1500k -x264-params keyint=30:no-scenecut=1 -override_ffserver http://localhost:8099/mjpg-streamer.ffm Ca sursă de semnal folosesc mjpeg-streamer deoarece funcționează ca multiplexor (pot să obțin și snapshot-uri în timp ce stream-uiesc cu ffmpeg și are abilitatea să îmi taie frame-urile incomplete (sub 50kB) (altfel streamul are un flicker supărător)): /usr/local/bin/mjpg_streamer -i 'input_uvc.so -r 1280x720 -m 50000 -n -f 15 -q 95' -o 'output_http.so -p 8090 -w /usr/local/share/mjpg-streamer/www/ -c user:pass' Mai trebuie să-l conving să îmi pornească streamul ffmpeg când se conectează un client prin RTSP, ca sa nu stea să transcodeze ca prostu' 24/7 când end userul se leagă 5 minute pe zi. O variantă ciobănească ar fi să am un parser de log ffmpeg și când văd că apare mesajul ca s-a conectat clientul să-i dau drumul la stream, dar pare cam din topor. Mai caut o soluție mai elegantă (suggestions welcome)... Numai bine! 2016-04-25 12:13 GMT+03:00 Adrian Popa <adrian.popa...@gmail.com>: > Am reușit să le combin, dar când încerc să fac playback îmi moare cu un > segfault... Mai sap... > > Mon Apr 25 12:12:16 2016 FFserver started. > Mon Apr 25 12:12:24 2016 127.0.0.1 - - [GET] "/mjpg-streamer.ffm HTTP/1.1" > 200 4175 > Mon Apr 25 12:12:28 2016 127.0.0.1:59616 - - "PLAY live.h264/streamid=0 > RTP/UDP" > Mon Apr 25 12:12:28 2016 127.0.0.1:39226 - - "PLAY live.h264/streamid=1 > RTP/UDP" > Mon Apr 25 12:12:39 2016 127.0.0.1 - - [TEARDOWN] "rtsp:// > 127.0.0.1:554/live.h264/ RTSP/1.0" 200 1064 > Mon Apr 25 12:12:39 2016 127.0.0.1:0 - - "PLAY live.h264/streamid=0 > RTP/TCP" > Mon Apr 25 12:12:39 2016 127.0.0.1:0 - - "PLAY live.h264/streamid=1 > RTP/TCP" > Mon Apr 25 12:12:50 2016 127.0.0.1 - - [$] " " 200 892 > Mon Apr 25 12:12:50 2016 127.0.0.1 - - [] " RTP/TCP" 200 415057 > Segmentation fault > > > 2016-04-23 21:24 GMT+03:00 Abibula Aygun <abibula.ay...@gmail.com>: > >> Incearca tutorialul asta. >> >> http://www.moreno.marzolla.name/software/linux-webcam-server/ >> >> >> >> 2016-04-23 18:40 GMT+03:00 Adrian Popa <adrian.popa...@gmail.com>: >> >> > @Misu: ma ajuta, multumesc. Ffmpeg comunica cu ffserver prin http, nu >> prin >> > fisier. O sa mai experimentez. >> > >> > @Claudiu: evident, mie imi lipseau! >> > >> > @Aygun: o sa ma uit si la motion, thanks >> > On 23 Apr 2016 16:03, "Abibula Aygun" <abibula.ay...@gmail.com> wrote: >> > >> > > Dar motion nu stie de RTSP ? >> > > >> > > >> > > 2016-04-23 13:33 GMT+03:00 Claudiu Nicolaie CISMARU < >> > > clau...@virtuamagic.com >> > > >: >> > > >> > > > > ffserver pornește (dar nu ascultă pe 544/8544 - trebuie să mai >> sap), >> > > dar >> > > > > dacă îi spun lui ffmpeg să scrie în /tmp/mjpg-streamer.ffm îmi >> scrie >> > > > > streamul acolo ca fișier în loc să se pregătească de streaming. >> > > Probabil >> > > > că >> > > > > îmi lipsesc ceva parametrii. >> > > > > >> > > > >> > > > Ai incercat cu RTSPBindAddress si RTSPPort ? >> > > > >> > > > >> > > > _______________________________________________ >> > > > RLUG mailing list >> > > > RLUG@lists.lug.ro >> > > > http://lists.lug.ro/mailman/listinfo/rlug >> > > > >> > > _______________________________________________ >> > > RLUG mailing list >> > > RLUG@lists.lug.ro >> > > http://lists.lug.ro/mailman/listinfo/rlug >> > > >> > _______________________________________________ >> > RLUG mailing list >> > RLUG@lists.lug.ro >> > http://lists.lug.ro/mailman/listinfo/rlug >> > >> _______________________________________________ >> RLUG mailing list >> RLUG@lists.lug.ro >> http://lists.lug.ro/mailman/listinfo/rlug >> > > _______________________________________________ RLUG mailing list RLUG@lists.lug.ro http://lists.lug.ro/mailman/listinfo/rlug