Dear subscribers of moonfire-nvr,
I wanted to give a heads up on a task I'm undertaking.
I'm researching and working up a bug submission for errors which
occur when streams from my Reolink cameras come into an ffmpeg
client. Scott Lamb has indicated (Issue
#36 ) this is a bug in the code of ffmpeg; however, the bug
has not yet been submitted to on the ffmpeg Trac system. The
significance of this bug is that Scott feels it's a gating factor
to handling audio streams in Moonfire-nvr.
Here's a screen shot of the error "Application provided
invalid, non monotonically increasing dts to muxer in stream 0:
1738 >= 1738" generated in a session of ffmepg accessing
the rtsp URL for my Reolink Camera.

./ffmpeg -report -rtsp_transport tcp -i rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov -map 0:v -filter:v showinfo -frames:v 10 -f null /dev/null ffmpeg started on 2015-11-19 at 22:18:19See: https://trac.ffmpeg.org/ticket/5018
Dear subscribers of moonfire-nvr,
I wanted to give a heads up on a task I'm undertaking.
I'm researching and working up a bug submission for errors which occur when streams from my Reolink cameras come into an ffmpeg client. Scott Lamb has indicated (Issue #36 ) this is a bug in the code of ffmpeg; however, the bug has not yet been submitted to on the ffmpeg Trac system. The significance of this bug is that Scott feels it's a gating factor to handling audio streams in Moonfire-nvr.
Here's a screen shot of the error "Application provided invalid, non monotonically increasing dts to muxer in stream 0: 1738 >= 1738" generated in a session of ffmepg accessing the rtsp URL for my Reolink Camera.
The error has been reproduced running ffmpeg against a public streaming server which streams a video:./ffmpeg -report -rtsp_transport tcp -i rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov -map 0:v -filter:v showinfo -frames:v 10 -f null /dev/null ffmpeg started on 2015-11-19 at 22:18:19See: https://trac.ffmpeg.org/ticket/5018
I confess I'm still working on this and trying to understand what is causing this and that has resulted in my spending a lot of time reading and doing some experiments, especially to standardize a testing script which can be used to duplicate the error. I spent Saturday morning fine tuning a bash script that can serve as a template for mass testing and produce preserved-color logs with line numbering. (I may have some live video cameras made available to me from others soas to test against a variety of commercial cameras.) I've determined my Reolink cameras are using LIVE555 streaming servers. I installed a LIVE555 streaming server on a Gentoo system, but after reading the fine print and learning it is licensed only for 1 client and the project owner's opinion that anyone with a gmail.com email address is not a professional worthy of being able to submit email to their email list, I reconsidered venturing into that area. I wanted to rule out the possibility that the LIVE555 server was the cause of the problem.
Right now, I'm trying to configure nginx running on Gento to act as a streaming server for content fed to it from ffmpeg. I want to confirm that an MP4 file served up from ffmpeg [server] ->nginx->another ffmpeg [client] causes the error and that it is reproducible from the same file being streamed. This kind of scenario, coupled with problem I have encountered with streams from my Reolink cameras and the Big Buck Bunny test from wowzaec2demo, ought to convincingly demonstrate the problem lies with ffmpeg.
I believe if I submit something from my Reolink cameras through my network, there will be wiggle room for the ffmpeg developers to raise questions and suggest it is not their code that is causing the problem. So, my current goal is to have an MP4 source file, e.g. a short snippet of the Big Bunny video, send by an ffmpeg session to nginx which streams to an ffmpeg client that causes these errors to appear. The problem with using live video cameras is you do not have a reproducible control situation and there are factors which cannot be reproduced, e.g. faulty camera, network problems. My preliminary test against a streaming server sending a snippet of Big Buck Bunny, as Scott pointed out in FFmpeg's Trac ticket # 5018, was the same: my ffmpeg session flagged "non monotonically" errors.
I also want to know and understand why this is occuring so I can articulate the problem and give Scott's opinion and unassailable position. Hence, my venture into the Rust code which has lead me to the ISO standards. Scott in Issue #36 points to ffmpegs code in libavformat/rtpdec.c asserting the problem is occurring there. Unfortunately, I do not see why the referred-to code has a problem as I do not have the expertise Scott does, nor do I have a working familiarity with the packet processing, so I'm facing a large learning curve.

I said to Scott I hoped to have something this weekend worked up, but I don't. I've probably spent over 10 hours so far and still feel I have a way to go.
--
Cheers,John
You received this message because you are subscribed to the Google Groups "moonfire-nvr-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moonfire-nvr-us...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/moonfire-nvr-users/016b937a-c98c-35d2-418e-452703d83d98%40gmail.com.