Script "Search video-files on FTP"

Internet TV, Radio, Podcasts
Post Reply
Eugene
Posts: 2940
Joined: Tue Nov 17, 2009 8:05 pm

Script "Search video-files on FTP"

Post by Eugene »

Settings - Processing - Add

Name: Search video-files on FTP
Click "Button on the main form"

Script:

Code: Select all

const
  FtpAddress = 'ftp://127.0.0.1';         
  TranscodingProfile = ''; // 'Internet-television (Input stream)'; 
  
procedure ProcessFolder(const aFolder: Variant; const aFolderPath: string);
var
  i, iItemCount: Integer;
  Folder, FolderItem, FolderItems: Variant;
  sItemPath, sItemName: string;
begin
  FolderItems := aFolder.Items;
  iItemCount := FolderItems.Count;
  for i := 0 to iItemCount - 1 do begin
    FolderItem := FolderItems.Item(i);
    sItemPath := FolderItem.Path;
    sItemName := FolderItem.Name;
    if FolderItem.IsFolder then begin
      Folder := FolderItem.GetFolder;
      ProcessFolder(Folder, aFolderPath + '\' + sItemName)
    end else if WmsFileMediaType(sItemPath) = mtVideo then
      WmsCreateMediaItem(sItemPath, mfVideoInternetTelevisionItemID, aFolderPath);
  end
end;

var
  MediaFolder: TWmsScriptMediaItem; 
  Folder, Shell: Variant;  
begin
  WmsShowInformation('Search video-files...');
  try
    MediaFolder := WmsFindMediaFolder(mfVideoInternetTelevisionItemID, FtpAddress);
    if MediaFolder <> nil then
      MediaFolder.DeleteChildItems;
    Shell := CreateOleObject('Shell.Application');
    Folder := Shell.NameSpace(FtpAddress);
    ProcessFolder(Folder, FtpAddress);
  finally
    WmsHideInformation
  end;
  WmsDatabaseAutoSave;
  ProcessMediaResult := True      
end.
Replace ftp-address on actual ftp-address.
If you want to transfer files without transcoding

Code: Select all

TranscodingProfile = 'Internet-television (Input stream)'; 
Ok - Ok - Ok

Click "Search video-files on FTP"

The folder "Internet-television" - "Ftp-address"
Post Reply