Медиа-Сервер

Вот то, что внутри тега “code” в прошлом сообщении - скопировать целиком, вставить в текстовый файл, изменить последнюю строку (путь) “под себя” (обращая внимание на двойные слеши), переименовать полученный файл в “ace.reg”, и дважды по нему кликнуть.

@Benny если можно, для особо одаренных, в моем случае, это правильно?

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\acestream]
@=“Ace Stream protocol”
“URL Protocol”=""

[HKEY_CURRENT_USER\Software\Classes\acestream\shell]
@=“open”

[HKEY_CURRENT_USER\Software\Classes\acestream\shell\open]

[HKEY_CURRENT_USER\Software\Classes\acestream\shell\open\command]
@="“C:\Program Files (x86)\SVP 4\mpv64\mpv.exe” “%1"”

не уверен, правильно ли использовал двойные слеши…

как на первый взгляд - да.

Небо…, Небо пусть осыпет дарами щедрыми и исполнит все желания ваши! :wink:

Подскажите как создать из ссылки формата CONTENT ID плейлист формата m3u для просмотра на ТВ. Пару месяцев назад делал так, открывал медиа-сервер, нажимал мои плейлисты, добавить контент и там добавлял ссылку CONTENT ID, и скачивал плейлист формата m3u, затем бовалял его в отт плеер и запускал на тв. Сейчас так делаю, но почему то плейлист скачивается пустой, возможно подзабыл как делать.

Добрый день! Появился такой функционал?
Загружаю в медиа сервер магнет-ссылку, создаю плейлист.
Смотрю на fork player на телеке.
Все отлично работает, если торрент из 1 файла. Если файлов много (например, торрент - сериал с кучей серий), то не запускает вообще. Проблема актуальная

“Добавление в медиа-сервер” лишнее. Просто пробуем в плеере открывать плейлист, состоящий из ссылок вида “http://IP:6878/ace/getstream?infohash=dd1e67078381739d14beca697356ab76d49d1a2d” или “http://IP:6878/ace/getstream?url=http://d.rutor.info/download/719284”, где IP - это адрес устройства с запущенным движком Ace Stream.

Открываю “http://IP:6878/ace/getstream?infohash=HASH” с раздачей сериала в VLC. Ссылка преобразуется в плейлист из ссылок вида “http://IP:6878/ace/getstream?infohash=HASH&_idx=ID”. При открытии любой ссылки из плейлиста движок сегфолтится.
Если в раздаче один файл, то ошибки нет.

Ок, за баг-репорт спасибо, но - о какой версии движка, на какой платформе и в каком окружении идет речь и где лог-файл?


acestream.log (97.6 КБ)

Спасибо, в логе явных аномалий нет, и под убунту/дебиан “При открытии любой ссылки из плейлиста движок сегфолтится” не подтверждается - т.е это явно что-то локальное, арчевое - по инфохешу 983C6D1CD920C2041FCC87183ECF0F182CE17874 сформирован плейлист, и этот плейлист нормально воспроизвелся.
Для проверки рекомендуем попробовать в Арче версию Ace Stream из докер или снап пакета.

версию Ace Stream из докер

В вики нет информации какой образ использовать. Пробовал https://hub.docker.com/r/sybdata/aceubase/, сегфолта нет.

Выхлоп gdb, если интересно

