moonfire-nvr/db
Scott Lamb 8f792aeb2d live stream frame-by-frame rather than GOP-by-GOP (#59)
This should reduce live stream latency by two seconds when my cameras
are at their default setting (I frame interval = 2 * frame rate)!

I was under the impression that every HTML5 Media Source Extensions
media segment had to start with a Random Access Point. This used to
be true, but apparently changed quite a while ago:
https://bugs.chromium.org/p/chromium/issues/detail?id=229412

Support generating segments that don't start with a key frame, and
plumb this through the mp4 media segment generation logic. Add some
extra error checking in mp4 slice handling, as my first attempts had a
mismatch between expected and actual lengths that silently returned
corrupted .m4s files.

Also pull everything from the most recent key frame on along with the
first live segment to reduce startup latency. Live view is quite a bit
more pleasant now.
2020-08-07 15:56:57 -07:00
..
proto upgrade copyright notices 2020-03-01 22:53:41 -08:00
testdata initial split of database to a separate crate 2018-02-20 23:15:39 -08:00
upgrade start splitting wall and media duration for #34 2020-08-04 21:44:01 -07:00
auth.rs Merge branch 'master' into new-schema 2020-04-17 23:33:46 -07:00
build.rs upgrade deps 2020-04-19 22:19:57 -07:00
Cargo.toml Merge branch 'master' into new-schema 2020-04-19 22:53:42 -07:00
check.rs style: use rusqlite's {named_,}params! everywhere 2020-03-19 20:46:25 -07:00
coding.rs upgrade copyright notices 2020-03-01 22:53:41 -08:00
compare.rs upgrade copyright notices 2020-03-01 22:53:41 -08:00
db.rs live stream frame-by-frame rather than GOP-by-GOP (#59) 2020-08-07 15:56:57 -07:00
dir.rs switch from docopt to structopt 2020-04-17 21:53:37 -07:00
fs.rs upgrade copyright notices 2020-03-01 22:53:41 -08:00
lib.rs use Blake3 instead of SHA-1 or Blake2b 2020-03-20 21:46:53 -07:00
raw.rs start splitting wall and media duration for #34 2020-08-04 21:44:01 -07:00
recording.rs live stream frame-by-frame rather than GOP-by-GOP (#59) 2020-08-07 15:56:57 -07:00
schema.sql start splitting wall and media duration for #34 2020-08-04 21:44:01 -07:00
signal.rs style: use rusqlite's {named_,}params! everywhere 2020-03-19 20:46:25 -07:00
testutil.rs live stream frame-by-frame rather than GOP-by-GOP (#59) 2020-08-07 15:56:57 -07:00
writer.rs live stream frame-by-frame rather than GOP-by-GOP (#59) 2020-08-07 15:56:57 -07:00