Commit graph

944 commits

Author SHA1 Message Date
Thulinma
9417fa8dc2 MP4/WS protocol support.
Approx. 10% of code originally written by Roxlu, but keeping it split up during cleanup before merge proved practically impossible, so it's all merged into a single commit.
2021-10-19 22:29:41 +02:00
Thulinma
6276d03522 Fixed track switching mid-stream, improved clarity of related debug messages 2021-10-19 22:29:41 +02:00
Thulinma
e7d802836a Fixed protocol display for websocket-based outputs in JSON streaminfo 2021-10-19 22:29:41 +02:00
Thulinma
3f6e1c8768 Added "unixoffset" field to stream info JSON, containing the offset between unix time (in milliseconds) and stream timestamps. 2021-10-19 22:29:41 +02:00
Thulinma
764ad599e8 Tweaked debug message verbosity 2021-10-19 22:29:41 +02:00
Thulinma
ea8b3ecb78 CMAF push stats fix 2021-10-19 22:29:41 +02:00
Thulinma
5a40225046 CMAF debug session 2021-02-04 2021-10-19 22:29:41 +02:00
Thulinma
4080d141f8 Fix bug in Output::seek() when seeking to a timestamp that is between the last part of a key and the first part of the next key 2021-10-19 22:29:41 +02:00
Thulinma
6f035f3bc6 A few extra status for process status 2021-10-19 22:29:41 +02:00
Thulinma
465f50e6a2 Fixed MEDIA-SEQUENCE in HLS 2021-10-19 22:29:41 +02:00
Thulinma
842861c981 Fixed EBML output 2021-10-19 22:29:41 +02:00
Thulinma
926c5108b4 Fixed nextKeyTime() function 2021-10-19 22:29:41 +02:00
Thulinma
98e4ca6997 Fixed sanitycheck output 2021-10-19 22:29:41 +02:00
Thulinma
63acbb1ddb Fixes for DTSC metadata handling 2021-10-19 22:29:41 +02:00
Thulinma
97b28bebda Packet loss stats:
- Fixed bug in packet lost stats, added packet loss and packet retransmission percentages in "totals" API
- Fixed totals and clients calls
- Push stats now includes packet loss/retransmission info
2021-10-19 22:29:41 +02:00
Thulinma
7edccd1d05 Document TSSRT push output options 2021-10-19 22:29:41 +02:00
Thulinma
7423868de4 Made Util::streamName and exitReason thread-local 2021-10-19 22:29:41 +02:00
Thulinma
7c6da9d455 Added generic PUSH_REWRITE trigger, fixed request URL bug 2021-10-19 22:29:41 +02:00
Thulinma
ea49344628 DTSC push output support, fixes for DTSC push input and DTSC pull output 2021-10-19 22:29:41 +02:00
Ramkoemar
77aa90d48c SRT edits:
- Increased SRT socket queue from 1 to 100
- Fixed SRT initialization (now clean)
- Made output_ts_base.cpp thread-safe
- Made Output class thread-safe
- SRT TS output can now optionally set open file limit
2021-10-19 22:29:41 +02:00
Thulinma
0bd5d742f6 SRT improvements:
- Made SRT support optional
- Make build options visible in cmake-gui
- Improved generic connection stats for outputs
- Added streamid handling configuration for MistInTSSRT
- Push input support over SRT
- Fixed support for SRT settings in push outputs
- Fix parsing of SRT-passed stream names
- Fixed hostnames in MistOutTSSRT, fixed PUSH_REWRITE trigger payload
- Opus support in TS-SRT
- Fixed SRT socket stats, fixed SRT socket address logic, improved SRT socket rolling restart support
- Fixed SRT push deny
2021-10-19 22:29:41 +02:00
Phencys
19199cbff8 TSSRT Support 2021-10-19 22:29:41 +02:00
Thulinma
974380ab30 Converted comms system entirely to being bitflag-based instead of integer state based 2021-10-19 22:29:41 +02:00
Thulinma
e6489f2d6a WebRTC certificate improvement 2021-10-19 22:29:41 +02:00
Thulinma
37cbafe284 Fixed/improved HLS subtitle support 2021-10-19 22:29:41 +02:00
Thulinma
7297336e46 Rewrite of Comms 2021-10-19 22:29:41 +02:00
Thulinma
c6265f6659 Fixed PAT/PMT/SDT continuity counters in HLS live streams 2021-10-19 22:29:41 +02:00
Thulinma
10be747522 Round down audio timestamps in PES packets, instead of rounding to nearest. Fixes HLS in Firefox. 2021-10-19 22:29:41 +02:00
Thulinma
dc9d8c8097 Fixed multiple responses on errors 2021-10-19 22:29:41 +02:00
Thulinma
dc0cd0d451 Fixed general output shutdown behaviour and logging on end of stream, MP4 output now correctly ends HTTP response on stream end.
Bugfix in HTTP::Parser when calling Chunkify before initializing
2021-10-19 22:29:41 +02:00
Thulinma
9c71b25c06 WebRTC verbosity fix 2021-10-19 22:29:41 +02:00
Thulinma
fb56a8f9e8 Session cache fix, semaphore verbosity only in dev builds 2021-10-19 22:29:41 +02:00
Ramkoemar
fff4e2b3d4 WebRTC output DTLS optional for RTCP packets 2021-10-19 22:29:41 +02:00
Thulinma
e6f4f1f8aa Fixed trailing zeroes in WebRTC RTP packets 2021-10-19 22:29:41 +02:00
Thulinma
942ca0c1d1 Fixed input buffering for pages ending in a key > 20s long, added debug message when output reconnects to input during prepareNext. 2021-10-19 22:29:41 +02:00
Thulinma
0058937772 Fix uninitialized var in output_ebml 2021-10-19 22:29:41 +02:00
Thulinma
5150a2ec32 JPG output now retries several seek points if the first is not available for some reason 2021-10-19 22:29:41 +02:00
Thulinma
8b73260194 Output::seek now returns a boolean for success/failure, patched Output::nextKeyTime to no longer crash when the current track is unloaded 2021-10-19 22:29:41 +02:00
Thulinma
027bd5f9da Speed optimizes:
- MP4 output optimizations
- DTSC::Meta::getPageNumberForTime speedup
- RelAccX class speedup
- Generic output optimizations
2021-10-19 22:29:41 +02:00
Thulinma
b8ba101a55 Robustify seeking and track selection 2021-10-19 22:29:41 +02:00
Thulinma
a0de3aeff7 Fix page handling when seeking to last packet on a page 2021-10-19 22:29:41 +02:00
Thulinma
49ee109b50 Added maxKeepAway option for live streams, renamed minkeepaway/keepaway to "jitter" externally, added global jitter and bframe checks in all JSON-like metadata outputs 2021-10-19 22:29:41 +02:00
Thulinma
7b523d53c7 Added track selector and user agent support in RTSP output 2021-10-19 22:29:41 +02:00
Thulinma
19a55828a3 WebRTC fixes/improvements:
- Added public host setting
- Implemented Sender Report based  track time syncing
- Added 10 second timeout for output connections (no timeout for input connections)
- Timing fixes
2021-10-19 22:29:41 +02:00
Thulinma
1fff195f77 Various TS improvements 2021-10-19 22:29:41 +02:00
Thulinma
3d26741148 Socket library and Config library restructuring, improvement to UDP socket reliability 2021-10-19 22:29:41 +02:00
Thulinma
97752f2c2d Opus in TS input/output support 2021-10-19 22:29:41 +02:00
Thulinma
4fb1031508 Decreased RTMP latency 2021-10-19 22:29:41 +02:00
Thulinma
5019c2418c Moved some less interesting debug messages from INFO to MEDIUM level for better readability 2021-10-19 22:29:41 +02:00
Thulinma
5e57dd57af Fixed track mismatch 100% CPU loop, added some extra logging to relevant parts. 2021-10-19 22:29:41 +02:00