Thread 18 “acestreamengine” received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffab7fe640 (LWP 34325)]
0x00007fff901d33d0 in MediaInfoLib::MediaInfo::Open_Buffer_Init(unsigned long long, unsigned long long) () from /usr/lib/libmediainfo.so.0
(gdb) bt
#0 0x00007fff901d33d0 in MediaInfoLib::MediaInfo::Open_Buffer_Init(unsigned long long, unsigned long long) () from /usr/lib/libmediainfo.so.0
#1 0x00007fff9063f159 in MediaInfo_Open_Buffer_Init () from /usr/lib/libmediainfo.so.0
#2 0x00007ffff6834acd in ?? () from /usr/lib/libffi.so.7
#3 0x00007ffff683403a in ?? () from /usr/lib/libffi.so.7
#4 0x00007ffff64dd2f6 in _ctypes_callproc () from /usr/lib/python2.7/lib-dynload/_ctypes.so
#5 0x00007ffff64d55b0 in ?? () from /usr/lib/python2.7/lib-dynload/_ctypes.so
#6 0x00007ffff7e1b143 in PyObject_Call (func=0x7fff9185e050, arg=, kw=) at Objects/abstract.c:2544
#7 0x00007ffff7e2de60 in do_call (nk=, na=, pp_stack=0x7fffab7fc250, func=) at Python/ceval.c:4593
#8 call_function (oparg=, pp_stack=0x7fffab7fc250) at Python/ceval.c:4398
#9 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:3013
#10 0x00007ffff7e274e5 in PyEval_EvalCodeEx (co=0x7fffec0379b0, globals=, locals=, args=, argcount=, kws=, kwcount=0, defs=0x7fff93e1e6a8, defcount=2, closure=0x0) at Python/ceval.c:3608
#11 0x00007ffff7e3adec in function_call (func=func@entry=0x7fff9185b4d0, arg=0x7fff93e327d0, kw=0x0) at Objects/funcobject.c:523
#12 0x00007ffff7e1b143 in PyObject_Call (func=0x7fff9185b4d0, arg=, kw=) at Objects/abstract.c:2544
#13 0x00007ffff7e48337 in instancemethod_call (func=0x7fff9185b4d0, func@entry=0x7fff91907a00, arg=0x7fff93e327d0, kw=0x0) at Objects/classobject.c:2600
#14 0x00007ffff7e1b143 in PyObject_Call (func=0x7fff91907a00, arg=, kw=) at Objects/abstract.c:2544
#15 0x00007ffff1792cb5 in ?? () from /usr/lib/acestream-engine/lib/acestreamengine/CoreApp.so
#16 0x00007ffff1419824 in ?? () from /usr/lib/acestream-engine/lib/acestreamengine/CoreApp.so
#17 0x00007ffff164bbc8 in ?? () from /usr/lib/acestream-engine/lib/acestreamengine/CoreApp.so
#18 0x00007ffff1376787 in ?? () from /usr/lib/acestream-engine/lib/acestreamengine/CoreApp.so
#19 0x00007ffff17ff924 in ?? () from /usr/lib/acestream-engine/lib/acestreamengine/CoreApp.so
#20 0x00007ffff7e20305 in type_call (type=, type@entry=0x7ffff22b7700, args=0x7fffec1decd0, kwds=0x7fff91904cb0) at Objects/typeobject.c:765
#21 0x00007ffff7e1b143 in PyObject_Call (func=0x7ffff22b7700, arg=, kw=) at Objects/abstract.c:2544
#22 0x00007ffff7e297ad in ext_do_call (nk=, na=, flags=, pp_stack=0x7fffab7fcad8, func=0x7ffff22b7700) at Python/ceval.c:4690
#23 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:3052
#24 0x00007ffff7e274e5 in PyEval_EvalCodeEx (co=0x7ffff0836730, globals=, locals=, args=, argcount=, kws=, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3608
#25 0x00007ffff7e2e4b9 in fast_function (nk=0, na=, n=, pp_stack=0x7fffab7fcca0, func=) at Python/ceval.c:4471
#26 call_function (oparg=, pp_stack=0x7fffab7fcca0) at Python/ceval.c:4396
#27 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:3013
#28 0x00007ffff7e274e5 in PyEval_EvalCodeEx (co=0x7ffff0d51bb0, globals=, locals=, args=, argcount=, kws=, kwcount=1, defs=0x7ffff0b298d8, defcount=2, closure=0x0) at Python/ceval.c:3608
#29 0x00007ffff7e2df16 in fast_function (nk=1, na=, n=, pp_stack=0x7fffab7fce70, func=) at Python/ceval.c:4471
#30 call_function (oparg=, pp_stack=0x7fffab7fce70) at Python/ceval.c:4396
#31 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:3013
#32 0x00007ffff7e291ad in fast_function (nk=, na=, n=, pp_stack=0x7fffab7fcf80, func=) at Python/ceval.c:4461
#33 call_function (oparg=, pp_stack=0x7fffab7fcf80) at Python/ceval.c:4396
#34 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:3013
#35 0x00007ffff7e274e5 in PyEval_EvalCodeEx (co=0x7ffff07d1cb0, globals=, locals=, args=, argcount=, kws=, kwcount=0, defs=0x7ffff0d21828, defcount=1, closure=0x0) at Python/ceval.c:3608
#36 0x00007ffff7e2df16 in fast_function (nk=0, na=, n=, pp_stack=0x7fffab7fd150, func=) at Python/ceval.c:4471
#37 call_function (oparg=, pp_stack=0x7fffab7fd150) at Python/ceval.c:4396
#38 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:3013
#39 0x00007ffff7e274e5 in PyEval_EvalCodeEx (co=0x7ffff0d47130, globals=, locals=, args=, argcount=, kws=, kwcount=1, defs=0x7fff93e5e9c8, defcount=2, closure=0x7fff93b8d990)
at Python/ceval.c:3608
#40 0x00007ffff7e2df16 in fast_function (nk=1, na=, n=, pp_stack=0x7fffab7fd320, func=) at Python/ceval.c:4471
#41 call_function (oparg=, pp_stack=0x7fffab7fd320) at Python/ceval.c:4396
#42 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:3013
#43 0x00007ffff7e291ad in fast_function (nk=, na=, n=, pp_stack=0x7fffab7fd430, func=) at Python/ceval.c:4461
#44 call_function (oparg=, pp_stack=0x7fffab7fd430) at Python/ceval.c:4396
#45 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:3013
#46 0x00007ffff7e291ad in fast_function (nk=, na=, n=, pp_stack=0x7fffab7fd540, func=) at Python/ceval.c:4461
#47 call_function (oparg=, pp_stack=0x7fffab7fd540) at Python/ceval.c:4396
#48 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:3013
#49 0x00007ffff7e291ad in fast_function (nk=, na=, n=, pp_stack=0x7fffab7fd650, func=) at Python/ceval.c:4461
#50 call_function (oparg=, pp_stack=0x7fffab7fd650) at Python/ceval.c:4396
#51 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:3013
#52 0x00007ffff7e291ad in fast_function (nk=, na=, n=, pp_stack=0x7fffab7fd760, func=) at Python/ceval.c:4461
#53 call_function (oparg=, pp_stack=0x7fffab7fd760) at Python/ceval.c:4396
#54 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:3013
#55 0x00007ffff7e291ad in fast_function (nk=, na=, n=, pp_stack=0x7fffab7fd870, func=) at Python/ceval.c:4461
#56 call_function (oparg=, pp_stack=0x7fffab7fd870) at Python/ceval.c:4396
#57 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:3013
#58 0x00007ffff7e291ad in fast_function (nk=, na=, n=, pp_stack=0x7fffab7fd980, func=) at Python/ceval.c:4461
#59 call_function (oparg=, pp_stack=0x7fffab7fd980) at Python/ceval.c:4396
#60 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:3013
#61 0x00007ffff7e274e5 in PyEval_EvalCodeEx (co=0x7ffff72d1830, globals=, locals=, args=, argcount=, kws=, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3608
#62 0x00007ffff7e3adec in function_call (func=func@entry=0x7ffff719cdd0, arg=0x7ffff08cf650, kw=0x0) at Objects/funcobject.c:523
#63 0x00007ffff7e1b143 in PyObject_Call (func=0x7ffff719cdd0, arg=, kw=) at Objects/abstract.c:2544
#64 0x00007ffff7e48337 in instancemethod_call (func=0x7ffff719cdd0, func@entry=0x7ffff07e62d0, arg=0x7ffff08cf650, kw=0x0) at Objects/classobject.c:2600
#65 0x00007ffff7e1b143 in PyObject_Call (func=0x7ffff07e62d0, arg=, kw=) at Objects/abstract.c:2544
#66 0x00007ffff7e31c74 in PyEval_CallObjectWithKeywords (func=0x7ffff07e62d0, arg=0x7ffff7a08050, kw=) at Python/ceval.c:4245
#67 0x00007ffff7ea8878 in t_bootstrap (boot_raw=0x5555567f4770) at ./Modules/threadmodule.c:620
#68 0x00007ffff7ea8815 in pythread_wrapper (arg=) at Python/thread_pthread.h:178
#69 0x00007ffff7ba73e9 in start_thread () from /usr/lib/libpthread.so.0
#70 0x00007ffff7cc0293 in clone () from /usr/lib/libc.so.6

