LINUX.ORG.RU

ffmpeg & ffserver - как взять изображение из потока


1

1

Здравствуйте. Запущен ffserver, на который через ffmpeg идет вещание с веб камеры вот так:

ffserver
ffmpeg -s 352x288 -r 5 -f video4linux -i /dev/video0 http://localhost:8090/feed.ffm
в общем по итогу идет вещание на sunfire.local:8090/cam.swf

А теперь собственно вопрос: как взять скриншот из этого видео?

Заранее спасибо

★★★
Ответ на: man ffmpeg от anonymous

Пичаль...


root@SunFire:/home/stas/xminetest/game# ffmpeg -i /dev/video0 -vframes 1 -f image21.png
FFmpeg version SVN-r0.5.6-4:0.5.6-3, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --extra-version=4:0.5.6-3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --disable-vis --enable-shared --disable-static
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Dec 31 2011 16:36:44, gcc: 4.4.5
/dev/video0: Unknown format

disee ★★★
() автор топика
Ответ на: комментарий от disee

facepalm.flv

ну так укажи ему параметры потока, как в твоём примере:

ffmpeg -s 352x288 -r 5 -f video4linux -i /dev/video0 -vframes 1 -f image2 1.png

anonymous
()
Ответ на: facepalm.flv от anonymous

stas@SunFire:/srv/sh/festival$ ffmpeg -s 352x288 -r 5 -f video4linux -i /dev/video0 -vframes 1 -f image2 1.png
FFmpeg version SVN-r0.5.6-4:0.5.6-3, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --extra-version=4:0.5.6-3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --disable-vis --enable-shared --disable-static
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Dec 31 2011 16:36:44, gcc: 4.4.5
[video4linux @ 0x4ffa0]VIDIOCMCAPTURE: Device or resource busy
/dev/video0: I/O error occurred
Usually that means that input file is truncated and/or corrupted.

:'(

disee ★★★
() автор топика
Ответ на: комментарий от anonymous

так в том то и дело. Надо, что бы видео продолжало ffmpeg"ом вещаться.. т.е. просто взять картинку когда камера своодна это легко. А как взять видео, с камеры, уже вещающей в флэш?

root@SunFire:/home/stas# fuser -vki /dev/video0
                     USER        PID ACCESS COMMAND
/dev/video0:         root        914 F...m ffmpeg

disee ★★★
() автор топика
Ответ на: комментарий от disee

ну ффмпег же может сеть; я запускаю:

ffmpeg -i rtp://@233.33.210.86:5050 -vframes 1 -f image2 1.png
и получаю скрин первого кАнала
не?

anonymous
()
Ответ на: комментарий от anonymous

root@SunFire:/home/stas# ffmpeg -i rtp://@192.168.1.4:5050 -vframes 1 -f image2 1.png
FFmpeg version SVN-r0.5.6-4:0.5.6-3, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --extra-version=4:0.5.6-3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --disable-vis --enable-shared --disable-static
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Dec 31 2011 16:36:44, gcc: 4.4.5

и дальше никуда не идет....

disee ★★★
() автор топика
Ответ на: комментарий от disee

а чем этот поток открывается у тебя, таки

anonymous
()
Ответ на: комментарий от anonymous

Пробовал и так... Тоже не работает


root@SunFire:/home/stas# ffmpeg -i rtp://@192.168.1.4:8090/cam_2.swf -vframes 1 -f image2 1.png
FFmpeg version SVN-r0.5.6-4:0.5.6-3, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --extra-version=4:0.5.6-3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --disable-vis --enable-shared --disable-static
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Dec 31 2011 16:36:44, gcc: 4.4.5

и вот так пробовал:


root@SunFire:/home/stas# ffmpeg -i rtp://@192.168.1.4/feed1.ffm -vframes 1 -f image2 1.png
FFmpeg version SVN-r0.5.6-4:0.5.6-3, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --extra-version=4:0.5.6-3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --disable-vis --enable-shared --disable-static
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Dec 31 2011 16:36:44, gcc: 4.4.5
ничего не помогает...

disee ★★★
() автор топика
Ответ на: комментарий от disee

очень очень тупил... Прошу прощения)


ffmpeg -i http://@192.168.1.4:8090/cam_2.swf -vframes 1 -f image2 1.png
все работает

disee ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.