Бонус. Описание для ОС Windows.

Скрипт адаптирован для создания json-файла, который совместим с подкастами HMS сервера. Для стандартного
префикса "as" (здесь и далее) - имя файла "as.hms.json", его поля в json-массиве "channels":
1) name     - имя канала;
2) cat      - категория канала;
3) url      - ссылка на acestream трансляцию, может выглядеть по разному (ниже);
4) id       - идентификатор контента acestream, в HMS поле не используется;
5) infohash - хеш-код контента acestream, в HMS поле не используется.

Параметризация запуска скрипта расширена по сравнению с оригинальной версией, добавлен третий числовой параметр
для задания способа формирования ссылки в поле "url" файла "as.hms.json", параметр №3 может иметь значения:
1) argv[3] = 0    -  дефолтное значение, в поле "url" подставляется хеш-код контента acestream, стандартный подкаст
                     без изменений скрипта с таким значением работать не сможет. Также, это единственное значение
                     при котором создаются плейлисты .m3u, для остальных значений они не создаются;
2) argv[3] = 1    -  в поле "url" подставляется идентификатор контента acestream - также требует изменения скрипта
                     подкаста для формирования ссылки им самим;
3) argv[3] = 2    -  в поле "url" подставляется "acestream://$contentid" в формате Ace Player;
   Следующие значения формируют url-ссылку внутри PHP скрипта целиком:
4) argv[3] = 3    -  в поле "url" подставляется localhost "http://127.0.0.1:6878/ace/getstream?id=$contentid&.mp4";
5) argv[3] = 4    -  в поле "url" подставляется адрес Ace Stream сервера из второго параметра (должен быть вместе с 
                     его портом) "http://argv[2]/ace/getstream?id=$contentid&.mp4";
6) argv[3] = 5    -  в поле "url" подставляется текущий IP адрес машины, то есть он обновляется автоматически если 
                     DHCP служба его сменит: "http://<local ip>:6878/ace/getstream?id=$contentid&.mp4";
7) argv[3] = 6    -  в поле "url" подставляется DNS имя, "http://<DNS name>:6878/ace/getstream?id=$contentid&.mp4".
   Второй параметр argv[2] может быть любым не пустым для всех значений, кроме argv[3] = 0 & argv[3] = 4. Если 
   путь к целевой папке (argv[1]) содержит пробелы, то используйте короткие dos 8dot3 имена и путь без кавычек.

Пример вызова для формирования ссылки с автоматическим обновлением IP:
>  "C:\program files\php\php.exe" C:\users\petya\ace_search\as.php C:\users\petya\ace_search\playlists\as any 5
Пример значения поля "Комментарий" в свойствах подкаста HMS для этого вызова скрипта:
>  C:\users\petya\ace_search\playlists\as.hms.json

 
Для получения идентификаторов контента скрипт должен выполняться на машине с установленным и работающим Ace Stream 
сервером. 

Выполнение скрипта:
1) Загрузка оригинального списка с https://search.acestream.net/;
2) Сохранение полученной json-строки в файле "as.source.json";
3) Если загрузка не удалась - продолжать работу с данными из "as.source.json";
4) Если разбор каналов и их добавление уже делались:
  - получение данных из файла с json "as.prev.json" (используется для добавления предыдущих каналов);
  - получение данных из файла с HMS-json "as.hms.json";
5) Разбор каналов и проверка наличия идентификатора контента в старом файле. Если он есть - брать его оттуда, если
   его нет - через Web-API ("http://localhost:6878/server/api/?method=get_content_id&infohash=<hash-code>");
6) Если предыдущий шаг был успешным - добавление нового канала;
7) Повтор действий 5) & 6) для данных из "as.prev.json";
8) Сохранение данных в "as.prev.json" & "as.hms.json";
9) Если запуск с дефолтным 3 параметром (argv[3] = 0) - создание .m3u плейлистов.

В случае отсутствия загрузки скрипт может выполнять следующие действия с "as.hms.json":
1) argv[3] = 5    - заменяет IP адрес на актуальный в url ссылке;
2) Если изменяется параметр argv[3], то он меняет поле "url" в соответствии с этим параметром.

Для скачивания данных с "https://search.acestream.net/" может потребоваться "зашедуленный таск", для получения
идентификаторов контента - 2-3 запуска.

Для обеспечения совместимости со старыми ОС для отладки использовался PHP версии php-5.4.9-Win32-VC9-x86.