Starting from 18.104.22.16819 SDK version, we glad to introduce you the DVB compatible streaming support
MWriter example configuration string
format='dvb' protocol='udp://' video::codec='mpeg2video' video::b='5M' audio::codec='aac'
Please make sure your network connection between DVB encoder and DVB receiver stable and reliable in other cases you will have PCR and other errors on your receivers side.
I will try to explain what is PCR, for the more detailed information please refer to the DVB standard description - ETSI TS 101 154
Program Clock Reference (PCR) is a special packet which is sent at the specific interval by DVB compatible encoder, so we can think about it like a "heartbeat" for DVB stream.
(Different DVB standards using a different PCR interval value in most cases an old standards waiting a 40 ms, the new ones refers to 100 ms)
For example, we have a DVB compatible encoder which provides perfect DVB stream.
Also, we have a DVB hardware muxer (or any other hardware/software) which is receiving DVB stream provided by DVB encoder.
Let's suppose that DVB encoder located in network A, and receiver hardware located in the network B.
If ping interval between networks greater than 20-30ms you will never get the DVB compatible stream even if encoder provide the perfect DVB.
PCR will never be received in the time -PCR error will be increased and as results, Priority1 and Priority2 errors also will be increased.
Here is a list of main attributes specific for DVB streaming:
|embed_cc||false||Enable embedding Closed Captions (ATSC) into elementary video stream|
|embed_scte35||false||Enable embedding SCTE-35 triggers into MPEG transport stream|
|service_name||MPService001||Set Service Name|
|service_provider||Medialooks MPlatform 1.7||Set Service Provider|
|transport_stream_id||1||Set transport_stream_id field|
|original_network_id||1||Set original_network_id field|
|muxrate||1||The combined rate of all video and audio elementary stream packets common to one program. This rate also includes the VBI and sub-picture private stream data, which MPEG treats as a private stream type.|
|service_id||1||Set service_id field|
|service_type||digital_tv||Set Service type. Possible values: digital_tv, mpeg2_digital_hdtv, advanced_codec_digital_sdtv, advanced_codec_digital_hdtv, hevc_digital_hdtv|
|pmt_start_pid||129||Set the first pid of the PMT. Possible values: from '16.0' to '7936.0'|
|start_pid||1024||Set the first pid. Possible values: from '256.0' to '3840.0|
|pes_payload_size||2930||Minimum PES packet payload in bytes|
|mpegts_flags||MPEG-TS muxing flags. Possible values:
|start_timecode||auto||Set start timecode for encoding. Possible values are: auto (default), disabled, local_time or a custom string like "10:00:00:00"|
|resend_headers||0||Reemit PAT/PMT before writing the next packet|
|tables_version||0||Set PAT, PMT and SDT version|
|pcr_period||20||Override the default PCR retransmission time in milliseconds (default 20ms)|
|pat_period||0.1||PAT/PMT retransmission time limit in seconds (default 100 msec)|
|sdt_period||0.5||SDT retransmission time limit in seconds (default 500 msec)|