Additions:
-
Speedup First connection
- First check baichuan in _login_try_ports to speedup first connection
- Reduce UDP connection timeout from 30 to 5 seconds
- Change UDP connection timeout from 5 to 10 seconds
- Resend UDP connection messages each 0.5 seconds
- Reduce TCP connection timeout from 30 to 10 sec
- Reduce the HTTP(s) socket connection timeout from 30 to 10 sec
-
Add Baichuan download_mp4/stream_mp4 recording
- Use xml_time_range util for Baichuan startTime/endTime
- Restructure snapshot_past decoding into media_decoder.py
- Simplify i_frame_to_jpeg to a to_jpeg of the MediaStream class
- Add Media decoding to MP4
- Add Baichuan download_mp4
- Catch FileNotFoundError when ffmpeg could not be located
- Handle pre-buffer of audio and duplicate frames in decode_media_stream
- Add missing AAC config in mp4
- Allow partial chunks in Baichuan media decoder
- Prevent quadratic copying in Baichuan send_payload
- Convert MediaStream from dataclass to normal class
- Ensure proper closing of stream_mp4
- Stream all Baichuan payloads through a queue with a lock per channel
- Allow simultanious payload stream of diffrent cmd_ids
- Allow only one simultaneous mp4 download on a NVR
- Keep audio in sync after a video gap in BC decoding/muxing
- stream_mp4 tag H265 as hvc1 by first reading the BC media untill the header is decoded
- Write the expected duration in the mp4 header for better playback
- Fix stream_mp4 for telefoto/autotrack stream
Bug fixes:
Optimizations:
Full Changelog: 0.22.0...0.23.0