Update input codec capabilities to be more consistent/accurate, and more easily automatically parsed
This commit is contained in:
parent
1a4a526a11
commit
7098f8430b
19 changed files with 108 additions and 116 deletions
|
@ -65,7 +65,7 @@ namespace Mist{
|
|||
capa["source_match"] = "/*.aac";
|
||||
capa["source_file"] = "$source";
|
||||
capa["priority"] = 9;
|
||||
capa["codecs"][0u][1u].append("AAC");
|
||||
capa["codecs"]["audio"].append("AAC");
|
||||
thisTime = 0;
|
||||
// init filePos at 1, else a 15 bit mismatch in expected frame size occurs
|
||||
// dtsc.ccp +- line 215
|
||||
|
|
|
@ -20,15 +20,13 @@ namespace Mist{
|
|||
capa["source_match"] = "/*";
|
||||
capa["source_file"] = "$source";
|
||||
capa["priority"] = 1;
|
||||
capa["codecs"][0u][0u].null();
|
||||
capa["codecs"][0u][1u].null();
|
||||
capa["codecs"][0u][2u].null();
|
||||
capa["codecs"].null();
|
||||
av_register_all();
|
||||
AVCodec *cInfo = 0;
|
||||
while ((cInfo = av_codec_next(cInfo)) != 0){
|
||||
if (cInfo->type == AVMEDIA_TYPE_VIDEO){capa["codecs"][0u][0u].append(cInfo->name);}
|
||||
if (cInfo->type == AVMEDIA_TYPE_AUDIO){capa["codecs"][0u][1u].append(cInfo->name);}
|
||||
if (cInfo->type == AVMEDIA_TYPE_SUBTITLE){capa["codecs"][0u][3u].append(cInfo->name);}
|
||||
if (cInfo->type == AVMEDIA_TYPE_VIDEO){capa["codecs"]["video"].append(cInfo->name);}
|
||||
if (cInfo->type == AVMEDIA_TYPE_AUDIO){capa["codecs"]["audio"].append(cInfo->name);}
|
||||
if (cInfo->type == AVMEDIA_TYPE_SUBTITLE){capa["codecs"]["subtitle"].append(cInfo->name);}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -80,9 +80,6 @@ namespace Mist{
|
|||
capa["optional"]["segmentsize"]["option"] = "--segment-size";
|
||||
capa["optional"]["segmentsize"]["type"] = "uint";
|
||||
capa["optional"]["segmentsize"]["default"] = 5000;
|
||||
capa["codecs"][0u][0u].append("*");
|
||||
capa["codecs"][0u][1u].append("*");
|
||||
capa["codecs"][0u][2u].append("*");
|
||||
}
|
||||
|
||||
int inputBalancer::boot(int argc, char *argv[]){
|
||||
|
|
|
@ -129,9 +129,6 @@ namespace Mist{
|
|||
"live media data. The push://[host][@password] style source allows all enabled protocols "
|
||||
"that support push input to accept a push into MistServer, where you can accept incoming "
|
||||
"streams from everyone, based on a set password, and/or use hostname/IP whitelisting.";
|
||||
capa["codecs"][0u][0u].append("*");
|
||||
capa["codecs"][0u][1u].append("*");
|
||||
capa["codecs"][0u][2u].append("*");
|
||||
bufferTime = 50000;
|
||||
cutTime = 0;
|
||||
segmentSize = 1900;
|
||||
|
|
|
@ -23,13 +23,13 @@ namespace Mist{
|
|||
capa["source_match"].append("dtsc://*");
|
||||
capa["always_match"].append("dtsc://*"); // can be said to always-on mode
|
||||
capa["source_file"] = "$source";
|
||||
capa["codecs"][0u][0u].append("H264");
|
||||
capa["codecs"][0u][0u].append("H263");
|
||||
capa["codecs"][0u][0u].append("VP6");
|
||||
capa["codecs"][0u][0u].append("theora");
|
||||
capa["codecs"][0u][1u].append("AAC");
|
||||
capa["codecs"][0u][1u].append("MP3");
|
||||
capa["codecs"][0u][1u].append("vorbis");
|
||||
capa["codecs"]["video"].append("H264");
|
||||
capa["codecs"]["video"].append("H263");
|
||||
capa["codecs"]["video"].append("VP6");
|
||||
capa["codecs"]["video"].append("theora");
|
||||
capa["codecs"]["audio"].append("AAC");
|
||||
capa["codecs"]["audio"].append("MP3");
|
||||
capa["codecs"]["audio"].append("vorbis");
|
||||
|
||||
JSON::Value option;
|
||||
option["arg"] = "integer";
|
||||
|
|
|
@ -19,26 +19,26 @@ namespace Mist{
|
|||
capa["always_match"].append("mkv-exec:*");
|
||||
capa["source_file"] = "$source";
|
||||
capa["priority"] = 9;
|
||||
capa["codecs"].append("H264");
|
||||
capa["codecs"].append("HEVC");
|
||||
capa["codecs"].append("VP8");
|
||||
capa["codecs"].append("VP9");
|
||||
capa["codecs"].append("AV1");
|
||||
capa["codecs"].append("opus");
|
||||
capa["codecs"].append("vorbis");
|
||||
capa["codecs"].append("theora");
|
||||
capa["codecs"].append("AAC");
|
||||
capa["codecs"].append("PCM");
|
||||
capa["codecs"].append("ALAW");
|
||||
capa["codecs"].append("ULAW");
|
||||
capa["codecs"].append("MP2");
|
||||
capa["codecs"].append("MPEG2");
|
||||
capa["codecs"].append("MP3");
|
||||
capa["codecs"].append("AC3");
|
||||
capa["codecs"].append("FLOAT");
|
||||
capa["codecs"].append("DTS");
|
||||
capa["codecs"].append("JSON");
|
||||
capa["codecs"].append("subtitle");
|
||||
capa["codecs"]["video"].append("H264");
|
||||
capa["codecs"]["video"].append("HEVC");
|
||||
capa["codecs"]["video"].append("VP8");
|
||||
capa["codecs"]["video"].append("VP9");
|
||||
capa["codecs"]["video"].append("AV1");
|
||||
capa["codecs"]["video"].append("theora");
|
||||
capa["codecs"]["video"].append("MPEG2");
|
||||
capa["codecs"]["audio"].append("opus");
|
||||
capa["codecs"]["audio"].append("vorbis");
|
||||
capa["codecs"]["audio"].append("AAC");
|
||||
capa["codecs"]["audio"].append("PCM");
|
||||
capa["codecs"]["audio"].append("ALAW");
|
||||
capa["codecs"]["audio"].append("ULAW");
|
||||
capa["codecs"]["audio"].append("MP2");
|
||||
capa["codecs"]["audio"].append("MP3");
|
||||
capa["codecs"]["audio"].append("AC3");
|
||||
capa["codecs"]["audio"].append("FLOAT");
|
||||
capa["codecs"]["audio"].append("DTS");
|
||||
capa["codecs"]["metadata"].append("JSON");
|
||||
capa["codecs"]["subtitle"].append("subtitle");
|
||||
lastClusterBPos = 0;
|
||||
lastClusterTime = 0;
|
||||
bufferedPacks = 0;
|
||||
|
|
|
@ -21,11 +21,11 @@ namespace Mist{
|
|||
capa["source_match"] = "/*.flv";
|
||||
capa["source_file"] = "$source";
|
||||
capa["priority"] = 9;
|
||||
capa["codecs"][0u][0u].append("H264");
|
||||
capa["codecs"][0u][0u].append("H263");
|
||||
capa["codecs"][0u][0u].append("VP6");
|
||||
capa["codecs"][0u][1u].append("AAC");
|
||||
capa["codecs"][0u][1u].append("MP3");
|
||||
capa["codecs"]["video"].append("H264");
|
||||
capa["codecs"]["video"].append("H263");
|
||||
capa["codecs"]["video"].append("VP6");
|
||||
capa["codecs"]["audio"].append("AAC");
|
||||
capa["codecs"]["audio"].append("MP3");
|
||||
}
|
||||
|
||||
inputFLV::~inputFLV(){}
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace Mist{
|
|||
// May be set to always-on mode
|
||||
capa["always_match"].append("h264-exec:*");
|
||||
capa["priority"] = 0;
|
||||
capa["codecs"][0u][0u].append("H264");
|
||||
capa["codecs"]["video"].append("H264");
|
||||
frameCount = 0;
|
||||
startTime = Util::bootMS();
|
||||
inputProcess = 0;
|
||||
|
|
|
@ -592,10 +592,10 @@ namespace Mist{
|
|||
capa["always_match"] = capa["source_match"];
|
||||
|
||||
capa["priority"] = 9;
|
||||
capa["codecs"][0u][0u].append("H264");
|
||||
capa["codecs"][0u][1u].append("AAC");
|
||||
capa["codecs"][0u][1u].append("AC3");
|
||||
capa["codecs"][0u][1u].append("MP3");
|
||||
capa["codecs"]["video"].append("H264");
|
||||
capa["codecs"]["audio"].append("AAC");
|
||||
capa["codecs"]["audio"].append("AC3");
|
||||
capa["codecs"]["audio"].append("MP3");
|
||||
|
||||
inFile = NULL;
|
||||
}
|
||||
|
|
|
@ -16,8 +16,8 @@ namespace Mist{
|
|||
capa["desc"] = "This input allows you to stream ISMV Video on Demand files.";
|
||||
capa["source_match"] = "/*.ismv";
|
||||
capa["priority"] = 9;
|
||||
capa["codecs"][0u][0u].append("H264");
|
||||
capa["codecs"][0u][1u].append("AAC");
|
||||
capa["codecs"]["video"].append("H264");
|
||||
capa["codecs"]["audio"].append("AAC");
|
||||
|
||||
inFile = 0;
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ namespace Mist{
|
|||
capa["source_match"] = "/*.mp3";
|
||||
capa["source_file"] = "$source";
|
||||
capa["priority"] = 9;
|
||||
capa["codecs"][0u][0u].append("MP3");
|
||||
capa["codecs"]["audio"].append("MP3");
|
||||
timestamp = 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -169,13 +169,13 @@ namespace Mist{
|
|||
capa["source_match"].append("mp4:*");
|
||||
capa["source_file"] = "$source";
|
||||
capa["priority"] = 9;
|
||||
capa["codecs"][0u][0u].append("HEVC");
|
||||
capa["codecs"][0u][0u].append("H264");
|
||||
capa["codecs"][0u][0u].append("H263");
|
||||
capa["codecs"][0u][0u].append("VP6");
|
||||
capa["codecs"][0u][1u].append("AAC");
|
||||
capa["codecs"][0u][1u].append("AC3");
|
||||
capa["codecs"][0u][1u].append("MP3");
|
||||
capa["codecs"]["video"].append("HEVC");
|
||||
capa["codecs"]["video"].append("H264");
|
||||
capa["codecs"]["video"].append("H263");
|
||||
capa["codecs"]["video"].append("VP6");
|
||||
capa["codecs"]["audio"].append("AAC");
|
||||
capa["codecs"]["audio"].append("AC3");
|
||||
capa["codecs"]["audio"].append("MP3");
|
||||
readPos = 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -38,9 +38,9 @@ namespace Mist{
|
|||
capa["desc"] = "This input allows streaming of OGG files as Video on Demand.";
|
||||
capa["source_match"] = "/*.ogg";
|
||||
capa["source_file"] = "$source";
|
||||
capa["codecs"][0u][0u].append("theora");
|
||||
capa["codecs"][0u][1u].append("vorbis");
|
||||
capa["codecs"][0u][1u].append("opus");
|
||||
capa["codecs"]["video"].append("theora");
|
||||
capa["codecs"]["audio"].append("vorbis");
|
||||
capa["codecs"]["audio"].append("opus");
|
||||
}
|
||||
|
||||
bool inputOGG::checkArguments(){
|
||||
|
|
|
@ -42,19 +42,19 @@ namespace Mist{
|
|||
// These can/may be set to always-on mode
|
||||
capa["always_match"].append("rtsp://*");
|
||||
capa["priority"] = 9;
|
||||
capa["codecs"][0u][0u].append("H264");
|
||||
capa["codecs"][0u][0u].append("HEVC");
|
||||
capa["codecs"][0u][0u].append("MPEG2");
|
||||
capa["codecs"][0u][0u].append("VP8");
|
||||
capa["codecs"][0u][0u].append("VP9");
|
||||
capa["codecs"][0u][1u].append("AAC");
|
||||
capa["codecs"][0u][1u].append("MP3");
|
||||
capa["codecs"][0u][1u].append("AC3");
|
||||
capa["codecs"][0u][1u].append("ALAW");
|
||||
capa["codecs"][0u][1u].append("ULAW");
|
||||
capa["codecs"][0u][1u].append("PCM");
|
||||
capa["codecs"][0u][1u].append("opus");
|
||||
capa["codecs"][0u][1u].append("MP2");
|
||||
capa["codecs"]["video"].append("H264");
|
||||
capa["codecs"]["video"].append("HEVC");
|
||||
capa["codecs"]["video"].append("MPEG2");
|
||||
capa["codecs"]["video"].append("VP8");
|
||||
capa["codecs"]["video"].append("VP9");
|
||||
capa["codecs"]["audio"].append("AAC");
|
||||
capa["codecs"]["audio"].append("MP3");
|
||||
capa["codecs"]["audio"].append("AC3");
|
||||
capa["codecs"]["audio"].append("ALAW");
|
||||
capa["codecs"]["audio"].append("ULAW");
|
||||
capa["codecs"]["audio"].append("PCM");
|
||||
capa["codecs"]["audio"].append("opus");
|
||||
capa["codecs"]["audio"].append("MP2");
|
||||
|
||||
JSON::Value option;
|
||||
option["arg"] = "integer";
|
||||
|
|
|
@ -41,19 +41,19 @@ namespace Mist{
|
|||
capa["source_match"].append("*.sdp");
|
||||
capa["always_match"].append("*.sdp");
|
||||
capa["priority"] = 9;
|
||||
capa["codecs"][0u][0u].append("H264");
|
||||
capa["codecs"][0u][0u].append("HEVC");
|
||||
capa["codecs"][0u][0u].append("MPEG2");
|
||||
capa["codecs"][0u][0u].append("VP8");
|
||||
capa["codecs"][0u][0u].append("VP9");
|
||||
capa["codecs"][0u][1u].append("AAC");
|
||||
capa["codecs"][0u][1u].append("MP3");
|
||||
capa["codecs"][0u][1u].append("AC3");
|
||||
capa["codecs"][0u][1u].append("ALAW");
|
||||
capa["codecs"][0u][1u].append("ULAW");
|
||||
capa["codecs"][0u][1u].append("PCM");
|
||||
capa["codecs"][0u][1u].append("opus");
|
||||
capa["codecs"][0u][1u].append("MP2");
|
||||
capa["codecs"]["video"].append("H264");
|
||||
capa["codecs"]["video"].append("HEVC");
|
||||
capa["codecs"]["video"].append("MPEG2");
|
||||
capa["codecs"]["video"].append("VP8");
|
||||
capa["codecs"]["video"].append("VP9");
|
||||
capa["codecs"]["audio"].append("AAC");
|
||||
capa["codecs"]["audio"].append("MP3");
|
||||
capa["codecs"]["audio"].append("AC3");
|
||||
capa["codecs"]["audio"].append("ALAW");
|
||||
capa["codecs"]["audio"].append("ULAW");
|
||||
capa["codecs"]["audio"].append("PCM");
|
||||
capa["codecs"]["audio"].append("opus");
|
||||
capa["codecs"]["audio"].append("MP2");
|
||||
|
||||
JSON::Value option;
|
||||
option["arg"] = "integer";
|
||||
|
|
|
@ -10,7 +10,7 @@ namespace Mist{
|
|||
capa["source_match"].append("/*.srt");
|
||||
capa["source_match"].append("/*.vtt");
|
||||
capa["priority"] = 9;
|
||||
capa["codecs"][0u][0u].append("subtitle");
|
||||
capa["codecs"]["subtitle"].append("subtitle");
|
||||
}
|
||||
|
||||
bool InputSrt::preRun(){
|
||||
|
|
|
@ -191,14 +191,14 @@ namespace Mist{
|
|||
capa["incoming_push_url"] = "udp://$host:$port";
|
||||
capa["incoming_push_url_match"] = "tsudp://*";
|
||||
capa["priority"] = 9;
|
||||
capa["codecs"][0u][0u].append("H264");
|
||||
capa["codecs"][0u][0u].append("HEVC");
|
||||
capa["codecs"][0u][0u].append("MPEG2");
|
||||
capa["codecs"][0u][1u].append("AAC");
|
||||
capa["codecs"][0u][1u].append("AC3");
|
||||
capa["codecs"][0u][1u].append("MP2");
|
||||
capa["codecs"][0u][1u].append("opus");
|
||||
capa["codecs"][1u][0u].append("rawts");
|
||||
capa["codecs"]["video"].append("H264");
|
||||
capa["codecs"]["video"].append("HEVC");
|
||||
capa["codecs"]["video"].append("MPEG2");
|
||||
capa["codecs"]["audio"].append("AAC");
|
||||
capa["codecs"]["audio"].append("AC3");
|
||||
capa["codecs"]["audio"].append("MP2");
|
||||
capa["codecs"]["audio"].append("opus");
|
||||
capa["codecs"]["passthrough"].append("rawts");
|
||||
inFile = NULL;
|
||||
inputProcess = 0;
|
||||
isFinished = false;
|
||||
|
|
|
@ -92,15 +92,15 @@ namespace Mist{
|
|||
// These can/may be set to always-on mode
|
||||
capa["always_match"].append("rist://*");
|
||||
capa["priority"] = 9;
|
||||
capa["codecs"][0u][0u].append("H264");
|
||||
capa["codecs"][0u][0u].append("HEVC");
|
||||
capa["codecs"][0u][0u].append("MPEG2");
|
||||
capa["codecs"][0u][1u].append("AAC");
|
||||
capa["codecs"][0u][1u].append("MP3");
|
||||
capa["codecs"][0u][1u].append("AC3");
|
||||
capa["codecs"][0u][1u].append("MP2");
|
||||
capa["codecs"][0u][1u].append("opus");
|
||||
capa["codecs"][1u][0u].append("rawts");
|
||||
capa["codecs"]["video"].append("H264");
|
||||
capa["codecs"]["video"].append("HEVC");
|
||||
capa["codecs"]["video"].append("MPEG2");
|
||||
capa["codecs"]["audio"].append("AAC");
|
||||
capa["codecs"]["audio"].append("MP3");
|
||||
capa["codecs"]["audio"].append("AC3");
|
||||
capa["codecs"]["audio"].append("MP2");
|
||||
capa["codecs"]["audio"].append("opus");
|
||||
capa["codecs"]["passthrough"].append("rawts");
|
||||
|
||||
JSON::Value option;
|
||||
option["arg"] = "integer";
|
||||
|
|
|
@ -61,15 +61,15 @@ namespace Mist{
|
|||
capa["incoming_push_url"] = "srt://$host:$port";
|
||||
capa["incoming_push_url_match"] = "srt://*";
|
||||
capa["priority"] = 9;
|
||||
capa["codecs"][0u][0u].append("H264");
|
||||
capa["codecs"][0u][0u].append("HEVC");
|
||||
capa["codecs"][0u][0u].append("MPEG2");
|
||||
capa["codecs"][0u][1u].append("AAC");
|
||||
capa["codecs"][0u][1u].append("MP3");
|
||||
capa["codecs"][0u][1u].append("AC3");
|
||||
capa["codecs"][0u][1u].append("MP2");
|
||||
capa["codecs"][0u][1u].append("opus");
|
||||
capa["codecs"][1u][0u].append("rawts");
|
||||
capa["codecs"]["video"].append("H264");
|
||||
capa["codecs"]["video"].append("HEVC");
|
||||
capa["codecs"]["video"].append("MPEG2");
|
||||
capa["codecs"]["audio"].append("AAC");
|
||||
capa["codecs"]["audio"].append("MP3");
|
||||
capa["codecs"]["audio"].append("AC3");
|
||||
capa["codecs"]["audio"].append("MP2");
|
||||
capa["codecs"]["audio"].append("opus");
|
||||
capa["codecs"]["passthrough"].append("rawts");
|
||||
|
||||
JSON::Value option;
|
||||
option["arg"] = "integer";
|
||||
|
|
Loading…
Add table
Reference in a new issue