Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2017, 17:01   #1
pas2
Пользователь
 
Регистрация: 02.01.2016
Сообщений: 42
По умолчанию PasLibVLC torrent stream

Подскажите, кто знает как в библиотеке PasLibVLC сделать поддержку воспроизведение torrent stream - ссылок такого типа acestream://ff20d75ea2acc522e2935052e95afab5d74 9ebb6
pas2 вне форума Ответить с цитированием
Старый 15.04.2017, 18:32   #2
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Ваша ссылка для воспроизведения в PasLibVLC
http://127.0.0.1:6878/ace/getstream?...5d749ebb6&.mp4

Название канала 24-Doc как у меня показывает в PasLibVLC

Цитата:
acestream://ff20d75ea2acc522e2935052e95afab5d74 9ebb6
Расклад такой
к вашей ссылке я добавил то что выделено 127.0.0.1:6878/ace/getstream?id=ff20d75ea2acc522e2935052e95afab5d74 9ebb6&.mp4

Без установки torrent stream работать не будет PasLibVLC с торрент тв, так как при установки этой программы начинает работать сервер ace_engine.exe на хосте 127.0.0.1:6878 через который идет соединение с пирами для поиска канала в ID ссылке acestream://.
А самому писать программу для поиска каналов сложно, нужно знать принцип работы торрент пиров.

Можно конечно написать программу которая будет в поисковиках искать по ссылке acestream:// но это муторно

Последний раз редактировалось Aliens_wolfs; 15.04.2017 в 20:38.
Aliens_wolfs вне форума Ответить с цитированием
Старый 17.04.2017, 10:47   #3
pas2
Пользователь
 
Регистрация: 02.01.2016
Сообщений: 42
По умолчанию

Цитата:
Сообщение от Aliens_wolfs Посмотреть сообщение
Без установки torrent stream работать не будет PasLibVLC с торрент тв, так как при установки этой программы начинает работать сервер ace_engine.exe
Сенк, проверил, работает, но только если запущен ace_engine.exe, а как автоматизировать, что бы сам запускался ace_engine.exe если необходимо воспроизвести такую ссылку. И немного не понял как в PasLibVLC Вы получили такую ссылку (127.0.0.1:6878/ace/getstream?id=ff20d75ea2acc522e29350 52e95afab5d74 9ebb6&.mp4)?
pas2 вне форума Ответить с цитированием
Старый 17.04.2017, 11:30   #4
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Цитата:
И немного не понял как в PasLibVLC Вы получили такую ссылку
Я ее сам слепил, просто в интернете посмотрел play листы и все понял как она клеиться. Инфы на эту тему почему то практически нет в интернете.

Цитата:
а как автоматизировать, что бы сам запускался ace_engine.exe если необходимо воспроизвести такую ссылку
Я думаю можно попробовать в ваш проект засунуть необходимые файлы для запуска ace_engine.exe и уже при загрузки вашей программы грузить, выгружать в общем полностью контролировать ace_engine.
Либо запускать из установленной папки делать разные проверки и т.д.

Последний раз редактировалось Aliens_wolfs; 17.04.2017 в 11:56.
Aliens_wolfs вне форума Ответить с цитированием
Старый 17.04.2017, 12:30   #5
pas2
Пользователь
 
Регистрация: 02.01.2016
Сообщений: 42
По умолчанию

Цитата:
Сообщение от Aliens_wolfs Посмотреть сообщение
Я думаю можно попробовать в ваш проект засунуть необходимые файлы для запуска ace_engine.exe и уже при загрузки вашей программы грузить, выгружать в общем полностью контролировать ace_engine
я тоже так думаю, открыл файл с ace_engine, так же есть в установленной папке видеоплеер с длл-ками, подключил их,(ничего вроде не происходит) пока что не разобрался что и как, может у кого то есть какие то соображения поделитесь...
pas2 вне форума Ответить с цитированием
Старый 17.04.2017, 13:36   #6
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

В общем сниффером нужно поработать что бы понять куда ace_engine запросы делает.

