У меня возникла проблема с вещанием из потока IP камеры.
Исходные данные:
Есть камеры ACTi E13, E32, E53.
Есть сервер Ubuntu 13.04 (ffmpeg на борту).
При запуске трансляции ffmpeg выдает непонятную ошибку о которой интернет собственно ничего не знает
Привожу полный код:
ffmpeg -i "rtsp://user:user@10.2.1.20:7070/track1" -i "rtsp://user:user@10.2.1.20:7070/track3" -s 1280x720 -trellis 2 -vcodec copy -acodec copy -f flv "rtmp://127.0.0.1/live/cam2"
ffmpeg version git-2014-01-07-b051746 Copyright (c) 2000-2014 the FFmpeg developers
built on Jan 7 2014 10:46:49 with gcc 4.7 (Ubuntu/Linaro 4.7.3-1ubuntu1)
configuration: --enable-gpl --enable-nonfree --enable-shared --enable-pthreads --enable-encoder=libvorbis --enable-encoder=libogg --enable-encoder=liba52 --enable-encoder=libgsm --enable-encoder=dc1394 --enable-encoder=libxvid --disable-debug --enable-encoder=libfaac --enable-encoder=libmp3lame --enable-encoder=libx264 --enable-encoder=libfaad --enable-encoder=libtheora --enable-decoder=libvorbis --enable-decoder=libogg --enable-decoder=liba52 --enable-decoder=libgsm --enable-decoder=dc1394 --enable-decoder=libxvid --enable-decoder=libfaac --enable-decoder=libmp3lame --enable-decoder=libx264 --extra-cflags=-I/usr/local/cpffmpeg/include/ --extra-ldflags=-L/usr/local/cpffmpeg/lib --enable-libvpx --enable-decoder=libfaad
WARNING: library configuration mismatch
avutil configuration: --prefix=/usr/local/cpffmpeg --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --enable-libopencore-amrnb --enable-decoder=liba52 --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/local/cpffmpeg/include/ --extra-ldflags=-L/usr/local/cpffmpeg/lib --enable-libvpx --enable-version3 --extra-version=syslint
avcodec configuration: --prefix=/usr/local/cpffmpeg --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --enable-libopencore-amrnb --enable-decoder=liba52 --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/local/cpffmpeg/include/ --extra-ldflags=-L/usr/local/cpffmpeg/lib --enable-libvpx --enable-version3 --extra-version=syslint
avformat configuration: --prefix=/usr/local/cpffmpeg --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --enable-libopencore-amrnb --enable-decoder=liba52 --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/local/cpffmpeg/include/ --extra-ldflags=-L/usr/local/cpffmpeg/lib --enable-libvpx --enable-version3 --extra-version=syslint
avdevice configuration: --prefix=/usr/local/cpffmpeg --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --enable-libopencore-amrnb --enable-decoder=liba52 --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/local/cpffmpeg/include/ --extra-ldflags=-L/usr/local/cpffmpeg/lib --enable-libvpx --enable-version3 --extra-version=syslint
swscale configuration: --prefix=/usr/local/cpffmpeg --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --enable-libopencore-amrnb --enable-decoder=liba52 --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/local/cpffmpeg/include/ --extra-ldflags=-L/usr/local/cpffmpeg/lib --enable-libvpx --enable-version3 --extra-version=syslint
swresample configuration: --prefix=/usr/local/cpffmpeg --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --enable-libopencore-amrnb --enable-decoder=liba52 --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/local/cpffmpeg/include/ --extra-ldflags=-L/usr/local/cpffmpeg/lib --enable-libvpx --enable-version3 --extra-version=syslint
postproc configuration: --prefix=/usr/local/cpffmpeg --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --enable-libopencore-amrnb --enable-decoder=liba52 --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/local/cpffmpeg/include/ --extra-ldflags=-L/usr/local/cpffmpeg/lib --enable-libvpx --enable-version3 --extra-version=syslint
libavutil 52. 62.100 / 52. 40.100
libavcodec 55. 47.100 / 55. 18.102
libavformat 55. 22.102 / 55. 12.102
libavdevice 55. 5.102 / 55. 3.100
libavfilter 4. 0.103 / 4. 0.103
libswscale 2. 5.101 / 2. 4.100
libswresample 0. 17.104 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
[h264 @ 0xe45ec0] number of reference frames (0+2) exceeds max (1; probably corrupt input), discarding one
Input #0, rtsp, from 'rtsp://user:user@10.2.1.20:7070/track1':
Metadata:
title : Session streamed by RTP/RTSP server
comment : ACTi.COM Streaming Media v
Duration: N/A, start: 0.332667, bitrate: N/A
Stream #0:0: Video: h264 (High), yuv420p, 1280x720, 7.50 fps, 15.08 tbr, 90k tbn, 15 tbc
Guessed Channel Layout for Input Stream #1.0 : mono
Input #1, rtsp, from 'rtsp://user:user@10.2.1.20:7070/track3':
Metadata:
title : Session streamed by RTP/RTSP server
comment : ACTi.COM Streaming Media v
Duration: N/A, start: 0.000000, bitrate: 64 kb/s
Stream #1:0: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s
Output #0, flv, to 'rtmp://127.0.0.1/live/cam2':
Metadata:
title : Session streamed by RTP/RTSP server
comment : ACTi.COM Streaming Media v
encoder : Lavf55.12.102
Stream #0:0: Video: h264 ([7][0][0][0] / 0x0007), yuv420p, 1280x720, q=2-31, 7.50 fps, 1k tbn, 90k tbc
Stream #0:1: Audio: pcm_mulaw ([8][0][0][0] / 0x0008), 8000 Hz, mono, 64 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #1:0 -> #0:1 (copy)
Press [q] to stop, [?] for help
[flv @ 0xff5000] Non-monotonous DTS in output stream 0:0; previous: 0, current: -264; changing to 0. This may result in incorrect timestamps in the output file.
[flv @ 0xff5000] Non-monotonous DTS in output stream 0:0; previous: 0, current: -205; changing to 0. This may result in incorrect timestamps in the output file.
[flv @ 0xff5000] Non-monotonous DTS in output stream 0:0; previous: 0, current: -135; changing to 0. This may result in incorrect timestamps in the output file.
[flv @ 0xff5000] Non-monotonous DTS in output stream 0:0; previous: 0, current: -66; changing to 0. This may result in incorrect timestamps in the output file.
[flv @ 0xff5000] Non-monotonous DTS in output stream 0:0; previous: 0, current: -6; changing to 0. This may result in incorrect timestamps in the output file.
[NULL @ 0xe45ec0] RTP: missed 288 packets
CSeq 6 expected, 0 received.ize= 11493kB time=00:00:29.98 bitrate=3139.7kbits/s
CSeq 6 expected, 0 received.ize= 12166kB time=00:00:30.08 bitrate=3313.2kbits/s
[flv @ 0xff5000] Failed to update header with correct duration.
[flv @ 0xff5000] Failed to update header with correct filesize.
frame= 449 fps= 15 q=-1.0 Lsize= 12288kB time=00:00:30.32 bitrate=3319.7kbits/s
video:12031kB audio:244kB subtitle:0 global headers:0kB muxing overhead 0.110681%
Как я понял проблема все таки в камерах, т.к. другие модели работают (не ACTi)
Все происходит на 30й секунде (до этого трансляция идет безупречно)
[flv @ 0xff5000] Failed to update header with correct duration.
[flv @ 0xff5000] Failed to update header with correct filesize.
А на этой ошибке сваливается. Пробовал всякоразные интерпритации использования ключей. Ничего не помогает. AVCONV даже стартовать отказывается.
FFMPEG сегодня обновил с GITa, до этого был 0.9.
Вопрос: Можно ли хотя бы костылями заставить ffmpeg проигнорировать ошибку.