трансляция видео motion + ffmpeg ?

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
k0s
рядовой
Сообщения: 18
Зарегистрирован: 2011-04-05 10:44:19

трансляция видео motion + ffmpeg ?

Непрочитанное сообщение k0s » 2011-04-21 17:09:03

доброго времени суток. есть камера dlink dcs 3420 отдает mjpeg , задача транслировать видео на сайте во флеше, есть ли рекомендации как это лучше сделать?
наткнулся на статейку http://flance.onego.ru/2008/05/22/13 поставил motion он нормально отдает поток ( пробовал vlc плеером) но что дальше? заставить работать ffmpeg так и не получилось.. слышал про red5 erlyvideo возможно надо рыть в эту сторону? может кто сталкивался с подобным, может я чего неправильно делаю (/непонимаю/) ?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Termitnik
сержант
Сообщения: 169
Зарегистрирован: 2008-04-05 20:09:45
Откуда: Киев

Re: трансляция видео motion + ffmpeg ?

Непрочитанное сообщение Termitnik » 2011-04-21 17:21:27

ffmpeg - перекодировщик, red5 - видеосервер, разлиный функционал.
В чем проблема с ffmpeg?

k0s
рядовой
Сообщения: 18
Зарегистрирован: 2011-04-05 10:44:19

Re: трансляция видео motion + ffmpeg ?

Непрочитанное сообщение k0s » 2011-04-22 9:37:59

проблема такая: motion отдает поток с камеры по http://10.0.0.16:8081/stream нужно пережимать этот поток в flv (и наверно желательно передавать дальше поп rtsp) и играть на страничке flowplayerом или еще чем. ffserver вроде запускаетс нормально :
FFserver Status
Available Streams
test.swf 0 0 swf 320 320 flv 0 feed.ffm
test.flv 0 0 flv 320 320 flv 0 feed.ffm
stat.html 1 0 - - - -
Feed feed.ffm Stream type kbits/s codec Parameters
0 video 320 flv 352x288, q=1-5, fps=5
Connection Status
Number of connections: 1 / 100
Bandwidth in use: 0k / 1000000k
# File IP Proto State Target bits/sec Actual bits/sec Bytes transferred
1 stat.html 10.0.0.18 HTTP/1.1 HTTP_WAIT_REQUEST 0 0 0
конфиг такой :

Код: Выделить всё

Port 8090
BindAddress 0.0.0.0
MaxClients 100
MaxBandwidth 1000000
NoDaemon

CustomLog /var/log/ffservser.log

<Feed feed.ffm>
File /tmp/feed.ffm
FileMaxSize 10M
</Feed>

<Stream test.swf>
Feed feed.ffm
Format swf
VideoCodec flv
VideoFrameRate 5
VideoBufferSize 50000
VideoBitRate 320
VideoQMin 1
VideoQMax 5
VideoSize 352x288
PreRoll
NoAudio
</Stream>

<Stream test.flv>
Feed feed.ffm
Format flv
VideoCodec flv
VideoFrameRate 5
VideoBufferSize 80000
VideoSize 352x288
VideoBitRate 320
PreRoll 0
NoAudio
</Stream>

<Stream stat.html>
Format status
</Stream>

но когда запускаю ffmpeg (пробовал разными способами)
wget -nv -O - http://127.0.0.1:8081/stream | ffmpeg -er 4 -y -r 5 -f mjpeg -i - http://127.0.0.1:8090/feed.ffm

Код: Выделить всё

FFmpeg version UNKNOWN, Copyright (c) 2000-2011 the FFmpeg developers
  built on Apr 21 2011 13:39:27 with gcc 4.2.1 20070719  [FreeBSD]
  configuration: --prefix=/usr/local --mandir=/usr/local/man --enable-shared --enable-gpl --enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab --enable-memalign-hack --cc=cc --extra-cflags='-I/usr/local/include/vorbis -I/usr/local/include' --extra-ldflags='-L/usr/local/lib ' --extra-libs=-pthread --disable-debug --disable-sse --disable-mmx --disable-indev=alsa --disable-outdev=alsa --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-libdirac --enable-libfaac --enable-nonfree --disable-frei0r --disable-libgsm --enable-libmp3lame --disable-libopencv --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --disable-vdpau --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid
  libavutil    50. 40. 0 / 50. 40. 0
  libavcodec   52.114. 0 / 52.114. 0
  libavformat  52.103. 0 / 52.103. 0
  libavdevice  52.  3. 0 / 52.  3. 0
  libavfilter   1. 76. 0 /  1. 76. 0
  libswscale    0. 12. 0 /  0. 12. 0
  libpostproc  51.  2. 0 / 51.  2. 0
[mjpeg @ 0x2971d010] max_analyze_duration reached
[mjpeg @ 0x2971d010] Estimating duration from bitrate, this may be inaccurate
Input #0, mjpeg, from 'pipe:':
  Duration: N/A, bitrate: N/A
    Stream #0.0: Video: mjpeg, yuvj420p, 352x288 [PAR 1:1 DAR 11:9], 5 fps, 5 tbr, 1200k tbn, 5 tbc
HTTP error 403 Forbidden
http://127.0.0.1:8090/feed.ffm: Input/output error
Cannot write to `-' (Broken pipe).
ffmpeg -s 352x288 -y -an -r 4 -f mjpeg -i http://127.0.0.1:8081/stream http://127.0.0.1:8090/feed.ffm

Код: Выделить всё

FFmpeg version UNKNOWN, Copyright (c) 2000-2011 the FFmpeg developers
  built on Apr 21 2011 13:39:27 with gcc 4.2.1 20070719  [FreeBSD]
  configuration: --prefix=/usr/local --mandir=/usr/local/man --enable-shared --enable-gpl --enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab --enable-memalign-hack --cc=cc --extra-cflags='-I/usr/local/include/vorbis -I/usr/local/include' --extra-ldflags='-L/usr/local/lib ' --extra-libs=-pthread --disable-debug --disable-sse --disable-mmx --disable-indev=alsa --disable-outdev=alsa --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-libdirac --enable-libfaac --enable-nonfree --disable-frei0r --disable-libgsm --enable-libmp3lame --disable-libopencv --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --disable-vdpau --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid
  libavutil    50. 40. 0 / 50. 40. 0
  libavcodec   52.114. 0 / 52.114. 0
  libavformat  52.103. 0 / 52.103. 0
  libavdevice  52.  3. 0 / 52.  3. 0
  libavfilter   1. 76. 0 /  1. 76. 0
  libswscale    0. 12. 0 /  0. 12. 0
  libpostproc  51.  2. 0 / 51.  2. 0
HTTP error 403 Forbidden
http://127.0.0.1:8081/stream: Input/output error
может можно отказаться от ffmpeg и ffserver и средствами red5 или erlyvideo както раздавать поток и пережимать его на лету ?
или может возможно сразу из motion играть поток флеш плеером?