HMSMPEG
hmsmpeg.exe
http://www.ffmpeg.org/
HmsMPEG
Hmsmpeg.exe
http://www.ffmpeg.org/
hmsMPEG
hmsmpeg.exe
http://www.ffmpeg.org/
HMSMPEG
PascalScript
Транскодирование для TorrentStream, AceStream медиа-ресурсов
3
cfgTranscodingVideoMimeType
PascalScript
1
const
csVlcParams = '-Idummy --language en vlc://pause:2 --demuxdump-file="%s" --access=p2p_access "%s" :demux=dump';
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) = '' then begin
mpDVDAspectRatio := '16:9';
CurrentMediaItem[mpiDVDAspectRatio] := mpDVDAspectRatio;
HmsLogMessage(1, mpTitle+': '+IntToStr(mpWidth)+'x'+IntToStr(mpHeight)+' '+mpDVDAspectRatio);
end;
TranscodingResult := False;
sInputFileName := InputFileName;
if sInputFileName = '-' then begin
sMediaResourceLink := HmsGetItemProperty(mpiMediaResourceLink);
if Pos('--demuxdump-file', sMediaResourceLink) > 0 then begin
if not HmsRegExMatch('--access=p2p_access "(.*?)"', sMediaResourceLink, sInputFileName) then
HmsRegExMatch('"(.*?\.torrent)"', sMediaResourceLink, sInputFileName)
end
end;
if HmsCreateDualPipe(sReadPipeName, sWritePipeName) then begin
if HmsTranscodingExecute('ACEPLAYER', Format(csVlcParams, [sWritePipeName, sInputFileName]), False) then begin
if mpFileType <> '' then
sFileType := '-f "' + mpFileType + '" '
else
sFileType := '';
mpInternetItem := False;
sTranscodingParams := HmsTranscodingProfileParams('Фильмы (основной)');
sTranscodingParams := ReplaceStr(sTranscodingParams, '<HMSMPEG> ', sFileType);
sTranscodingParams := ReplaceStr(sTranscodingParams, '<INPUT FILE>', sReadPipeName);
sTranscodingParams := sTranscodingParams + ' "' + OutputFileName + '"';
// CROP ---------------------------------------------------------------------
if mpHeight > 0 then begin
nH := mpWidth / (16/9);
sCrop := '';
if (nH < mpHeight) then begin
nCrop := Round(Round(mpHeight - nH)/2);
sCrop := Format('crop=in_w:in_h-%d:0:%d,', [nCrop*2, nCrop]);
sVF := Format('scale=%d:%d,pad=%d:%d:0:0:0x000000,setdar=16:9', [cfgTranscodingScreenWidth, cfgTranscodingScreenHeight-2, cfgTranscodingScreenWidth, cfgTranscodingScreenHeight]);
If HmsRegExMatch('(-vf\s+".*?")', sTranscodingParams, s) Then
sTranscodingParams := ReplaceStr(sTranscodingParams, s, '-vf "'+sCrop+sVF+'"');
end;
end;
// --------------------------------------------------------------------------
TranscodingResult := HmsTranscodingExecute('HMSMPEG', sTranscodingParams, True)
end
end
end.
PascalScript
AceStream (ACEPLAYER - FFMPEG) + 16:9 CROP
-1
29
8814c013-306f-42ce-b683-c68be79dcad1