JIRA MP1-4155 : Rework of DVBIP RTSP Filter
https://issues.team-mediaportal.com/browse/MP1-4155
https://issues.team-mediaportal.com/browse/MP1-4155
GIT branch: https://github.com/MediaPortal/Medi...TV_filter_and_MediaPortal_Url_Source_Splitter
Supported protocols
Filter should be more stable and reliable than version provided with MediaPortal. Latest version supports protocols:
- IPTV (TV Service)
- UDP sources
- RTP sources
- HTTP sources
- RTSP sources
- M3U8 sources (Apple HTTP live streaming)
- splitter (OnlineVideos)
- UDP sources
- RTP sources
- HTTP sources
- RTSP sources
- RTMP sources
- AFHS sources (Adobe Flash HTTP streaming)
- MSHS sources (Microsoft HTTP streaming)
- M3U8 sources (Apple HTTP live streaming)
Compatibility
Filter is compatible and tested with MP 1.7.1. If you found that filter is compatible with any other MP version, let me know to update.
Compatibility with standard MediaPortal IPTV filter
Filter is partially backward compatible with standard MediaPortal IPTV filter delivered by MediaPortal installer. It can partially handle URL parameters from standard MediaPortal IPTV filter. From standard MediaPortal IPTV filter URL parameters are supported parameters:
MediaPortal IPTV filter parameter name | MergedMediaPortal IPTV filter and url source splitter parameter name | Specification |
url | Url | The URL to open. |
interface | Interface | The name of network card interface to use to open URL. |
SidValue | Mpeg2TsProgramNumber | The program number in program association section (PAT) and in transport stream program map section (PMT). |
PidValue | Mpeg2TsProgramMapPID | The program map PID in program association section (PAT) or PID of packet containing transport stream program map section (PMT). |
TV Plugin
From version 2.1.3.5440 is in filter installer included TV plugin to edit scan playlist with possibility to set various filter parameters for each url. The TV plugin is available from TV-Server Configuration tool. After enabling plugin in Plugins section, you can edit playlist or set default parameters for several protocols.
On main_screen_with_playlist.png image is main screen with loaded playlist. There is Channel name, Url, Protocol, Filter url and special icon column. Below playlist is property grid, when can be changed various settings for select url(s). It is possible to select mutiple urls, after that is possible to change settings for multiple urls.
In special column is by default blue question mark. It is possible to test URL by clicking on icon, while testing url is shown two arrows in circle (testing_channel.png). If testing is successful, green tick icon is shown (testing_channel_successful.png) else red cross icon is shown (testing_channel_failed.png). The reason of failure is shown in tool tip over the red cross icon.
Next to playlist editor tab are tabs with general settings for protocols. Each protocol has its own general settings. These settings are applied to url default settings on loading of playlist or pressing Apply settings button. If some settings have wrong value, then next to value is shown exclamation mark with short description of error (in tool tip over icon).
When some filter url exceedes maximum length of url in TV server database (by default 200 characters), the Update database button is shown. In that case is needed to update database (press button) or you have to find exceeding url(s) and change settings to fit url in database.
From version 2.1.4.5454 is included in TV plugin also database editor to update channel url directly in database (no scanning is necessary in this case). Database editor is very similar to playlist editor. After urls editing is needed to store changes into database by pressing Store changes button. By pressing Set M2TS parser button are set transport stream ID, program number and program map PID to MPEG2 TS parser settings in channel url.
From version 2.2.8.5875 is possible to specify remote server authentication and proxy server authentication for HTTP, AFHS, MSHS and M3U8 protocols.
HTTP protocol settings
Parameter name | Default value | Specification |
Interface | System default | The name of network card interface to use to open URL (in default case is network interface card chosen by operating system). |
Open connetion timeout | 5000 | The timeout to open HTTP url in milliseconds. |
Open connection sleep time | 0 | The time in milliseconds to sleep before opening connection. |
Total reopen connection timeout | 60000 | The total timeout to open HTTP url in milliseconds. It is applied when lost connection and trying to open new one. Filter will be trying to open connection until this timeout occurs. This parameter is ignored. |
Parameter name | Default value | Specification |
Interface | System default | The name of network card interface to use to open URL (in default case is network interface card chosen by operating system). |
Open connetion timeout | 20000 | The timeout to open RTMP url in milliseconds. |
Open connection sleep time | 0 | The time in milliseconds to sleep before opening connection. |
Total reopen connection timeout | 60000 | The total timeout to open RTMP url in milliseconds. It is applied when lost connection and trying to open new one. Filter will be trying to open connection until this timeout occurs. This parameter is ignored. |
Parameter name | Default value | Specification |
Interface | System default | The name of network card interface to use to open URL (in default case is network interface card chosen by operating system). |
Open connetion timeout | 1500 | The timeout to open RTSP url in milliseconds. |
Open connection sleep time | 0 | The time in milliseconds to sleep before opening connection. |
Total reopen connection timeout | 60000 | The total timeout to open RTSP url in milliseconds. It is applied when lost connection and trying to open new one. Filter will be trying to open connection until this timeout occurs. This parameter is ignored. |
Client port range | 50000 - 65535 | The minimum and maximum UDP port to be used in UDP transport. |
Connection preference | same connection, UDP, UDP multicast | The preference of each type of streaming. If negotiation of type of streaming failed, then filter tries to negotiate another type of transport. Changing preference order usually lead to faster opening of RTSP url. |
Ignore RTP payload type | false (not checked) | Specifies if filter have to ignore RTP packet payload type (in other case is RTP packet payload type compared to payload type specified in SDP). |
Parameter name | Default value | Specification |
Interface | System default | The name of network card interface to use to open URL (in default case is network interface card chosen by operating system). |
Open connetion timeout | 1000 | The timeout to open UDP or RTP url in milliseconds. |
Open connection sleep time | 0 | The time in milliseconds to sleep before opening connection. UDP multicast protocol sometimes needs additional time to subscribe and unsubscribe from multicast group. In that case is recommended 200 milliseconds. |
Total reopen connection timeout | 60000 | The total timeout to open UDP or RTP url in milliseconds. It is applied when lost connection and trying to open new one. Filter will be trying to open connection until this timeout occurs. This parameter is ignored. |
Receive data check interval | 500 | The time in milliseconds to check incomming data. If length of incoming data is same, then connection is assumed as lost and is closed and opened new connection. |
When successfully tested stream (in playlist or database editor), you can access to MPEG2 Transport stream parser settings (m2ts_parser_in_editor.png). The MPEG2 Transport Stream parser settings are divided into three sections: basic settings, filtering program elements and stream analysis.
The basic settings (m2ts_basic.png) controls simple parser functionality. Align to MPEG2 TS packet checkbox controls aligning stream to MPEG2 TS packet boundary. If this is not checked, then other functionality of MPEG2 TS parser will not work. Detect discontinuity checkbox controls detecting discontinuities in MPEG2 TS packets in stream. The information about discontinuity is logged into filter's log file. Set stream as not encrypted checkbox controls filter ability to clear all encryption flags and data in stream. It doesn't decrypt stream. This option can be useful if stream is not encrypted, but TV service detects stream as encrypted.
Force stream identification box allow to change stream identification for TV service. It can be useful when stream identification is changing (e.g. because of provider), but channel is still same. When stream identification is changed TV service cannot tune to channel. Values for transport stream ID, program number and program map PID can be found in stream analysis section or can be set in playlist or database editor by pressing Set M2TS parser button. Forcing stream identification is not recommended in case of multiple programs in stream. In this case is also shown warning about multiple programs (m2ts_multiple_programs_warning.png).
Filtering program elements section is used to filter specific programs in stream (e.g. single radio channel in multiple radio channels stream). After successful stream test is this section populated with detected information from stream. Each tab represents one Transport Stream program map section (PMT) with all program elements (audio, video, subtitles, etc).
Transport stream program map PID text box can be used to manually create new filtering tab. Add button adds new filtering tab, Remove button remoes actually selected tab.
Allow filtering program elements allows filter to leave selected program elements in stream. Leave program elements is populated with program element PIDs and only selected program elements are left in stream.
Future plans
- add back missing protocols and parsers (MMS)
- transcoding to MPEG2 TS format
For proper filter working you need Microsoft Visual C++ 2013 Redistributable Package (x86). Install through MediaPortal Extensions Installer or download MPEI package.
Reverting filter installation:
- close MediaPortal
- uninstall MediaPortal IPTV filter and url source splitter in MediaPortal Extensions Installer
- if you're using OnlineVideos, install MediaPortal Url Source Splitter through MediaPortal Extensions Installer
When you report bug or problem, please attach log files, which in best case can be obtained by this procedure:
- stop TvService and MediaPortal
- clear TvService and MediaPortal log folder
- start TvService
- run MediaPortal
- watch channel in TV or watch video in OnlineVideos
- wait for bug or problem occur
- close MediaPortal
- stop TvService
- post all logs from TvService and MediaPortal log folder
Technical documentation
[COLLAPSE]
Supported URLs' formats
Because filter comes from MediaPortal Url Source Splitter, which is part of OnlineVideos, then all URL's must conform of general URL format for OnlineVideos. General format for URL has this structure (used ABNF syntax, RFC 5234):
Code:
URL = PROTOCOLURL *1("####" PARAMETERS)
PARAMETERS = PARAMETER *("&" PARAMETER)
PARAMETER = NAME "=" VALUE
NAME = 1*ALPHADIGIT
VALUE = 1*(ALPHADIGIT / "%")
HOSTPORT = HOST [ ":" PORT ]
HOST = HOSTNAME | HOSTNUMBER
HOSTNAME = *[ DOMAINLABEL "." ] TOPLABEL
DOMAINLABEL = ALPHADIGIT | ALPHADIGIT *[ ALPHADIGIT | "-" ] ALPHADIGIT
TOPLABEL = ALPHA | ALPHA *[ ALPHADIGIT | "-" ] ALPHADIGIT
PORT = 1*DIGIT
ALPHADIGIT = ALPHA | DIGIT
ALPHA = LOWALPHA | HIGHALPHA
LOWALPHA = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" |
"i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" |
"q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" |
"y" | "z"
HIGHALPHA = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" |
"J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" |
"S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z"
DIGIT = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
General filter parameters
Parameter name | Default value | Specification |
Url | Empty | The URL to open. |
Interface | Empty | The name of network card interface to use to open URL (in default case is network interface card chosen by operating system). |
LogFileName |
| Specifies log file name for filter. |
LogMaxSize | 10485760 | The maximum size of log file in bytes (default is 10 MB). |
LogVerbosity | 4 | Log file verbosity level. Possible values are:
|
MaxPlugins | 256 | The maximum value of plugins to be loaded. |
CacheFolder |
| Specifies cache folder for filter. Here are stored temporary files for splitter or IPTV. They are used to minimize memory consumption and for faster seeking in streams. |
LiveStream |
| The flag specifying that stream is live stream. Live streams should set this parameter to 1. IPTV has always this flag set to 1. |
DumpProtocolInputData | 0 | The flag specifying that protocol input data should be dumped. The possible values are:
|
DumpProtocolOutputData | 0 | The flag specifying that protocol output data should be dumped. The possible values are:
|
DumpParserInputData | 0 | The flag specifying that parser input data should be dumped. The possible values are:
|
DumpParserOutputData | 0 | The flag specifying that parser output data should be dumped. The possible values are:
|
DumpOutputPinData | 0 | The flag specifying that output pin data should be dumped. The possible values are:
|
UDP and RTP protocols
UDP and RTP protocols URLs are in this format:
Code:
PROTOCOLURL = SCHEME "://" *1(SOURCEHOST "@") LOCALHOST
SCHEME = 1*1("UDP" | "RTP")
SOURCEHOST = HOSTPORT
LOCALHOST = HOSTPORT
Examples:
- udp://233.10.12.1:7777
- udp://@233.10.12.1:7777
- udp://192.168.15.50:4477@233.10.12.1:7777
Parameter name | Default value | Specification |
UdpOpenConnectionTimeout | 2000 | The timeout to open UDP or RTP url in milliseconds. |
UdpOpenConnectionSleepTime | 0 | The time in milliseconds to sleep before opening connection. UDP multicast protocol sometimes needs additional time to subscribe and unsubscribe from multicast group. In that case is recommended 200 milliseconds. |
UdpTotalReopenConnectionTimeout | 60000 | The total timeout to open UDP or RTP url in milliseconds. It is applied when lost connection and trying to open new one. Filter will be trying to open connection until this timeout occurs. This parameter is ignored in case of live stream (IPTV or specified live stream in OnlineVideos). |
UdpReceiveDataCheckInterval | 500 | The time in milliseconds to check incomming data. If count of incoming data is same, then connection is assumed as lost and is closed and opened new connection. |
Code:
udp://@233.10.12.1:7777####Url=udp%3a%2f%2f%40233.10.12.1%3a7777&Interface=Local%20Area%20Connection
HTTP protocol URL is defined in RFC 1738. By general in format:
Code:
PROTOCOLURL = SCHEME "://" HOSTPORT [ "/" PATH ]
SCHEME = "http" | "https"
- http://test.tv
- http://test.tv/channel
- http://test.tv:5678/channel
Parameter name | Default value | Specification |
HttpOpenConnectionTimeout | 20000 | The timeout to open HTTP url in milliseconds. |
HttpOpenConnectionSleepTime | 0 | The time in milliseconds to sleep before opening connection. |
HttpTotalReopenConnectionTimeout | 60000 | The total timeout to open HTTP url in milliseconds. It is applied when lost connection and trying to open new one. Filter will be trying to open connection until this timeout occurs. This parameter is ignored in case of live stream (IPTV or specified live stream in OnlineVideos). |
HttpReferer | Empty | The value of referer HTTP header to send to remote server. |
HttpUserAgent | Empty | The value of user agent HTTP header to send to remote server. |
HttpCookie | Empty | The value of cookie HTTP header to send to remote server. |
HttpVersion | 0 | Forces to use specific HTTP protocol version. Possible values are:
|
HttpIgnoreContentLength | 0 | Specifies if content length HTTP header have to be ignored (e.g. because server reports bad content length). Possible values are:
|
HttpCookiesCount | 0 | Specifies the count of HTTP cookies parameters (HttpCookie00000000, HttpCookie00000001, etc.). |
HttpCookie%08u | Empty | The value of specific HTTP cookie in Netscape or Mozilla format or regular HTTP style cookie header. HTTP cookies are used to initialize cookie engine, but used are only these cookies, which are related to HTTP url. The parameters are indexed from zero. |
HttpSeekingSupported | 0 | Specifies if seeking is supported by specifying range HTTP header in request. The possible values are:
|
HttpSeekingSupportDetection | 1 | Enables or disables automatic detection of seeking support. The possible values are:
|
HttpServerAuthenticate | 0 | Enables or disables remote server authentication. The possible values are:
|
HttpServerUserName | Empty | The remote server user name. |
HttpServerPassword | Empty | The remote server password. |
HttpProxyServerAuthenticate | 0 | Enables or disables proxy server authentication. The possible values are:
|
HttpProxyServer | Empty | The URL or IP address of proxy server. |
HttpProxyServerPort | Empty | The proxy server port. |
HttpProxyServerUserName | Empty | The proxy server user name. |
HttpProxyServerPassword | Empty | The proxy server password. |
HttpProxyServerType | 1 | The type of proxy server. The possible values are:
|
Code:
http://www.youtube.com####Url=http%3a%2f%2fwww.youtube.com&HttpReferer=http%3a%2f%2fwww.test.tv&HttpUserAgent=Mozilla%2f5.0+(Windows+NT+6.1%3b+WOW64%3b+rv%3a24.0)+Gecko%2f20100101+Firefox%2f24.0
RTSP protocol
RTSP protocol URL has same format as HTTP protocol URL, except scheme:
Code:
PROTOCOLURL = SCHEME "://" HOSTPORT [ "/" PATH ]
SCHEME = "rtsp"
- rtsp://test.tv
- rtsp://test.tv/channel
- rtsp://test.tv:5678/channel
Parameter name | Default value | Specification |
RtspOpenConnectionTimeout | 20000 | The timeout to open RTSP url in milliseconds. |
RtspOpenConnectionSleepTime | 0 | The time in milliseconds to sleep before opening connection. |
RtspTotalReopenConnectionTimeout | 60000 | The total timeout to open RTSP url in milliseconds. It is applied when lost connection and trying to open new one. Filter will be trying to open connection until this timeout occurs. This parameter is ignored in case of live stream (IPTV or specified live stream in OnlineVideos). |
RtspMulticastPreference | 2 | The preference of multicast UDP transport. |
RtspUdpPreference | 1 | The preference of unicast UDP transport. |
RtspSameConnectionTcpPreference | 0 | The preference of interleaved TCP transport. |
RtspClientPortMin | 50000 | The minimum UDP port to be used in UDP transport. |
RtspClientPortMax | 65535 | The maximum UDP port to be used in UDP transport. |
RtspIgnoreRtpPayloadType | 0 | Value set to 1 ignores check of received RTP packets payload type against payload type specified in SDP. |
For UDP connection there are two additional parameters: RtspClientPortMin and RtspClientPortMax. They specify minimum and maximum UDP ports to be used in negotiating transport.
Example of RTSP URL with url (rtsp://test.tv:5678/channel), network interface (Local Area Connection), preferred order of transports (first UDP, second same TCP, third multicast UDP) and minimum UDP client port (55000):
Code:
rtsp://test.tv:5678/channel####Url=rtsp%3a%2f%2ftest.tv%3a5678%2fchannel&Interface=Local%20Area%20Connection&RtspUdpPreference=0&RtspSameConnectionTcpPreference=1&RtspClientPortMin=55000
RTMP protocol is proprietary protocol. RTMP protocol URL is in format:
Code:
PROTOCOLURL = SCHEME "://" HOSTPORT [ "/" PATH ]
SCHEME = "rtmp" | "rtmpt" | "rtmpe" | "rtmpte" | "rtmps" | "rtmpts"
- rtmp://test.tv
- rtmp://test.tv/channel
- rtmp://test.tv:5678/channel
Parameter name | Default value | Specification |
RtmpOpenConnectionTimeout | 20000 | The timeout to open RTMP url in milliseconds. |
RtmpOpenConnectionSleepTime | 0 | The time in milliseconds to sleep before opening connection. |
RtmpTotalReopenConnectionTimeout | 60000 | The total timeout to open RTMP url in milliseconds. It is applied when lost connection and trying to open new one. Filter will be trying to open connection until this timeout occurs. This parameter is ignored in case of live stream (IPTV or specified live stream in OnlineVideos). |
RtmpApp | Empty | Name of application to connect to on the RTMP server. |
RtmpTcUrl | Empty | URL of the target stream. |
RtmpPageUrl | Empty | URL of the web page in which the media was embedded. |
RtmpSwfUrl | Empty | URL of the SWF player for the media. |
RtmpFlashVer | Empty | Version of the Flash plugin used to run the SWF player. |
RtmpAuth | Empty | Authentication string to be appended to the connect string. |
RtmpArbitraryData | Empty | Appends arbitrary AMF data to the Connect message. The type must be B for Boolean, N for number, S for string, O for object, or Z for null. For Booleans the data must be either 0 or 1 for FALSE or TRUE, respectively. Likewise for Objects the data must be 0 or 1 to end or begin an object, respectively. Data items in subobjects may be named, by prefixing the type with 'N' and specifying the name before the value, e.g. NB:myFlag:1. This option may be used multiple times to construct arbitrary AMF sequences. E.g. conn=B:1 conn=S:authMe conn=O:1 conn=NN:code:1.23 conn=NS:flag:ok conn=O:0 |
RtmpPlayPath | Empty | The play path of media. |
RtmpPlaylist | 0 | If the value is 1, issue a set_playlist command before sending the play command. |
RtmpLive | 0 | If the value is 1, specifies that the media is a live stream. This flag is only for RTMP protocol and it has different meaning as LiveStream parameter. |
RtmpSubscribe | Empty | Name of live stream to subscribe to. |
RtmpBuffer | 30000 | Sets buffer time to specified value in milliseconds. |
RtmpToken | Empty | Key for SecureToken response, used if the server requires SecureToken authentication. |
RtmpJtv | Empty | JSON token used by legacy Justin.tv servers. Invokes NetStream.Authenticate.UsherToken. |
RtmpSwfVerify | 0 | If the value is 1, the SWF player is retrieved from the specified RtmpSwfUrl for performing SWF Verification. The SWF hash and size (used in the verification step) are computed automatically. |
Code:
rtmp://rtmp.server.tv####Url=rtmp%3a%2f%2frtmp.server.tv&RtmpApp=%2fvod%2ftest.flv&RtmpTcUrl=rtmp%3a%2f%2frtmp.server.tv%2fvod%2ftest.flv&RtmpPageUrl=http%3a%2f%2fmy.server.tv&RtmpSwfUrl=http%3a%2f%2fmy.server.tv%2fsources%2fplayer.swf&RtmpSwfVerify=1
AFHS (Adobe Flash HTTP Streaming) protocol URL has same format as HTTP protocol URL, except scheme:
Code:
PROTOCOLURL = SCHEME "://" HOSTPORT [ "/" PATH ]
SCHEME = "afhs"
- afhs://test.tv
- afhs://test.tv/channel
- afhs://test.tv:5678/channel
All HTTP protocol parameters are allowed for AFHS protocol. The following parameters are added for AFHS protocol:
Parameter name | Default value | Specification |
AfhsSegmentFragmentUrlExtraParameters | Empty | Specifies string, which is added to each segment and fragment HTTP URL. |
AfhsBootstrapInfo | Empty | The content of bootstrap info in BASE64 encoding. |
AfhsBaseUrl | Empty | The base URL to create stream segements and fragments URL. Created from manifest URL, omitted is everything including last forward slash of path. |
AfhsMediaPartUrl | Empty | The content of url attribute of media element in manifest. |
AfhsMediaMetadata | Empty | The content of metadata element in media element in manifest. |
AfhsMediaBootstrapInfoUrl | Empty | The URL to bootstrap info (if specified in manifest). |
AfhsManifestUrl | Empty | The URL to manifest. |
AfhsManifestContent | Empty | The content of Flash Media Manifest (F4M file). |
MSHS protocol
MSHS (Microsoft Smooth HTTP Streaming) protocol URL has same format as HTTP protocol URL, except scheme:
Code:
PROTOCOLURL = SCHEME "://" HOSTPORT [ "/" PATH ]
SCHEME = "mshs"
- mshs://test.tv
- mshs://test.tv/channel
- mshs://test.tv:5678/channel
All HTTP protocol parameters are allowed for MSHS protocol. The following parameters are added for AFHS protocol:
Parameter name | Default value | Specification |
MshsBaseUrl | Empty | The base URL to create stream fragments URL. Created from manifest URL, omitted is everything including last forward slash of path. |
MshsManifest | Empty | The content of manifest, zipped and encoded to BASE64 encoding. |
Note: From family of possible video and audio formats are supported:
- video: H264
- audio: AACL
M3U8 (Apple HTTP live streaming) protocol URL has same format as HTTP protocol URL, except scheme:
Code:
PROTOCOLURL = SCHEME "://" HOSTPORT [ "/" PATH ]
SCHEME = "m3u8"
- afhs://test.tv
- afhs://test.tv/channel
- afhs://test.tv:5678/channel
All HTTP protocol parameters are allowed for MSHS protocol. The following parameters are added for M3U8protocol:
Parameter name | Default value | Specification |
M3u8PlaylistUrl | Empty | The M3U8 playlist URL. |
M3u8PlaylistContent | Empty | The playlist content (compressed by zlib) in BASE64 encoding. |
Note: Currently are supported only media playlists up to version 7, but tested were only up to version 3.
Parsers
The filter can parse and handle several types of files:
- Flash Media Manifest (F4M) - Adobe Flash HTTP Streaming
- Smooth Streaming Media - Microsoft Smooth HTTP Streaming
- MPEG2 Transport Stream parser - do specific things with MPEG2 Transport Stream
- M3U8 playlist - Apple HTTP live streaming
MPEG2 Transport Stream parser
MPEG2 Transport Stream parser do several changes to MPEG2 stream:
- align MPEG2 transport stream packets to their boundary
- detects discontinuity in MPEG2 stream based on continuity counters of MPEG2 transport stream packets
- can change transport stream ID in program association section (TSID in PAT)
- can change program number in program association section (program number in PAT) and transport stream program map section (program number in PMT)
- can change program map PID and PID of PSI packets containing transport stream program map (PMT PID)
Note: MPEG2 Transport Stream parser can change program number and/or program map PID only in case that in MPEG2 stream is only one program.
MPEG2 Transport Stream parser parameters
Parameter name | Default value | Specification |
Mpeg2TsDetectDiscontinuity | 1 | Enables or disables discontinuity detection by analysing continuity counters of packets. Possible values are:
|
Mpeg2TsAlignToMpeg2TSPacket | 1 | Align MPEG2 Transport Stream packets to their boundaries. It is strongly recommended to have this option left in default configuration. Without properly aligned MPEG2 packets, other functions in parser will not work. Probably also filter stops working (depending if you're using splitter or IPTV filter). Possible values are:
|
Mpeg2TsTransportStreamID | Empty | The value of transport stream ID in program association section (PAT). |
Mpeg2TsProgramNumber | Empty | The value of program number in program association section (PAT) and transport stream program map section (PMT). |
Mpeg2TsProgramMapPID | Empty | The value of program map PID in program association section (PAT) and PID of packet containing transport stream program section (PMT). |
Attachments
-
main_screen_with_playlist.png75.3 KB
-
http_settings.png49.5 KB
-
rtmp_settings.png51.3 KB
-
rtsp_settings.png56.6 KB
-
udp_rtp_settings.png51.8 KB
-
testing_channel.png87.6 KB
-
testing_channel_successful.png86.7 KB
-
testing_channel_failed.png84.9 KB
-
wrong_parameter.png70.8 KB
-
update_databse.png72.1 KB
-
database_editor.png79 KB
-
m2ts_basic.png38.2 KB
-
m2ts_filtering_program_elements.png36.4 KB
-
m2ts_stream_analysis.png44 KB
-
m2ts_parser_in_editor.png77.7 KB
-
m2ts_multiple_programs_warning.png41.5 KB
Last edited: