[FFmpeg-user] Feeding DVR to ffserver
Alex Povolotsky
tarkhil at corp.infotel.ru
Wed Feb 24 15:04:13 CET 2016
Hello
I'm working with pretty aged video recorer for surveillance cams, trying
to connect it to zoneminder instead of weird propiertary surveillance soft.
tanidvr gets video stream, but all attempts to send it to ffserver
failed so far.
=== ffserver.conf ===
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 200K
ACL allow 127.0.0.1
</Feed>
=== ffserver.conf ===
than
# /usr/local/bin/tanidvr -m 1 -c 1 -m 1 -t dvr1 -u admin -w admin |
ffmpeg -i - -vcodec h264 -r 1/30 -f lavfi -i aevalsrc=0 -c:a libmp3lame
http://localhost:8090/feed1.ffm
ffmpeg version 2.8.6 Copyright (c) 2000-2016 the FFmpeg developers
built with FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final
208032) 20140512
configuration: --prefix=/usr/local --mandir=/usr/local/man
--datadir=/usr/local/share/ffmpeg
--pkgconfigdir=/usr/local/libdata/pkgconfig --enable-shared --enable-gpl
--enable-postproc --enable-avfilter --enable-avresample
--enable-pthreads --disable-libstagefright-h264 --disable-libutvideo
--disable-libsoxr --cc=cc --extra-cflags='-msse
-I/usr/local/include/vorbis -I/usr/local/include'
--extra-ldflags='-L/usr/local/lib ' --extra-libs=-lpthread
--disable-libaacplus --disable-indev=alsa --disable-outdev=alsa
--disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libass
--disable-libbs2b --disable-libcaca --disable-libcdio --disable-libcelt
--disable-libdc1394 --disable-debug --enable-htmlpages --disable-libfaac
--disable-libfdk-aac --enable-ffserver --disable-libflite
--disable-fontconfig --disable-libfreetype --enable-frei0r
--disable-libfribidi --disable-libgme --disable-libgsm --enable-iconv
--disable-libilbc --disable-indev=jack --disable-ladspa
--disable-libmp3lame --disable-libbluray --enable-mmx
--disable-libmodplug --disable-openal --disable-indev=openal
--disable-opencl --enable-libopencv --disable-opengl
--enable-libopenh264 --disable-libopenjpeg --disable-libopus
--disable-libpulse --disable-indev=pulse --disable-outdev=pulse
--disable-libquvi --enable-runtime-cpudetect --enable-librtmp
--enable-libschroedinger --disable-ffplay --disable-outdev=sdl
--disable-libsmbclient --disable-libsnappy --disable-libspeex
--enable-sse --disable-libssh --enable-libtheora --disable-libtwolame
--disable-libv4l2 --disable-indev=v4l2 --disable-outdev=v4l2
--disable-vaapi --disable-vdpau --disable-libvidstab --enable-libvorbis
--disable-libvo-aacenc --disable-libvo-amrwbenc --enable-libvpx
--disable-libwavpack --disable-libwebp --disable-x11grab
--enable-libx264 --disable-libx265 --disable-libxcb --enable-libxvid
--disable-outdev=xv --disable-libzmq --disable-libzvbi --disable-gnutls
--enable-openssl --enable-version3 --enable-nonfree
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
INFO (main): Identifying type of media container in stream...
INFO (buffer): Starting DVR session controller...
DETAIL (buffer): DVR session controller started. Waiting for data from
that...
INFO (DVR streamer): DVR session controller started.
INFO (main): Media container: DHAV
Invalid UE golomb code
Last message repeated 1 times
Input #0, matroska,webm, from 'pipe:':
Metadata:
encoder : TaniDVR 1.4.1
Duration: 00:00:00.27, start: 0.000000, bitrate: N/A
Stream #0:0: Video: h264 (Constrained Baseline), yuv420p, 352x288,
SAR 12:11 DAR 4:3, 24.98 fps, 24.98 tbr, 1000k tbn, 2000k tbc
Input #1, lavfi, from 'aevalsrc=0':
Duration: N/A, start: 0.000000, bitrate: 2822 kb/s
Stream #1:0: Audio: pcm_f64le, 44100 Hz, mono, dbl, 2822 kb/s
[mpeg1video @ 0x808478200] bitrate tolerance 21333 too small for bitrate
64000, overriding
[mpeg1video @ 0x808478200] too many threads/slices (9), reducing to 8
[mpeg1video @ 0x808478200] MPEG1/2 does not support 3/1 fps
Output #0, ffm, to 'http://localhost:8090/feed1.ffm':
Metadata:
encoder : TaniDVR 1.4.1
creation_time : 2016-02-24 17:01:01
Stream #0:0: Audio: mp2, 22050 Hz, mono, s16, 64 kb/s
Metadata:
encoder : Lavc56.60.100 mp2
Stream #0:1: Video: mpeg1video, none, 160x128, q=2-31, 64 kb/s, SAR
16:15 DAR 4:3, 25 fps, 3 tbc
Metadata:
encoder : Lavc56.60.100 mpeg1video
Stream #0:2: Audio: wmav2, 22050 Hz, 1 channels, fltp, 64 kb/s
Metadata:
encoder : Lavc56.60.100 wmav2
Stream #0:3: Video: msmpeg4v3 (msmpeg4), none, 352x240, q=2-31, 256
kb/s, SAR 10:11 DAR 4:3, 24.98 fps, 15 tbc
Metadata:
encoder : Lavc56.60.100 msmpeg4
Stream mapping:
Stream #1:0 -> #0:0 (pcm_f64le (native) -> mp2 (native))
Stream #0:0 -> #0:1 (h264 (native) -> mpeg1video (native))
Stream #1:0 -> #0:2 (pcm_f64le (native) -> wmav2 (native))
Stream #0:0 -> #0:3 (h264 (native) -> msmpeg4v3 (msmpeg4))
Error while opening encoder for output stream #0:1 - maybe incorrect
parameters such as bit_rate, rate, width or height
FATAL ERROR (main): Unable to write to target: -1.
DETAIL (buffer): Got SIGTERM|SIGHUP|SIGXCPU.
DETAIL (buffer): Write socket closed remotely.
DETAIL (buffer): buffered_tunnel_pipe() returned: -5
DETAIL (buffer): Got SIGCHLD.
DETAIL (buffer): Intermediate process returned (102).
DETAIL (main): Got SIGCHLD.
I'm new to video processing and maybe I'm doing lots of dumb errors, but
googling for error yielded nothing meaningful.
What should I do to feed ffserver with video and what are good codec
params to compress the video?
Where can I find good introduction for video processing with ffmpeg?
Alex
More information about the ffmpeg-user
mailing list