<?xml version="1.0" encoding="utf-8"?>
<HmsTranscodingConfig version="2.12">
  <TranscoderList>
    <Transcoder>
      <Name>HMSMPEG</Name>
      <Path>hmsmpeg.exe</Path>
      <HomePage>http://www.ffmpeg.org/</HomePage>
      <Download></Download>
    </Transcoder>
    <Transcoder>
      <Name>HmsMPEG</Name>
      <Path>Hmsmpeg.exe</Path>
      <HomePage>http://www.ffmpeg.org/</HomePage>
      <Download></Download>
    </Transcoder>
    <Transcoder>
      <Name>hmsMPEG</Name>
      <Path>hmsmpeg.exe</Path>
      <HomePage>http://www.ffmpeg.org/</HomePage>
      <Download></Download>
    </Transcoder>
  </TranscoderList>
  <TranscodingProfileList>
    <Profile>
      <TranscoderName>HMSMPEG</TranscoderName>
      <TranscodingCondition></TranscodingCondition>
      <TranscodingConditionSyntaxType>PascalScript</TranscodingConditionSyntaxType>
      <TranscodingComment></TranscodingComment>
      <TranscodingFolder>Транскодирование для TorrentStream, AceStream медиа-ресурсов</TranscodingFolder>
      <TranscodingMediaType>3</TranscodingMediaType>
      <TranscodingMimeType></TranscodingMimeType>
      <TranscodingMimeTypeScript>cfgTranscodingVideoMimeType</TranscodingMimeTypeScript>
      <TranscodingMimeTypeSyntaxType>PascalScript</TranscodingMimeTypeSyntaxType>
      <TranscodingMode>1</TranscodingMode>
      <TranscodingParams>const
  csVlcParams = &apos;-Idummy --language en vlc://pause:2 --demuxdump-file="%s" --access=p2p_access "%s" :demux=dump&apos;;  
var
  s, sFileType, sInputFileName, sMediaResourceLink, sReadPipeName, sWritePipeName, sTranscodingParams: string;
  bNoChangeAR: boolean; nH: Extended; nCrop: Integer; sCrop, sVF: string;  
begin
  if mpHeight = 0 then HmsRetrieveProperties;
  if Trim(mpDVDAspectRatio) = &apos;&apos; then begin 
    mpDVDAspectRatio := &apos;16:9&apos;;
    CurrentMediaItem[mpiDVDAspectRatio] := mpDVDAspectRatio;
    HmsLogMessage(1, mpTitle+&apos;: &apos;+IntToStr(mpWidth)+&apos;x&apos;+IntToStr(mpHeight)+&apos;  &apos;+mpDVDAspectRatio);
  end;
  TranscodingResult := False;
  sInputFileName := InputFileName;
  if sInputFileName = &apos;-&apos; then begin
    sMediaResourceLink := HmsGetItemProperty(mpiMediaResourceLink);
    if Pos(&apos;--demuxdump-file&apos;, sMediaResourceLink) &gt; 0 then begin
      if not HmsRegExMatch(&apos;--access=p2p_access "(.*?)"&apos;, sMediaResourceLink, sInputFileName) then 
        HmsRegExMatch(&apos;"(.*?\.torrent)"&apos;, sMediaResourceLink, sInputFileName)
     end    
  end;      
  if HmsCreateDualPipe(sReadPipeName, sWritePipeName) then begin
    if HmsTranscodingExecute(&apos;ACEPLAYER&apos;, Format(csVlcParams, [sWritePipeName, sInputFileName]), False) then begin    
      if mpFileType &lt;&gt; &apos;&apos; then      
        sFileType := &apos;-f "&apos; + mpFileType + &apos;" &apos;
      else                          
        sFileType := &apos;&apos;;
      mpInternetItem := False;
      sTranscodingParams := HmsTranscodingProfileParams(&apos;Фильмы (основной)&apos;);
      sTranscodingParams := ReplaceStr(sTranscodingParams, &apos;&lt;HMSMPEG&gt; &apos;, sFileType);          
      sTranscodingParams := ReplaceStr(sTranscodingParams, &apos;&lt;INPUT FILE&gt;&apos;, sReadPipeName);      
      sTranscodingParams := sTranscodingParams + &apos; "&apos; + OutputFileName + &apos;"&apos;;
      // CROP ---------------------------------------------------------------------
      if mpHeight &gt; 0 then begin 
        nH := mpWidth / (16/9);
        sCrop := &apos;&apos;;
        if (nH &lt; mpHeight) then begin
          nCrop := Round(Round(mpHeight - nH)/2);
          sCrop := Format(&apos;crop=in_w:in_h-%d:0:%d,&apos;, [nCrop*2, nCrop]);
          sVF := Format(&apos;scale=%d:%d,pad=%d:%d:0:0:0x000000,setdar=16:9&apos;, [cfgTranscodingScreenWidth, cfgTranscodingScreenHeight-2, cfgTranscodingScreenWidth, cfgTranscodingScreenHeight]);
          If HmsRegExMatch(&apos;(-vf\s+".*?")&apos;, sTranscodingParams, s) Then
            sTranscodingParams := ReplaceStr(sTranscodingParams, s, &apos;-vf "&apos;+sCrop+sVF+&apos;"&apos;);
        end;
      end;
      // --------------------------------------------------------------------------
      TranscodingResult := HmsTranscodingExecute(&apos;HMSMPEG&apos;, sTranscodingParams, True)          
    end 
  end 
end.</TranscodingParams>
      <TranscodingParamsSyntaxType>PascalScript</TranscodingParamsSyntaxType>
      <TranscodingProfile>AceStream (ACEPLAYER - FFMPEG) + 16:9 CROP</TranscodingProfile>
      <TranscodingProfileActive>-1</TranscodingProfileActive>
      <TranscodingProfilePriority>29</TranscodingProfilePriority>
      <TranscodingProfileUuid>8814c013-306f-42ce-b683-c68be79dcad1</TranscodingProfileUuid>
    </Profile>
  </TranscodingProfileList>
</HmsTranscodingConfig>
