Commit graph

21 commits

Author SHA1 Message Date
Thulinma
b7c6815e4f Working MP4 push output 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
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
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
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
Thulinma
a9abfa531e Support for AV1 MP4 input and output 2023-07-17 18:46:16 +02:00
Thulinma
6b88525e2f Generic input page loading re-prioritization edit 2023-04-10 14:15:00 +02:00
Thulinma
4181b52857 Silence more compile warnings, fix compilation on MacOS 2022-10-27 14:50:38 +02:00
Thulinma
1e6143bc88 Further fixes to WS/MP4 (implemented "auto" track, implemented dropping video voluntarily) 2022-02-11 17:54:21 +01:00
Thulinma
22e720c9d1 Fixed WS/MP4 initial seek not happening 2022-02-11 17:25:41 +01:00
Thulinma
200e1e4a1c WS/MP4 reliability edits:
- Stream selecting now obeys new "maxdelay" capa entry
- Output::liveSeek now takes an optional bool argument to indicate only rate control should be applied (no seeking)
- dataWaitTimeout is now configurable per-output, defaults to the old 25s
- WS/MP4 uses the new liveSeek with rate-control only
- WS/MP4 uses the new dataWaitTimeout and sets it to 4.5s
- WS/MP4 uses the new maxdelay capa, sets it to 5s
- WS/MP4 will now auto-reselect tracks if a track is dropped for data wait timeout or disappeared from metadata reasons
- Added support for jitter information in WS/MP4 protocol
- Robustify sendWebsocketCodecData being ran when sendHeader is ran
- Fix race condition when switching video tracks before previous video track has sent a single frame
2022-01-22 23:59:09 +01:00
Thulinma
a0eb42f1dd Added human readable name in info JSON output for sources 2022-01-22 23:53:57 +01:00
Marco van Dijk
3d9ed39396 setstreamVodField and streamLiveField no longer mutually exclusive
Removed curPage map from IO. bufferFrame now creates this variable locally and passes it to bufferStart, bufferFinalize and bufferNext
Fix keyNum selection with mixed live & VoD data
Fix bufferframe to handle mixed VoD and live
Added check to bufferFrame to not start the countdown timer for removing live pages
Fixed countdown timer being set using keyNum rather than pageNumber, which resulted in the wrong pages being deleted
livePage variable moved from static to private variable to correctly handle multithreaded inputs

# Conflicts:
#	src/io.cpp
#	src/output/output.cpp
2021-11-22 15:38:58 +01:00
Thulinma
6733bf2a20 Fixed all ARM-related issues/warnings/etc 2021-11-04 18:49:27 +01:00
Thulinma
4cce8baf9b Fixed zero-length sortset causing crash in MP4 output 2021-10-19 22:29:42 +02:00
Thulinma
9953cd6ee2 Generic HTTP handler
# Conflicts:
#	src/output/output_mp4.cpp
#	src/output/output_mp4.h
2021-10-19 22:29:41 +02:00
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
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
027bd5f9da Speed optimizes:
- MP4 output optimizations
- DTSC::Meta::getPageNumberForTime speedup
- RelAccX class speedup
- Generic output optimizations
2021-10-19 22:29:41 +02:00
Phencys
2b99f2f5ea New Meta commit 2021-10-19 22:29:40 +02:00