schema_version: 0.3 type: consumer identifier: cbrts title: CBR MPEG2-TS version: 2 copyright: Copyright (C) 2010-2015 Broadcasting Center Europe S.A. http://www.bce.lu license: GPLv2 language: en creator: Dan Dennedy tags: - Audio - Video description: Constant bit-rate MPEG-2 Transport Stream notes: | All properties, except some key operational properties such as real_time and terminate_on_pause, set on the this consumer are passed onto an encapsulated avformat consumer - no special prefix required. While some avformat properties can accept a "k" suffix, this consumer requires "muxrate" but does not understand the "k" suffix; so, specify the value in bytes per second. The stream is always output to STDOUT at this time. You can rewrite and insert table sections into the transport stream. If you choose to rewrite the PMT sections, then you need to know how libavformat sets the PIDs on the elementary streams. Currently, the video stream is 256 (0x100) and audio streams start at 257, incrementing from there. There are conventions for property names to pass the .sec files to the consumer. The conventions are: si.
.file= si.
.pid= si.
.time=
is really anything, but typically: pat, sdt, nit, eit, etc. "pat," "pmt," and "sdt" are special such that when supplied, they cause libavformat's corresponding sections to be filtered out and replaced with yours. You should always use PID 16 for NIT, 17 for SDT, and of course, 0 for PAT; PMT may be anything, but libavformat uses 4095 (0xfff). The time property indicates the frequency to insert the section - every N milliseconds. parameters: - identifier: muxrate type: integer unit: bytes/second - identifier: udp.rtprio title: Real-time priority description: > When set to a valid value, this makes the network output thread run with a real-time policy and priority where 1 is lowest and 99 is highest. type: integer minimum: 1 maximum: 99 - identifier: udp.address title: UDP address description: > If an IP address is provided, the stream is sent over UDP instead of STDOUT. type: string - identifier: udp.port title: UDP port type: integer minimum: 0 default: 1234 - identifier: udp.ttl title: Multicast TTL description: > The multicast time-to-live value controls how many routing hops the multicast will survive. type: integer minimum: 0 maximum: 255 - identifier: udp.reuse title: Reuse socket address description: > When not supplied, the socket is opened with the reuse address option. Set this to 0 to disable that. type: boolean default: 1 - identifier: udp.sockbufsize title: Socket buffer size type: integer minimum: 1 unit: bytes - identifier: udp.nb_tsp title: TS packets per UDP packet type: integer minimum: 0 maximum: 7 default: 7 - identifier: udp.buffer title: Max buffer IP packets type: integer minimum: 100 default: 1000 - identifier: udp.rtp title: Use RTP type: boolean default: 1 - identifier: udp.rtp_ssrc title: RTP synchronization source type: integer description: The default is a random number, but you can override it. - identifier: udp.interface title: Multicast interface name description: > Normally the multicast interface is selected by the IP routing table configured on the system, but this might be more convenient. It takes a name like "eth0". type: string