Во что сниффер показал с адреса a2.torrentstream.org
Код:
<VAST version="2.0">
<Ad>
<InLine>
<AdSystem version="1.0">TS_ADS</AdSystem>
<AdTitle>Torrent Stream</AdTitle>
<Impression id="TS_ADS">
<![CDATA[ http://a1.torrentstream.net/impression ]]>
</Impression>
<Creatives/>
<Extensions>
<Extension type="TS_ADS">
<ResponseData sig="PL+sIyQYlguve9MrwK80IpNloBzHd0IEnHk/rDC3cVO2QtHElTtXvxjHdTSYnY07iFRvgfAdDWccjEa/zyKwASVS0iz8HB7N/1gOoUgwxvHHJfA+jAXFsKeLVMrfjYhiAB2vV6bDE+cXKTbX37Bjg49DEA2YHr9IgxaJr3dtKsjv73b6RaR+19/5C0VbX68QkjiM9OMOPNrYhWpg4G25IGaEq5+LmVGVkloS0os1ECiXshkwJoTssZcr3gN255MMsxEOjL502H66HTZej7KDPzMFiByaciX/thGk9AVd8NeGBx/yqfuM3t1aIhu7kqXbn9ZpaURNaW1UqyHvGyjQig==">1851559191</ResponseData>
<RequestTimeout>15</RequestTimeout>
<MinAdsDuration>9999</MinAdsDuration>
<MaxAdsDuration>9999</MaxAdsDuration>
<CheckDuration>yes</CheckDuration>
<MaxInlineAds>1</MaxInlineAds>
<SendResponseBodyOnError>yes</SendResponseBodyOnError>
<AdFormats>
<Format id="unpause"/>
</AdFormats>
<NoAdUrl>
<![CDATA[ https://m.acestream.net/plan/select ]]>
</NoAdUrl>
<NoAdText>Disable ads</NoAdText>
<AdInfoText>
With advertising you can use the Ace Stream software for free
</AdInfoText>
<Options>
<![CDATA[
{"ac":1492501671,"ad":0,"af":0,"az":1,"ba":1,"bd":0,"be":0,"bf":["video\/*"],"bg":["video\/mp4","video\/x-flv"],"z":1,"n":"148.251.41.165:8884","p":1,"q":1}
]]>
</Options>
</Extension>
</Extensions>
</InLine>
</Ad>
</VAST>
в ResponseData sig= интересно что за кодировка но не Base64

Думаю проще делать как я уже описал в посте #4

Цитата:
Сообщение от pas2
открыл файл с ace_engine, так же есть в установленной папке видеоплеер с длл-ками, подключил их,(ничего вроде не происходит) пока что не разобрался что и как
для работы с ace_engine.exe нужны файлы от сюда \AppData\Roaming\ACEStream\engine сам плеер не нужен

Последний раз редактировалось Aliens_wolfs; 18.04.2017 в 11:19.
Aliens_wolfs вне форума Ответить с цитированием
Старый 19.04.2017, 09:13   #7
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Вот накидал код для запуска из папки установленного ace_engine

Код:
uses
......, TlHelp32
var
  Form1: TForm1;

implementation

{$R *.dfm}

//Функция завершения всех загруженных программ из указанной нужной
Function KillTask(ExeFileName: String): Integer;
Const
PROCESS_TERMINATE = $0001;
Var
ContinueLoop: Bool;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
Begin
Result:=0;
FSnapshotHandle:=CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS,0);
FProcessEntry32.DwSize:=Sizeof(FProcessEntry32);
ContinueLoop:=Process32First(FSnapshotHandle,FProcessEntry32);
While Integer(ContinueLoop) <> 0 Do
Begin
If ((AnsiUpperCase(ExtractFileName(FProcessEntry32.SzExeFile)) =
AnsiUpperCase(ExeFileName)) Or (AnsiUpperCase(FProcessEntry32.SzExeFile) =
AnsiUpperCase(ExeFileName))) Then
Result:=Integer(TerminateProcess(OpenProcess(PROCESS_TERMINATE,Bool(0),
FProcessEntry32.Th32ProcessID),0));
ContinueLoop:=Process32Next(FSnapshotHandle,FProcessEntry32);
End;
CloseHandle(FSnapshotHandle);
End;

//Функция создающая процесс запуска нужной программы
Function CreateProcessExe(FileName: String): DWORD;
var
   StartupInfo: TStartupInfo;
   ProcessInfo: TProcessInformation;
begin
     FillChar(StartupInfo, SizeOf(TStartupInfo), 0);
     FillChar(ProcessInfo, SizeOf(TProcessInformation), 0);
    with StartupInfo do
    begin
      cb := SizeOf(StartupInfo);
      dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES or STARTF_FORCEONFEEDBACK;
      wShowWindow := SW_SHOWNORMAL;
    end;
if  (CreateProcess(nil, PAnsiChar(FileName), NIL, NIL, False, CNORMAL_PRIORITY_CLASS, 
NIL, NIL, StartupInfo, ProcessInfo)) Then
Result:= ProcessInfo.hProcess;
CloseHandle(ProcessInfo.hProcess);
CloseHandle(ProcessInfo.hThread);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 // завершает работу всех ace_engine а их там будет 2шт.
KillTask('ace_engine.exe');
end;

//Использование
procedure TForm1.FormCreate(Sender: TObject);
var
ACEFile: string;
ACEhProcess: DWORD;
begin
ACEFile:= GetEnvironmentVariable('userprofile') + '\AppData\Roaming\ACEStream\engine\ace_engine.exe';
if not FileExists(ACEFile) then
begin
showmessage('ace_engine не найден');
exit;
end;

ACEhProcess:= CreateProcessExe(ACEFile);
if ACEhProcess = 0 then
showmessage('ace_engine ошибка запуска');
end;

end.
Можно конечно запускать через ShellExecute либо WinExec но я сделал через CreateProcess с проверкой на запуск основной программы ace_engine

Последний раз редактировалось Aliens_wolfs; 19.04.2017 в 10:44.
Aliens_wolfs вне форума Ответить с цитированием
Старый 22.04.2017, 13:42   #8
pas2
Пользователь
 
Регистрация: 02.01.2016
Сообщений: 42
По умолчанию

Цитата:
Сообщение от Aliens_wolfs Посмотреть сообщение
Вот накидал код для запуска из папки установленного ace_engine
Супер!!! Большое спасибо!
pas2 вне форума Ответить с цитированием
Старый 25.04.2017, 09:51   #9
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Полная информация о ace_engine torrent
здесь
http://wiki.acestream.org/wiki/index...ngine_HTTP_API
http://acestream.net/demos/http-api/index.html

Последний раз редактировалось Aliens_wolfs; 25.04.2017 в 18:50.
Aliens_wolfs вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает μTorrent ACE Valery Свободное общение 11 08.11.2014 23:24
torrent Abuhamed PHP 1 10.11.2012 11:14
Torrent Клиент (Java) phantom4eg Фриланс 5 13.12.2011 21:13
чтение .torrent cредствами DELPHI ??? 3nick3 Работа с сетью в Delphi 5 20.06.2010 21:56
кодировка в torrent-файле Dyrik Помощь студентам 3 19.09.2008 09:25