<?xml version="1.0" encoding="utf-8"?>
<HmsTranscodingConfig version="2.01">
  <TranscoderList>
    <Transcoder>
      <Name>VLC</Name>
      <Path>%Registry\SOFTWARE\VideoLAN\VLC\InstallDir%\vlc.exe</Path>
      <HomePage>http://www.videolan.org</HomePage>
      <Download>http://www.videolan.org</Download>
    </Transcoder>
  </TranscoderList>
  <TranscodingProfileList>
    <Profile>
      <TranscoderName>VLC</TranscoderName>
      <TranscodingCondition>mpInternetItem</TranscodingCondition>
      <TranscodingConditionSyntaxType>PascalScript</TranscodingConditionSyntaxType>
      <TranscodingComment></TranscodingComment>
      <TranscodingFolder>Транскодирование для интернет медиа-ресурсов</TranscodingFolder>
      <TranscodingMediaType>3</TranscodingMediaType>
      <TranscodingMimeType></TranscodingMimeType>
      <TranscodingMimeTypeScript></TranscodingMimeTypeScript>
      <TranscodingMimeTypeSyntaxType></TranscodingMimeTypeSyntaxType>
      <TranscodingMode>0</TranscodingMode>
      <TranscodingParams>function GetAudioCodec: string;
begin
  if Pos(&apos;wmv&apos;, cfgTranscodingTvsetMimeType) &gt; 0 then
    Result := &apos;wma2&apos;    
  else if (Pos(&apos;IPOD&apos;, UpperCase(cfgDeviceType)) &gt; 0) or
          (Pos(&apos;LG&apos;, UpperCase(cfgDeviceType)) = 1) or
          SameText(cfgTranscodingAudioCodec, &apos;AAC&apos;) or 
          (Pos(&apos;flv&apos;, cfgTranscodingTvsetMimeType) &gt; 0) then  
    Result := &apos;aac&apos;
  else if Pos(&apos;SONY&apos;, UpperCase(cfgDeviceType)) &gt; 0 then  
    Result := &apos;mpga&apos;
  else                
    Result := &apos;mpga&apos;    
end;

function GetFileFormat: string;
begin
  if Pos(&apos;wmv&apos;, cfgTranscodingTvsetMimeType) &gt; 0 then
    Result := &apos;asf&apos;    
  else if Pos(&apos;flv&apos;, cfgTranscodingTvsetMimeType) &gt; 0 then
    Result := &apos;ffmpeg{mux=flv}&apos;
  else if (Pos(&apos;MPEGTS&apos;, cfgTranscodingFileFormat) &gt; 0) or
          (Pos(&apos;SONY&apos;, UpperCase(cfgDeviceType)) &gt; 0) or
          (Pos(&apos;IPOD&apos;, UpperCase(cfgDeviceType)) &gt; 0) then           
    Result := &apos;ts&apos;    
  else     
    Result := &apos;mpeg1&apos;
end;

function GetSampleRate: Integer;
begin
  if SameText(cfgTranscodingFileFormat, &apos;FLV&apos;) then  
    Result := 44100
  else
    Result := 48000   
end;

const
  csVideoLanParams =                                 
    &apos;--no-crashdump --play-and-exit -Idummy --language=en%s%s --no-overlay --ffmpeg-hw -v --directx-use-sysmem --direct3d-hw-blending --sout-ffmpeg-rc-buffer-size=%d %s--sout=#%stranscode&apos; +
    &apos;{vcodec=%s,vb=%d,fps=%s,scale=1%s,acodec=%s,ab=%d,channels=2,&apos; +
    &apos;samplerate=%d%s%s}:duplicate{dst=std{access=file,mux=%s,dst="&lt;OUTPUT FILE&gt;"}}&apos; +
    &apos;%s --access=p2p_access "%s"&apos;; //  vlc:quit
    
var 
  i, iAudioStreamID: Integer;
  sAudioTrackID, sGather, sInternetTelevisionSplash, sKeepOut: string;  
begin
  if cfgInternetTelevisionSplash &lt;&gt; &apos;&apos; then begin  
    sInternetTelevisionSplash := Format(&apos; "%s"&apos;, [cfgInternetTelevisionSplash]);    
    sGather  := &apos;gather:&apos;;                                              
    sKeepOut := &apos;--sout-keep &apos;;
  end else begin                             
    sInternetTelevisionSplash := &apos;&apos;;
    sGather  := &apos;&apos;;
    sKeepOut := &apos;&apos;    
  end;
  if mpAudioStreamNo &gt;= 0 then begin  
    iAudioStreamID := HmsGetStreamID(stAudio, mpAudioStreamNo);    
    if iAudioStreamID &lt; 100 then                          
      sAudioTrackID := &apos; --audio-track=&apos; + IntToStr(mpAudioStreamNo)      
    else
      sAudioTrackID := &apos; --audio-track-id=&apos; + IntToStr(iAudioStreamID)
  end else                 
    sAudioTrackID := &apos;&apos;;
  TranscodingParams := Format(csVideoLanParams, 
                               [sAudioTrackID, sKeepOut, sGather, GetAudioCodec,
                                Min(cfgTranscodingAudioBitrate div 1000, 192),                                              
                                GetSampleRate, GetFileFormat, sInternetTelevisionSplash]);                                
end.</TranscodingParams>
      <TranscodingParamsSyntaxType>PascalScript</TranscodingParamsSyntaxType>
      <TranscodingProfile>Интернет-телевидение (Видео без изменения) + HW Acceleration</TranscodingProfile>
      <TranscodingProfileActive>-1</TranscodingProfileActive>
      <TranscodingProfilePriority>36</TranscodingProfilePriority>
      <TranscodingProfileUuid>d80c47fb-0a0a-4b5e-9d4a-a34669314eb0</TranscodingProfileUuid>
    </Profile>
  </TranscodingProfileList>
</HmsTranscodingConfig>
