Open Kot-nikot opened 7 months ago
Попробую, нужно вспомнить что я там написал, давно было
в фале appsettings.json в параметре "urlTemplate": замените "infohash://{0}" на "acestream://{0}"
Я изначально, когда установил приложение пробовал менять данное значение в файле appsetting.joson но это всего лишь меняет название в плей листе, а не параметр и его значение.
установил в конфиге urlTemplate": "acestream://{0}", сгенерил плайлист, вот мой файл в архиве f.as.zip , что в нем не так, как должно быть?
Нужно понимать,что infohash и channel_id это две разные вещи, и что простая замена слова не приведет к требуемым изменением.Приведу пример двух плейлиста с одними и теми же каналами, но в одном он сформирован по shashinfo а второй по channel_id playlist.zip (https://github.com/ef1f/AceSearch/files/14624718/playlist.zip)
Chanel_id можно узнать через запросы Acestream движку таким образом
http://127.0.0.1:6878/server/api?method=get_content_id&infohash=
Вот пример: Запрос http://127.0.0.1:6878/server/api?method=get_content_id&infohash=e54d7ad623d1af7e3dc30630b139a22466c471a7 Ответ: {"result": {"content_id": "541842bf8e3c9e4a6e6a3ebe74b3dd101e8295a1"}, "error": null} Вот это значение надо вставить в плейлист: 541842bf8e3c9e4a6e6a3ebe74b3dd101e8295a1 Привед к такому виду.
acestream://541842bf8e3c9e4a6e6a3ebe74b3dd101e8295a1
Выложил, проверяйте
Поправьте еще и dockergile с 5 на 7 версию NET чтобы не править его....
исправил
у вас версия aceStreamEngine какая?
Не хочет работать... При запуске контейнера командой: $ sudo docker run -d -v /home/nikot/AceSearch:/src/AceSearch/src/bin/Release/net7.0 --name ace_search ace_search 9c390ce6f05ad84b56b6cf48379b8b0b5d22acfc89ddd977c5b785454665935c видно что запускается h$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9c390ce6f05a ace_search "/bin/sh -c 'dotnet …" 51 seconds ago Up 48 seconds ace_search
В логе нет выполнения, раньше было что копировались файлы в рабочий каталог
$ sudo docker logs -f 9c390ce6f05a MSBuild version 17.7.4+3ebbd7c49 for .NET Determining projects to restore... Ну и соответственно там толь ко фаилы что были при выполнении git clone ~/AceSearch$ ls AceSearch.sln dockerfile README.md src
у вас версия aceStreamEngine какая?
Заработал :~/AceSearch$ sudo docker logs -f 9c390ce6f05a MSBuild version 17.7.4+3ebbd7c49 for .NET Determining projects to restore... Restored /src/AceSearch/src/AceSearch.csproj (in 7.54 min). AceSearch -> /src/AceSearch/src/bin/Release/net7.0/AceSearch.dll
Build succeeded. 0 Warning(s) 0 Error(s)
Time Elapsed 00:07:46.55 net7.0/ net7.0/Microsoft.Extensions.FileSystemGlobbing.dll net7.0/Microsoft.Extensions.FileProviders.Abstractions.dll net7.0/AceSearch net7.0/Microsoft.Extensions.Configuration.dll net7.0/AceSearch.runtimeconfig.json net7.0/Newtonsoft.Json.dll net7.0/.git/ net7.0/.git/HEAD net7.0/.git/hooks/ net7.0/.git/hooks/prepare-commit-msg.sample net7.0/.git/hooks/applypatch-msg.sample net7.0/.git/hooks/pre-applypatch.sample net7.0/.git/hooks/post-update.sample net7.0/.git/hooks/push-to-checkout.sample net7.0/.git/hooks/commit-msg.sample net7.0/.git/hooks/pre-push.sample net7.0/.git/hooks/pre-receive.sample net7.0/.git/hooks/update.sample net7.0/.git/hooks/fsmonitor-watchman.sample net7.0/.git/hooks/pre-commit.sample net7.0/.git/hooks/pre-merge-commit.sample net7.0/.git/hooks/pre-rebase.sample net7.0/.git/packed-refs net7.0/.git/refs/ net7.0/.git/refs/tags/ net7.0/.git/refs/remotes/ net7.0/.git/refs/remotes/origin/ net7.0/.git/refs/remotes/origin/HEAD net7.0/.git/refs/heads/ net7.0/.git/refs/heads/main net7.0/.git/config net7.0/.git/objects/ net7.0/.git/objects/info/ net7.0/.git/objects/pack/ net7.0/.git/objects/pack/pack-c347e88665f293288eb7efb0428a3fccdc39e66d.idx net7.0/.git/objects/pack/pack-c347e88665f293288eb7efb0428a3fccdc39e66d.pack net7.0/.git/info/ net7.0/.git/info/exclude net7.0/.git/index net7.0/.git/description net7.0/.git/branches/ net7.0/.git/logs/ net7.0/.git/logs/HEAD net7.0/.git/logs/refs/ net7.0/.git/logs/refs/remotes/ net7.0/.git/logs/refs/remotes/origin/ net7.0/.git/logs/refs/remotes/origin/HEAD net7.0/.git/logs/refs/heads/ net7.0/.git/logs/refs/heads/main net7.0/Microsoft.Extensions.FileProviders.Physical.dll net7.0/AceSearch.pdb net7.0/.gitignore net7.0/README.md net7.0/src/ net7.0/src/AceSearch.csproj net7.0/src/ToDateTimeConverter.cs net7.0/src/Settings.cs net7.0/src/TrimmingJsonConverter.cs net7.0/src/appsettings.json net7.0/src/Channels.cs net7.0/src/Program.cs net7.0/AceSearch.dll net7.0/Microsoft.Extensions.Configuration.Abstractions.dll net7.0/Microsoft.Extensions.Configuration.Json.dll net7.0/Microsoft.Extensions.Configuration.FileExtensions.dll net7.0/AceSearch.deps.json net7.0/Microsoft.Extensions.Primitives.dll net7.0/appsettings.json net7.0/dockerfile net7.0/Microsoft.Extensions.Configuration.Binder.dll net7.0/AceSearch.sln net7.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll
Сейчас попробую сгенерировать плейлист.
В файле конфигурации надо поправить "aceStreamEngineUrl": "http://127.0.0.1/:6878", убрать слеш после ip иначе ошибка при соединении с сервером. Ну и то что плейлист создался за 3 сек говорит о том что он не корректен. Потому как каждый channel id определяется через запрос а на 2500 каналов это нужно время. Если конечно вы не нашли способ как это реализовать без запроса? Судя по коду { var url = $"{urlEngine}/server/api?method=get_content_id&infohash={infoHash}";
using var handler = new HttpClientHandler();
handler.ServerCertificateCustomValidationCallback =
HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;
using var client = new HttpClient(handler);
var json = await client.GetStringAsync(url);
var jsonObj = JObject.Parse(json);
var chanelId = Convert.ToString(jsonObj["result"]?["content_id"]);
return chanelId;
}
Все таки через запрос
у меня плэйлист по запросу http://127.0.0.1:6878/playlist/get?format=json, выдается пустой, поэтому каждый channel id определяю через запрос.
пробовал одним запросом вытянуть как в вики написано, никак:(
у меня плэйлист по запросу http://127.0.0.1:6878/playlist/get?format=json, выдается пустой, поэтому каждый channel id определяю через запрос.
Почему тогда в сформированном плейлисте все таки отражается infoHash?
as.joson
{ "name": ".Black", "url": "be198e53c920d08d3567a4da873d71c16de74266", "cat": "movies" },
плейлист
acestream://be198e53c920d08d3567a4da873d71c16de74266
файл в новом формате, по умолчанию f.as.a.m3u, старые остались как были
Там всего 15 каналов
это, рабочие по избранному списку, остальное поменяю позже
главное этот плейлист рабочий?
это, рабочие по избранному списку, остальное поменяю позже
То есть по общему плейлисту по id не формируется? только из тех каналов что в избранном?
пока Да
пока Да
3 канала из 15 только показывают.. Armenia TV Cartoon network Nat Geo Wikd HD
infoHash не работает теперь совсем?
infoHash не работает теперь совсем?
Я если честно не знаю как их посмотреть.
пока Да
3 канала из 15 только показывают.. Armenia TV Cartoon network Nat Geo Wikd HD
Может старая версия движка?
Я изначально это плэйлист генератор затачивал на проксю от пепсика, там он инфохэш понимал и сам id получал
Я изначально это плэйлист генератор затачивал на проксю от пепсика, там он инфохэш понимал и сам id получал
Такой формат понимает drm-play собственно на нем и смотрю.
попробую на неделе обновить движок на более новую версию, может с ней прокатит. Возился с версией 3.1.80, пытался под линуксом запустить, уперся в проблему с зависимостями, попробую теперь 3.1.74
попробую на неделе обновить движок на более новую версию, может с ней прокатит. Возился с версией 3.1.80, пытался под линуксом запустить, уперся в проблему с зависимостями, попробую теперь 3.1.74
поменял в настройках на ip телефона, ни чего не поменялось( на телефоне 3.2.1.0) Хотя нет еще один показывает, но он идет с тормозами. Так что от движка только 1 +
может что еще поменялось, я изначально получаю список каналов тут: https://api.acestream.me/all?api_version=1.0&api_key=test_api_key потом по каждому каналу через инфохэш и движок вытягиваю channel id
А еще такой вопрос, после того как отработал докер контейнер он нам по сути не нужен, Ведь все необходимые файлы для работы находятся в директории которую мы указали в
А еще такой вопрос, после того как отработал докер контейнер он нам по сути не нужен, Ведь все необходимые файлы для работы находятся в директории которую мы указали в при запуске контейнера?
нет не нужен, его задача сбилдить
Можно проверить плейлист? f.as.a.zip
Можно проверить плейлист? f.as.a.zip Bp 44 каналов только 20 показывают. А если через новый движок то только 7 не показывают.
А а в плейлисте, который скрипт AceStreamSearchEngineIDAuto.zip генерит, там все показывает?
А а в плейлисте, который скрипт AceStreamSearchEngineIDAuto.zip генерит, там все показывает?
Я вчера сгенерировал на 2700 каналов, там много не нужного шлака и тоже нет 100% рабочих. Сейчас попробовал через новый движок. И статистика такая, из 10 каналов 9 показывает..
выложил последнюю версию
выложил последнюю версию
А движок Ace Stream не удалось обновить?
времени пока не было, закончу с генератором плейлиста, займусь им
времени пока не было, закончу с генератором плейлиста, займусь им
Я нашел версию 3.1.80 но у меня не заработала.
Удалось запустить версию движка 3.2.1(раньше даже не запускалась), но возникает такая вот ошибка:
File "ACEStream/Core/Utilities/utilities.py", line 1946, in load_module File "/home/anton/.local/share/python-for-android/build/other_builds/python3/x86__ndk_target_21/python3/Lib/importlib/__init__.py", line 127, in import_module File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "<frozen importlib._bootstrap>", line 991, in _find_and_load File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 671, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 783, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/anton/.local/share/python-for-android/build/python-installs/unnamed_dist_1/psutil/__init__.py", line 99, in <module> File "/home/anton/.local/share/python-for-android/build/python-installs/unnamed_dist_1/psutil/_pslinux.py", line 26, in <module> ImportError: dlopen failed: cannot locate symbol "getifaddrs" referenced by "/acestream.engine/lib/psutil/_psutil_linux.so"...
далее вот такая вот ошибка:
Failed to establish a new connection: [Errno 7] No address associated with hostname')'
getifaddrs это функция libc.so, такая проблема возникает на всех версиях начиная с 3.1.80. Перепробовал разные варианты, пока не знаю куда дальше копать((
Перепробовал разные варианты, пока не знаю куда дальше копать((
Не получилось решить проблему с зависимостями?
Нет, не получается
Возможно ли реализовать формирование плейлиста не по infohash а по channel id ? Такого вида
EXTM3U
EXTINF:-1
acestream://0e194ff22eda4976eb4cac8fc3d9942e8b223af5
EXTINF:-1
acestream://f4fbf1c1f58b77f1343675b0aeb7b1c22feebbbd
EXTINF:-1
acestream://f1fe45c8d5f58301c74dde7acaf4db13e497b586
EXTINF:-1
acestream://e177586ae336f410e95e784348e4a1f7a82e0952
EXTINF:-1
acestream://3dba401ca5f2508ddfa955333e233d40d7f3572e