Commit graph

5203 commits

Author SHA1 Message Date
Marco van Dijk
5af441d16b Fixes for segfaults when the connection to the metadata gets lost
Set stream RelAccx pages to null pointers if we cannot reload those pages
2023-10-17 00:13:45 +02:00
Thulinma
b61aab8719 Speedups to output code in general and MP4 in particular 2023-10-17 00:13:45 +02:00
Balder
f384a69b71 have default segment size be used for buffer, dtsc and ts inputs 2023-10-17 00:13:45 +02:00
Thulinma
0783c11663 Update HTTP TS output to use new HTTP handler 2023-10-17 00:13:45 +02:00
Balder
d63190387a Fixes to better support Safari/MacOS/iOS playback of MP4 output
Co-authored-by: Marco van Dijk <marco@stronk.rocks>
Co-authored-by: Thulinma <jaron@vietors.com>
2023-10-17 00:13:45 +02:00
Thulinma
963d7846a8 Fix empty segment being written, fix playlist updating at all when no data was written 2023-10-17 00:13:45 +02:00
Thulinma
c70fadd66f Fixed infinite loop in MP4 analyser when reaching end of file mid-box 2023-10-17 00:13:45 +02:00
Thulinma
7dbd60b208 Support limiting output range for most outputs and outgoing pushes 2023-10-17 00:13:45 +02:00
Thulinma
3e2a17ff93 Various metadata-related features and improvements:
- Added support for new "NowMs" field that holds up to where no new packets are guaranteed to show up, in order to lower latency.
- Added support for JSON tracks over all TS-based protocols (input and output)
- Added support for AMF metadata conversion to JSON (RTMP/FLV input)
- Fixed MP4 input subtitle tracks
- Generalized websocket-based outputs to all support the same commands and run the same core logic
- Added new "JSONLine" protocol that allows for generic direct line-by-line ingest of subtitles and/or JSON metadata tracks over a TCP socket or console standard input.
2023-09-26 17:10:23 +02:00
Cat
c337fff614 Embed: Support for subtitles and metadata tracks over websocket
LSP: Preview tab: Show meta information for metadata tracks
LSP/embed: use new inclzero flag to receive sources that are enabled, but that don't currently have active tracks; and bugfix for metadata update for tracks not firing if sources have also changed
Embed: dashjs: disable stock subtitles unless activated
2023-09-26 15:53:35 +02:00
Thulinma
f3ba13d6bb Change controller calls that use stream metadata to instantly time out if unavailable, rather than waiting for availability 2023-08-31 15:39:20 +02:00
Thulinma
f19899aed2 Added support for JSON content type in APIv1 and APIv2 calls 2023-08-23 11:06:13 +02:00
Marco
b0d4422d27 Added machine readable exit reasons, INPUT_END trigger, OUTPUT_END trigger, and updated RECORDING_END trigger to include all of these. 2023-08-23 10:55:53 +02:00
Balder
a16d98b7b2 removed dead code in rawws 2023-07-24 14:52:14 +02:00
Thulinma
41cf557b48 TSSRT and TSRIST outputs in listen mode will now request not to be killed by the Comms library, since they handle multiple users 2023-07-24 10:37:42 +02:00
Balder
22e0036b8b Fix output timeout while waiting for delay buffer 2023-07-20 10:39:43 +02:00
Thulinma
0ec2800894 Split out jitter timer to be one per metadata, clear out jitter data when clearing as well 2023-07-20 10:39:43 +02:00
Thulinma
7d55a3f1c4 Fix for slow SRT pushes 2023-07-20 10:39:38 +02:00
Thulinma
96f586678f Fix MistProcMKVExec track masking for both source and target 2023-07-19 14:21:53 +02:00
Balder
54cee366e2 SRT push input timestamp fix 2023-07-19 12:15:30 +02:00
Thulinma
a9abfa531e Support for AV1 MP4 input and output 2023-07-17 18:46:16 +02:00
Thulinma
8b8a28c4ec Added some HTTP parser unit tests, fixed HTTP support for zero content length, added gcovr file for coverage reports 2023-07-17 18:22:03 +02:00
Thulinma
9a599a06de Fix local file path writing 2023-07-17 18:17:35 +02:00
Thulinma
b7d5964512 Keep capabilities and protocol config around after close, retry opening pages for ~50ms, no longer warn in save situations of SHM re-use 2023-07-17 18:10:23 +02:00
Marco van Dijk
e8388b2a89 Fix WebRTC ingest 2023-07-17 13:14:03 +02:00
Balder
fca96eaeb1 fixed timeoffset 2023-07-12 10:34:47 +02:00
Thulinma
282c736746 Make config auto-reading/writing configurable with command line flag 2023-07-06 14:04:51 +02:00
Marco van Dijk
e0eb624e53 Change "always on" behaviour to simulate always having viewers rather than forcibly keeping inputs active 2023-07-06 13:06:18 +02:00
Thulinma
b3a0e28159 Fix broken UTF-8/UTF-16 conversion in JSON library 2023-07-06 10:56:36 +02:00
Thulinma
e66d66e59d Set SRT input to live correctly 2023-06-19 17:35:59 +02:00
Balder
f6b0bff646 adding SRT input bootMS 2023-06-19 17:30:18 +02:00
Thulinma
b8caa9c398 Fix segfault when using a blank or extremely short source parameter 2023-06-19 17:29:40 +02:00
Thulinma
8d623e9609 Fix segfault in deinitState when original initState failed 2023-06-19 17:29:23 +02:00
Thulinma
e6621fc09c Fix last-half-segment split prevention to _actually_ only work for VoD, excluding live-with-VoD 2023-06-19 17:28:56 +02:00
Thulinma
d7ec340d7e Fix local file targets when pushing to non-full-path 2023-06-19 17:25:08 +02:00
Thulinma
53d14376c3 Certbot Utility improvements 2023-06-19 17:09:25 +02:00
Thulinma
2a8f2f75d3 Implemented UDP socket packet send pacing, WebRTC now makes use of this new feature. 2023-06-15 12:34:25 +02:00
Thulinma
a1232d56af RTP library fixes and improvements.
- Fixes marker bit bug in H264 output over RTP-based protocols
- Fixes RTCP packets going over the wrong channel in TCP-based RTSP
- Fixes RTSP RTCP packets having wrong timestamps
- Fixes payload padding parser bug in H264, H265, VP8 and VP9 RTP-based inputs.
- Cleans up WebRTC's needless use of thisPacket.getTime() to use thisTime instead
2023-06-15 12:33:24 +02:00
Thulinma
132e59db51 Support for reloading config from disk, writing config to disk after 60 seconds of no changes, reloading config from disk on API call request 2023-06-12 11:47:28 +02:00
Thulinma
cac86fff57 Various small fixes to SRT sockets and SRT socket statistics 2023-06-08 17:31:39 +02:00
Thulinma
0af85de22d UDP API port is now stored in and read from global config 2023-05-01 15:21:10 +02:00
Thulinma
40df03439c Fix typo 🤦 2023-04-26 14:28:49 +02:00
Thulinma
fd340c97c2 Fix audio-only TS-based HLS output 2023-04-26 09:26:28 +02:00
Thulinma
d72b7063ec Fix CertBot 🤦 2023-04-13 10:15:46 +02:00
Thulinma
a784b63f36 Added "bframes" stream selector 2023-04-13 10:09:14 +02:00
Marco van Dijk
9779940c76 Segmenter: do not split if this results in a tiny segment at the end, added flag for adjusting split time, always adjust targetDuration upwards to the largest segment found 2023-04-13 09:53:57 +02:00
Cat
c1885a7a54 LSP: bugfix: input type debug appears to have disappeared from convertBuildOptions 2023-04-13 09:21:24 +02:00
Cat
eee3595d46 Embed:
- updated videojs and dashjs
- combo selection algorithm now tries to find maximum simultracks
- when requesting stream info, add ?metaeverywhere=1 to the url to not count meta/subtitle tracks to simul_tracks and source priority sorting
- updated videojs, dashjs and hlsjs players
- improved html5 codec support testing
- urlappend: improved behaviour when url already contains search params
2023-04-13 09:20:50 +02:00
Thulinma
6d86f98148 Meta tracks for everyone! 2023-04-11 00:10:05 +02:00
Thulinma
23d70a616a Fix HLS output after adding support for TS-based reselecting of tracks 2023-04-11 00:09:57 +02:00