+ capabilities["connectors"]["RTMP"] = JSON::fromString("{\"codecs\":[[[\"H264\",\"H263\",\"VP6\",\"VP6Alpha\",\"ScreenVideo2\",\"ScreenVideo1\",\"JPEG\"],[\"AAC\",\"MP3\",\"Speex\",\"Nellymoser\",\"PCM\",\"ADPCM\",\"ALAW\",\"ULAW\"]]],\"deps\":\"\",\"desc\":\"Real time streaming over Adobe RTMP\",\"friendly\":\"RTMP\",\"incoming_push_url\":\"rtmp://$host:$port/$password/$stream\",\"methods\":[{\"handler\":\"rtmp\",\"hrn\":\"RTMP\",\"player_url\":\"/flashplayer.swf\",\"priority\":7,\"type\":\"flash/10\"}],\"name\":\"RTMP\",\"optional\":{\"acceptable\":{\"default\":0,\"help\":\"Whether to allow only incoming pushes (2), only outgoing pulls (1), or both (0, default)\",\"name\":\"Acceptable connection types\",\"option\":\"--acceptable\",\"select\":[[0,\"Allow both incoming and outgoing connections\"],[1,\"Allow only outgoing connections\"],[2,\"Allow only incoming connections\"]],\"short\":\"T\",\"type\":\"select\"},\"debug\":{\"help\":\"The debug level at which messages need to be printed.\",\"name\":\"debug\",\"option\":\"--debug\",\"type\":\"debug\"},\"default_track_sorting\":{\"default\":\"\",\"help\":\"What tracks are selected first when no specific track selector is used for playback.\",\"name\":\"Default track sorting\",\"option\":\"--default_track_sorting\",\"select\":[[\"\",\"Default (last added for live, first added for VoD)\"],[\"bps_lth\",\"Bit rate, low to high\"],[\"bps_htl\",\"Bit rate, high to low\"],[\"id_lth\",\"Track ID, low to high\"],[\"id_htl\",\"Track ID, high to low\"],[\"res_lth\",\"Resolution, low to high\"],[\"res_htl\",\"Resolution, high to low\"]],\"short\":\"S\",\"type\":\"select\"},\"interface\":{\"default\":\"0.0.0.0\",\"help\":\"Address of the interface to listen on\",\"name\":\"Interface\",\"option\":\"--interface\",\"short\":\"i\",\"type\":\"str\"},\"maxkbps\":{\"default\":0,\"help\":\"Maximum bitrate to allow in the ingest direction, in kilobits per second.\",\"name\":\"Max. kbps\",\"option\":\"--maxkbps\",\"short\":\"K\",\"type\":\"uint\"},\"port\":{\"default\":1935,\"help\":\"TCP port to listen on\",\"name\":\"TCP port\",\"option\":\"--port\",\"short\":\"p\",\"type\":\"uint\"},\"username\":{\"default\":\"root\",\"help\":\"Username to drop privileges to - default if unprovided means do not drop privileges\",\"name\":\"Username\",\"option\":\"--username\",\"short\":\"u\",\"type\":\"str\"}},\"push_parameters\":{\"append\":{\"format\":\"set_or_unset\",\"help\":\"If set to any value, will (if possible) append to an existing file, rather than overwriting it\",\"name\":\"Append to file\",\"sort\":\"bf\",\"type\":\"bool\"},\"audio\":{\"help\":\"Override which audio tracks of the stream should be selected\",\"name\":\"Audio track(s)\",\"sort\":\"aa\",\"type\":\"string\",\"validate\":[\"track_selector\"]},\"duration\":{\"disable\":[\"recstop\",\"stop\"],\"help\":\"How much media time to push, in seconds. Internally overrides \\\"recstop\\\"\",\"name\":\"Duration of push\",\"sort\":\"bi\",\"type\":\"int\",\"unit\":\"s\"},\"m3u8\":{\"help\":\"If set, will write a m3u8 playlist file for the segments to the given path (relative from the first segment path). When this parameter is used, at least one of the variables $segmentCounter or $currentMediaTime must be part of the segment path (to keep segments from overwriting each other). The \\\"Split interval\\\" parameter will default to 60 seconds when using this option.\",\"name\":\"Playlist path (relative to segments)\",\"sort\":\"apa\",\"type\":\"string\"},\"maxEntries\":{\"help\":\"When writing a playlist, delete oldest segment entries once this entry count has been reached (and, if possible, also delete said segments themselves). When set to 0 or left empty, does not delete.\",\"name\":\"Playlist max entries\",\"sort\":\"apc\",\"type\":\"int\"},\"maxwaittrackms\":{\"default\":\"5s, or 120s when using a non-default GOP count\",\"help\":\"When waiting for GOPs on the main track, give up when this much data is available in the main track buffer\",\"name\":\"Max buffer duration for GOP count wait\",\"sort\":\"be\",\"type\":\"int\",\"unit\":\"ms\"},\"noendlist\":{\"format\":\"set_or_unset\",\"help\":\"If set, does not write #X-EXT-ENDLIST when finalizing the playlist on exit\",\"name\":\"Don't end playlist\",\"sort\":\"bfa\",\"type\":\"bool\"},\"pushdelay\":{\"disable\":[\"realtime\",\"start\"],\"help\":\"Ensures the stream is always delayed by at least this many seconds. Internally overrides the \\\"realtime\\\" and \\\"start\\\" parameters\",\"name\":\"Push delay\",\"sort\":\"bg\",\"type\":\"int\",\"unit\":\"s\"},\"rate\":{\"default\":\"1\",\"help\":\"Multiplier for the playback speed rate, or 0 to not limit\",\"name\":\"Playback rate\",\"sort\":\"ba\",\"type\":\"int\"},\"realtime\":{\"format\":\"set_or_unset\",\"help\":\"If set to any value, removes the rate override to unlimited normally applied to push outputs\",\"name\":\"Don't speed up output\",\"sort\":\"bb\",\"type\":\"bool\"},\"recstart\":{\"file_only\":true,\"help\":\"What internal media timestamp to start from\",\"name\":\"Media timestamp to start from\",\"sort\":\"bp\",\"type\":\"int\",\"unit\":\"s\"},\"recstartunix\":{\"disable\":[\"recstart\"],\"file_only\":true,\"help\":\"What unix timestamp to start from\",\"name\":\"Unix timestamp to start from\",\"sort\":\"br\",\"type\":\"unixtime\",\"unit\":\"s\"},\"recstop\":{\"file_only\":true,\"help\":\"What internal media timestamp to stop at\",\"name\":\"Media timestamp to stop at\",\"sort\":\"bo\",\"type\":\"int\",\"unit\":\"s\"},\"recstopunix\":{\"disable\":[\"recstop\"],\"file_only\":true,\"help\":\"What unix timestamp to stop at\",\"name\":\"Unix timestamp to stop at\",\"sort\":\"bq\",\"type\":\"unixtime\",\"unit\":\"s\"},\"split\":{\"help\":\"Performs a gapless restart of the recording every this many seconds. Always aligns to the next keyframe after this duration, to ensure each recording is fully playable. When set to zero (the default) will not split at all.\",\"name\":\"Split interval\",\"sort\":\"bh\",\"type\":\"int\",\"unit\":\"s\"},\"start\":{\"help\":\"What internal media timestamp to start from\",\"name\":\"Media timestamp to start from\",\"prot_only\":true,\"sort\":\"bl\",\"type\":\"int\",\"unit\":\"s\"},\"startunix\":{\"disable\":[\"start\"],\"help\":\"What unix timestamp to start from\",\"name\":\"Unix timestamp to start from\",\"prot_only\":true,\"sort\":\"bn\",\"type\":\"unixtime\",\"unit\":\"s\"},\"stop\":{\"help\":\"What internal media timestamp to stop at\",\"name\":\"Media timestamp to stop at\",\"prot_only\":true,\"sort\":\"bk\",\"type\":\"int\",\"unit\":\"s\"},\"stopunix\":{\"disable\":[\"stop\"],\"help\":\"What unix timestamp to stop at\",\"name\":\"Unix timestamp to stop at\",\"prot_only\":true,\"sort\":\"bm\",\"type\":\"unixtime\",\"unit\":\"s\"},\"subtitle\":{\"help\":\"Override which subtitle tracks of the stream should be selected\",\"name\":\"Subtitle track(s)\",\"sort\":\"ac\",\"type\":\"string\",\"validate\":[\"track_selector\"]},\"targetAge\":{\"help\":\"When writing a playlist, delete segment entries that are more than this many seconds old from the playlist (and, if possible, also delete said segments themselves). When set to 0 or left empty, does not delete.\",\"name\":\"Playlist target age\",\"sort\":\"apb\",\"type\":\"int\",\"unit\":\"s\"},\"unmask\":{\"format\":\"set_or_unset\",\"help\":\"If set to any value, removes any applied track masking before selecting tracks, acting as if no mask was applied at all\",\"name\":\"Unmask tracks\",\"sort\":\"bc\",\"type\":\"bool\"},\"video\":{\"help\":\"Override which video tracks of the stream should be selected\",\"name\":\"Video track(s)\",\"sort\":\"ab\",\"type\":\"string\",\"validate\":[\"track_selector\"]},\"waittrackcount\":{\"default\":2,\"help\":\"Before starting, wait until this number of GOPs is available in the main selected track\",\"name\":\"Wait for GOP count\",\"sort\":\"bd\",\"type\":\"int\"}},\"push_urls\":[\"rtmp://*\",\"rtmps://*\"],\"url_rel\":\"/play/$\",\"version\":\"3.3\"}");
0 commit comments