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.
This commit is contained in:
Thulinma 2022-11-09 10:35:07 +01:00
parent c337fff614
commit 3e2a17ff93
36 changed files with 1054 additions and 469 deletions

View file

@ -22,6 +22,11 @@ namespace TS{
OPUS = 0x060001
};
enum rawDataType{
NONE = 0,
JSON
};
class ADTSRemainder{
private:
char *data;
@ -75,9 +80,11 @@ namespace TS{
std::set<size_t> getActiveTracks();
void setLastms(size_t tid, uint64_t timestamp);
void setRawDataParser(rawDataType parser);
private:
uint64_t lastPAT;
rawDataType rParser;
ProgramAssociationTable associationTable;
std::map<size_t, ADTSRemainder> remainders;