Commit graph

1023 commits

Author SHA1 Message Date
Thulinma
ad4c1abd0b Playlist support fixed 2021-12-24 15:09:36 +01:00
Marco van Dijk
684df4b23d Added utcoffset field to metadata to display VoD program time if supported by output 2021-11-24 13:09:11 +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
Marco van Dijk
d1358400f7 Added ability to output locally to playlist & TS files 2021-11-22 14:29:43 +01:00
Balder
598b384078 Edits for fixing stream names with .m3u in the name. 2021-11-22 14:29:43 +01:00
Thulinma
6733bf2a20 Fixed all ARM-related issues/warnings/etc 2021-11-04 18:49:27 +01:00
Thulinma
dae32ede11 Added Util::packetSorter with async/sync modes, set DTSC outputs to use async mode 2021-11-03 14:15:52 +01:00
Thulinma
6042c1ea70 Added per-protocol default track sorting option 2021-11-03 14:15:46 +01:00
Thulinma
f8251cc115 Fix fallback stream, added support for stream variables in fallback stream 2021-10-27 15:39:34 +02:00
Marco
8b59c9abe7 Fix recstart/recstop parameters 2021-10-19 22:29:42 +02:00
Thulinma
4a712404ed Added "hold" command to WebRTC 2021-10-19 22:29:42 +02:00
Thulinma
76db36dfed Added v2 track selectors 2021-10-19 22:29:42 +02:00
Thulinma
194b6e1388 HLS/HTTP fixes:
- Optimize URIReader class to not close connections if not needed
- reConnector now works for non-GET requests with GET params
- Chunk sending mode correctly kept for HLS
- Removed lots of H.Clean() from HLS that weren't needed
- Improved HTTP output class request handling logic
- Removed firstRun from HTTP output class; no longer needed
2021-10-19 22:29:42 +02:00
Thulinma
c02b9ef265 Fixed WebRTC packet counter for receiving broadcasts 2021-10-19 22:29:42 +02:00
Thulinma
4358215692 Removed target not changed message 2021-10-19 22:29:42 +02:00
Thulinma
4cce8baf9b Fixed zero-length sortset causing crash in MP4 output 2021-10-19 22:29:42 +02:00
Thulinma
3c09b085c0 Fix recursing flag not being false in initial doSync 2021-10-19 22:29:42 +02:00
Thulinma
f8c8f68c19 Fix HLS being seen as input during init 2021-10-19 22:29:42 +02:00
Thulinma
0a3c399a98 Ensure key and page numbers are all 32 bits, robustify/fix packet handling internals 2021-10-19 22:29:42 +02:00
Thulinma
2a5a808107 WebRTC: Fixes to packet timing and loss statistics 2021-10-19 22:29:42 +02:00
Thulinma
8cd0bff105 RTMP improvements for rollover behaviour 2021-10-19 22:29:42 +02:00
Thulinma
73a73abbd7 Added iceservers property to WebRTC, support passing it to the player. 2021-10-19 22:29:42 +02:00
Thulinma
248bb9c61e Sanitycheck extra sanity checks 2021-10-19 22:29:42 +02:00
Thulinma
e9ed76d361 USP CMAF push: Change to track identifier to allow for resuming 2021-10-19 22:29:42 +02:00
Thulinma
c4e6f0ad31 Restore RTMP parameters in request URLs, handle variable parsing in trigger responses 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
0c8261bf2f Added timeoffset URL param to RTMP push input, for pushing with forced time offset 2021-10-19 22:29:41 +02:00
Thulinma
209cd4c0fc Process system updates:
All processes:
- Added process status system and relevant API calls
- Added ability to set track masks for input/output in processes
- Added support for unmasking tracks when there is a push target, by the "unmask" parameter.
- Added track unmasking support for processes on exit/error
- Make processes start faster, if possible, in the first few seconds of a stream
- Delay stream ready state if there are processes attempting to start

Livepeer process updates:
- Added Content-Resolution header to MistProcLivepeer as per Livepeer's request
- Renamed transcode from "Mist Transcode" to source stream name
- Added ability to send audio to livepeer
- Robustified livepeer timing code, shutdown code, and improved GUI
- Prevent "audio keyframes" from starting segments in MistProcLivepeer
- Multithreaded (2 upload threads) livepeer process
- Stricter downloader/uploader timeout behaviour
- Robustness improvements
- Fix small segment size 😒
- Streamname correction
- Prevent getting stuck when transcoding multiple qualities and they are not equal length
- Corrected log message print error
- Race condition fix
- Now always waits for at least 1 video track
2021-10-19 22:29:41 +02:00
Thulinma
7124f6070b RTMP header sends now use the current media timestamp instead of a hardcoded 0. 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
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