<?xml version="1.0" encoding="UTF-8"?>

<VStreamPlatform version="2">
  <System>
    <DeviceName>MyDevice</DeviceName>
    <IPScheme>
      <DHCP />
    </IPScheme>
    <XMLPollInterval>10</XMLPollInterval>
    <NTPServer>time.nist.gov</NTPServer>
    <Timezone>America/New_York</Timezone>
  </System>

  <InputChannel id="0">
    <Name>Input 1</Name>
    <AudioInputType>Embedded_Audio</AudioInputType>
    <SdiIgnoreAudioPhase>true</SdiIgnoreAudioPhase>
    <VideoInputType>SDI_Video</VideoInputType>
    <VideoRotation>Rotate0</VideoRotation>
    <GraphicOverlay>
      <Enable>false</Enable>
      <Position>
        <Preset>Manual</Preset>
        <X>0</X>
        <Y>0</Y>
        <Width>100</Width>
        <Height>100</Height>
        <LockAspectRatio>NoLock</LockAspectRatio>
      </Position>
    </GraphicOverlay>
    <InputType>
      <Hardware>
        <HardwareChannel>0</HardwareChannel>
      </Hardware>
    </InputType>
    <EnablePersistentInput>true</EnablePersistentInput>
    <ForceAVMute>false</ForceAVMute>
    <EnableCEF>false</EnableCEF>
    <CEFUrl>https://exampleurl.com</CEFUrl>
  </InputChannel>

  <AudioEncoder id="0">
    <Name>AAC 1</Name>
    <EnableRetry>true</EnableRetry>
    <InputChannelID>0</InputChannelID>
    <AudioBitrate>128</AudioBitrate>
    <BitrateMode>Constant</BitrateMode>
    <AudioMixMode>Stereo</AudioMixMode>
    <SelectedChannels>
      <Channel>1</Channel>
      <Channel>2</Channel>
    </SelectedChannels>
    <Codec>
      <MPEG4_AAC />
    </Codec>
  </AudioEncoder>

  <AudioEncoder id="1">
    <Name>AAC 2</Name>
    <InputChannelID>0</InputChannelID>
    <AudioBitrate>1728</AudioBitrate>
    <BitrateMode>Variable</BitrateMode>
    <SelectedChannels>
      <Channel>1</Channel>
      <Channel>2</Channel>
      <Channel>3</Channel>
      <Channel>4</Channel>
      <Channel>5</Channel>
      <Channel>6</Channel>
    </SelectedChannels>
    <Codec>
      <MPEG4_AAC />
    </Codec>
  </AudioEncoder>

  <AudioEncoder id="2">
    <Name>Opus 1</Name>
    <InputChannelID>0</InputChannelID>
    <AudioBitrate>64</AudioBitrate>
    <BitrateMode>Variable</BitrateMode>
    <SelectedChannels>
      <Channel>7</Channel>
      <Channel>8</Channel>
    </SelectedChannels>
    <Codec>
      <Opus />
    </Codec>
  </AudioEncoder>

  <DataEncoder id="0">
    <Name>KLV Encode</Name>
    <Codec>
      <SynchronousKLV />
    </Codec>
  </DataEncoder>

  <DataEncoder id="1">
    <Name>SCTE-35 Encode</Name>
    <Codec>
      <SCTE35>
        <SpliceDuration>30000</SpliceDuration>
      </SCTE35>
    </Codec>
  </DataEncoder>

  <DataEncoder id="2">
    <Name>SMPTE-2038 Encode</Name>
    <InputChannelID>0</InputChannelID>
    <Codec>
      <SMPTE2038>
        <StopProcessing>false</StopProcessing>
      </SMPTE2038>
    </Codec>
  </DataEncoder>

  <VideoEncoder id="0">
    <Name>H.264 Encode 1</Name>
    <EnableRetry>true</EnableRetry>
    <InputChannelID>0</InputChannelID>
    <VideoEncoderSyncGroupID>0</VideoEncoderSyncGroupID>
    <VideoCodec>
      <H264>
        <Profile>High</Profile>
      </H264>
    </VideoCodec>
    <VideoBitrate>4000</VideoBitrate>
    <BitrateMode>Variable</BitrateMode>
    <ScalingResolution>Passthrough</ScalingResolution>
    <LimitTo30FPS>false</LimitTo30FPS>
    <KeyframeInterval>
      <Unit>Milliseconds</Unit>
      <Interval>1000</Interval>
    </KeyframeInterval>
    <LatencyMode>Normal</LatencyMode>
    <KLVEnable>false</KLVEnable>
    <AllowOutputsToAdjustBitrate>false</AllowOutputsToAdjustBitrate>
    <CCEnable>true</CCEnable>
  </VideoEncoder>

  <VideoEncoder id="1">
    <Name>H.264 Encode 2</Name>
    <InputChannelID>0</InputChannelID>
    <VideoEncoderSyncGroupID>0</VideoEncoderSyncGroupID>
    <VideoCodec>
      <H264>
        <Profile>High</Profile>
      </H264>
    </VideoCodec>
    <VideoBitrate>2000</VideoBitrate>
    <BitrateMode>Variable</BitrateMode>
    <ScalingResolution>854x480</ScalingResolution>
  </VideoEncoder>

  <VideoEncoderSyncGroup id="0">
    <Name>Sync Group</Name>
    <InputChannelID>0</InputChannelID>
    <LimitTo30FPS>false</LimitTo30FPS>
    <KeyframeInterval>
      <Unit>Milliseconds</Unit>
      <Interval>1000</Interval>
    </KeyframeInterval>
    <LatencyMode>Normal</LatencyMode>
  </VideoEncoderSyncGroup>

  <Output id="0">
    <Name>Multicast</Name>
    <Enable>false</Enable>
    <AudioSource>
      <AudioEncoderID>0</AudioEncoderID>
    </AudioSource>
    <VideoSource>
      <VideoEncoderID>0</VideoEncoderID>
    </VideoSource>
    <OutputType>
      <Multicast>
        <Protocol>RTP</Protocol>
        <MulticastAddress>224.2.2.2</MulticastAddress>
        <DestinationPort>3456</DestinationPort>
        <TTL>5</TTL>
      </Multicast>
    </OutputType>
  </Output>

  <Output id="1">
    <Name>Unicast</Name>
    <Enable>false</Enable>
    <AudioSource>
      <AudioEncoderID>0</AudioEncoderID>
    </AudioSource>
    <AudioSource>
      <AudioEncoderID>1</AudioEncoderID>
    </AudioSource>
    <VideoSource>
      <VideoEncoderID>0</VideoEncoderID>
    </VideoSource>
    <DataSource>
      <DataEncoderID>0</DataEncoderID>
    </DataSource>
    <DataSource>
      <DataEncoderID>1</DataEncoderID>
    </DataSource>
    <OutputType>
      <Unicast>
        <Protocol>RTP</Protocol>
        <DestinationIP>192.168.1.25</DestinationIP>
        <DestinationPort>3458</DestinationPort>
      </Unicast>
    </OutputType>
  </Output>

  <Output id="2">
    <Name>RTMP</Name>
    <Enable>false</Enable>
    <AudioSource>
      <AudioEncoderID>0</AudioEncoderID>
    </AudioSource>
    <VideoSource>
      <VideoEncoderID>0</VideoEncoderID>
    </VideoSource>
    <OutputType>
      <RTMP>
        <URL>rtmp://my.rtmp.com/live/mystream</URL>
      </RTMP>
    </OutputType>
  </Output>

  <Output id="3">
    <Name>File Record</Name>
    <Enable>false</Enable>
    <AudioSource>
      <AudioEncoderID>0</AudioEncoderID>
    </AudioSource>
    <VideoSource>
      <VideoEncoderID>0</VideoEncoderID>
    </VideoSource>
    <DataSource>
      <DataEncoderID>2</DataEncoderID>
    </DataSource>
    <OutputType>
      <FileRecord>
          <FilenameBase>VID</FilenameBase>
          <FilenameTimezone>UTC</FilenameTimezone>
          <MediaContainer>MP4</MediaContainer>
          <DeviceSelectionPolicy>
              <Policy>Attach_Time_First</Policy>
              <Data>value</Data>
          </DeviceSelectionPolicy>
          <DeleteOldestWhenFull>false</DeleteOldestWhenFull>
          <LimitMaxFileSize>
              <Enable>false</Enable>
              <Value>1073741824</Value>
          </LimitMaxFileSize>
          <FTPUpload>
              <Enable>false</Enable>
              <Protocol>
                  <FTP/>
              </Protocol>
              <Server>my.ftp.com</Server>
              <Port>21</Port>
              <Username>admin</Username>
              <Password>password</Password>
              <FilePath>recordings</FilePath>
              <DeleteFileAfterUpload>true</DeleteFileAfterUpload>
          </FTPUpload>
      </FileRecord>
    </OutputType>
  </Output>

  <Output id="4">
    <Name>RTSP</Name>
    <Enable>false</Enable>
    <AudioSource>
      <AudioEncoderID>0</AudioEncoderID>
    </AudioSource>
    <VideoSource>
      <VideoEncoderID>0</VideoEncoderID>
    </VideoSource>
    <OutputType>
      <RTSP>
        <StreamName>mystream</StreamName>
        <ServerPort>554</ServerPort>
      </RTSP>
    </OutputType>
  </Output>

  <Output id="5">
    <Name>SRT</Name>
    <Enable>false</Enable>
    <AudioSource>
      <AudioEncoderID>1</AudioEncoderID>
    </AudioSource>
    <VideoSource>
      <VideoEncoderID>0</VideoEncoderID>
    </VideoSource>
    <OutputType>
      <SRT>
        <CallMode>
          <Caller>
            <DestinationHost>streamDestination.com</DestinationHost>
            <DestinationPort>5000</DestinationPort>
            <StreamID>stream1</StreamID>
          </Caller>
        </CallMode>
        <Latency>120</Latency>
        <BandwithOverheadPercentage>25</BandwithOverheadPercentage>
        <EncryptionEnabled>false</EncryptionEnabled>
        <Password>iamapassword</Password>
        <EncryptionKeySize>AES128</EncryptionKeySize>
      </SRT>
    </OutputType>
  </Output>

  <Output id="6">
    <Name>HTTP Push</Name>
    <Enable>false</Enable>
    <AudioSource>
      <AudioEncoderID>0</AudioEncoderID>
    </AudioSource>
    <VideoSource>
      <VideoEncoderSyncGroupID>0</VideoEncoderSyncGroupID>
    </VideoSource>
    <EnableRetry>false</EnableRetry>
    <UnlimitedRetries>false</UnlimitedRetries>
    <OutputType>
      <HTTPPush>
        <ManifestType>
          <HLS />
          <DASH />
        </ManifestType>
        <SegmentLength>2</SegmentLength>
        <NumberOfSegments>10</NumberOfSegments>
        <SaveSegmentWindow>false</SaveSegmentWindow>
        <MediaContainer>TS</MediaContainer>
        <UltraLowLatency>
          <Enable>false</Enable>
          <ChunkInterval>
            <Interval>3</Interval>
            <Unit>Frames</Unit>
          </ChunkInterval>
          <TargetLatencyMs>4000</TargetLatencyMs>
        </UltraLowLatency>
        <PushURL>Exampleurl.com/destination</PushURL>
        <PushURLSecondary>SecondaryExampleurl.com/destination</PushURLSecondary>
        <Synchronization>
          <Enable>false</Enable>
          <DashPresentationDelay>2</DashPresentationDelay>
          <DASHTimeService>http://time.akamai.com/?iso</DASHTimeService>
        </Synchronization>
      </HTTPPush>
    </OutputType>
  </Output>

  <Output id="7">
    <Name>Zixi</Name>
    <Enable>false</Enable>
    <AudioSource>
      <AudioEncoderID>0</AudioEncoderID>
    </AudioSource>
    <VideoSource>
      <VideoEncoderID>0</VideoEncoderID>
    </VideoSource>
    <OutputType>
      <Zixi>
        <DestinationIP>streamDestination.com</DestinationIP>
        <DestinationPort>2088</DestinationPort>
        <StreamID>stream1</StreamID>
        <Passphrase>stream_passphrase</Passphrase>
        <MaxLatencyMS>3000</MaxLatencyMS>
        <FECPercentage>30</FECPercentage>
        <EncryptionEnabled>false</EncryptionEnabled>
        <EncryptionKeySize>AES128</EncryptionKeySize>
        <EncryptionKey>0e7410527baa70aa424601ba2626efd5</EncryptionKey>
        <EnableBackPressureBitrateAdjustment>false</EnableBackPressureBitrateAdjustment>
        <IgnoreDTLSCertError>false</IgnoreDTLSCertError>
      </Zixi>
    </OutputType>
  </Output>

  <Output id="8">
    <Name>WHIP</Name>
    <Enable>false</Enable>
    <AudioSource>
      <AudioEncoderID>2</AudioEncoderID>
    </AudioSource>
    <VideoSource>
      <VideoEncoderID>0</VideoEncoderID>
    </VideoSource>
    <OutputType>
      <WHIP>
        <Service>generic</Service>
        <ServiceData>
          <Generic>
            <URL>https://my.whip.com/live/mystream</URL>
            <AuthorizationToken>aaabbbbccccddd0000111222333</AuthorizationToken>
          </Generic>
        </ServiceData>
      </WHIP>
    </OutputType>
  </Output>

  <Thumbnail>
    <Enable>false</Enable>
    <Interval>1</Interval>
    <Width>320</Width>
  </Thumbnail>

</VStreamPlatform>