За дополнительную информацию спасибо, по многочисленным просьбам /задолбали, да/ решили собрать Python v3.х версию движка, а там заодно и часть сторонних библиотек обновится до актуальных версий, так что проверять работу в арче будем уже в новой версии, видимо.

Прекрасная новость! Спасибо, будем ждать всем AUR-ом :slight_smile:

Подскажите - у меня в настройках сервера стоит галка “Automatic sync”. При каждой перезагрузке движка у меня устанавливаются старые (неактуальные) настройки плейлиста. Я его удаляю, но после перезагрузки он снова восстанавливается. Причём это и в Windows и в Linux (захожу под одним аккаунтом). Как сделать сохранение актуальных настроек при синхронизации?

Для начала проверить, нет ли ссылки на неактуальный плейлист в “Импортированных плейлистах” - если есть, то удалить сначала оттуда, затем проверить/почистить “Мои плейлисты”, и после можно принудительно нажать кнопку “Синхронизации” там же.

Если и после этого синхронизация работает “неадекватно” - то остановить движок, удалить/переименовать каталог “.AceStream” в домашнем профиле, и запустить движок снова - после этого все настройки будут сброшены, и нужно будет настроить требуемые параметры и логин/пароль заново.

Удаляю, чищу, но после синхронизации (неважно по нажатию кнопки или после перезагрузки компьютера) все настройки восстанавливаются. .AceStream удалял и движок переустанавливал.

Ace Stream логин (почта) тот же, что и на форуме? У этого аккаунта сейчас бесплатный тариф, может быть, с этим связано - нужно уточнить.

Да. Тот же.