Архив форума Ace Stream       Wiki        Info

перейти на новый форум
Расширенный поиск  

Автор Тема: Ace Stream Player source code и бинарные билды  (Прочитано 18229 раз)

0 Пользователей и 1 Гость смотрят эту тему.

j.cryton

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9

Решил покопаться в исходном коде Acestream плеера.
http://oldforum.acestream.media/index.php?topic=2970.0

Вот что из этого получилось:







вывод плера при запуске из консоли:





Сейчас у себя пользуюсь версий основанной на VLC-2.2-git (v2.2.8 от 2018-07-24)
Преймущество версии на более новом vlc очевидны.
Эот возможность линковки как с ffmpeg-2 так и с ffmpeg-3, а также
использование актуальной libgcrypt.so.20.

Пару слов об исходном коде на https://bitbucket.org/AceStream/acestreamplayer

Если использовать последнюю версию патчей (последний коммит), то
при сборке версий 2.1.5 2.1.6 наблюдается баг:
После запуска плеера, при попытке скормить ему acestreamID или открытии плейлиста - плеер крашиться с ошибкой 'std::bad_alloc'.
Природа этой ошибки точно подмечена здесь https://stackoverflow.com/questions/32666285/regarding-instance-of-stdbad-alloc
Полность убирает эту ошибку откат на 4 коммита назад:

git clone https://bitbucket.org/AceStream/acestreamplayer.git
git checkout efae1b2c7383b202dc48a992d191119651be2414
или HEAD~4

После этого отката полученные патчи, можно наложить на версии 2.1.5 и 2.1.6
И все три версии: 2.1.4 2.1.5 2.1.6 начинают работать одинаково стабильно.

Но версии vlc-2.1.x имеют зависимости от старых библиотек ffmpeg и libgcrypt, поэтому
версии 2.2.x будут куда поинтересней.
Последняя версия VLC-2.2-git v2.2.8 от 2018-07-24 весьма еще актуальна.
Взяв патчи от коммита efae1b2c7383b202dc48a992d191119651be2414 - я переработал их для версии VLC-2.2
Дополнительно добавил патчи для VLC от gentoo.

Полученные исходные коды можно взять здесь:

https://github.com/Jcryton/acestreamplayer-2.1
https://github.com/Jcryton/acestreamplayer-2.2

Готовые бинарные пакеты здесь:
https://github.com/Jcryton/acestreamplayer-2.1
https://github.com/Jcryton/acestreamplayer-2.2

Версии 2.2.4-2.2.7 при сборке слинкованы с ffmpeg 2.8.10
Версия 2.2.8 и v2.2.8-git от 2018-07-24 при сборке слинкованы с ffmpeg 2.8.10 и с ffmpeg 3.3 на выбор
Нужную версию можно выбрать в разделе Release.

Так как я использую gentoo - deb пакеты делать не стал.
При желании вы можете их сделать из бинарных билдов используя зависимости взятые от ебилдов gentoo.
https://gitweb.gentoo.org/repo/gentoo.git/tree/media-video/vlc/vlc-2.2.8.ebuild?id=df3878d5f0c142965f05030c8e57ee4711b474d6

Пользуйтесь на здоровье.




« Последнее редактирование: 09 Июня 2019, 23:55:02 от j.cryton »
Записан

Benny

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 666
Re: Ace Stream Player source code и бинарные билды
« Ответ #1 : 10 Июня 2019, 01:10:08 »

j.cryton,
спасибо за проделанную работу.

Есть пару вопросов, а именно:
- закрывает ли эта сборка баг, описанный в (падения при навигации по плейлисту Вперёд-Назад)?
- поддерживается ли H265/HEVC кодек (HDR вроде как только с 3 версии сами VLC-тим поддерживают)?
- нет ли желания "заодно" собрать и под винду бинарник?
Записан

j.cryton

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Ace Stream Player source code и бинарные билды
« Ответ #2 : 11 Июня 2019, 04:45:52 »

Да, поддержка  H.265/HEVC в ffmpeg 2.8.10 и в vlc v2.2.4-v2.2.8 есть.
Соответственно в  Acestrem Player v2.2.4 - v2.2.8 тоже есть.
https://trac.ffmpeg.org/wiki/Encode/H.265



В версии 2.1.4-2.1.6 и в ffmpeg 1.2.10 поддержки H.265/HEVC нет.



Я бывает листаю каналы один за другим, стоп и плей не нажимаю при этом.
Вылетов не происходило.
Вчера попробовал добавить несколько музыкальных файлов в список воспроизведения и всплыл этот баг.

Баг профиксил. Исходники на гитхабе обновил.
Билды без этого бага тут:

https://github.com/Jcryton/acestreamplayer-2.2/releases/tag/v2.2.8-rc2
https://github.com/Jcryton/acestreamplayer-2.2/releases/tag/v2.2.8.1-rc2

Сделать версию под windows в ближайшее время нет возможности.
« Последнее редактирование: 11 Июня 2019, 04:49:23 от j.cryton »
Записан

j.cryton

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Ace Stream Player source code и бинарные билды
« Ответ #3 : 11 Июня 2019, 15:55:24 »

Природа этого бага оказалась очень простая.
В input_manager,cpp input_manager,hpp были добавлены новые события и сигнылы для p2p.
В vlc. в обработчике событий QEvent была отладочная функиция assert(0), которая реагировала на неопознанный сигнал.
В vlc этих сигналов и событий нет - поэтому он не останавливался в отличие от acestream player.
Aseert(0) ставят для отладки и обычно убирают макросом NDEBUG.
http://www.c-cpp.ru/content/assert

Для acestream player отладочная функция Aseert(0) не нужна, событие отработается в другом месте,
А отладочный аварийный останов из-за дополнительного сигнала совершенно не нужен.
Записан

j.cryton

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Ace Stream Player source code и бинарные билды
« Ответ #4 : 14 Июня 2019, 18:39:56 »

Сделал пакеты для Ubuntu 18.04 Bionic.



UPD:

Добавил пакеты для последней версии Debian 9.9 Stretch



Для запуска acestreamengine на Debian 9.9 Stretch нужно добавить две библиотеки libcrypto.so.1.0.0 и libssl.so.1.0.0 в  /usr/lib/x86_64-linux-gnu, а также установить пакет python-apsw. Для Ubuntu 18.04 потребуется только установка пакета  python-apsw

Пакеты тут:
https://github.com/Jcryton/acestreamplayer-2.2/releases
« Последнее редактирование: 15 Июня 2019, 16:23:10 от j.cryton »
Записан

j.cryton

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Ace Stream Player source code и бинарные билды
« Ответ #5 : 14 Июля 2019, 13:34:20 »

На основе мануала: https://wiki.videolan.org/Win32Compile/ - сделал acestreamplayer версий 2.1.4 и 2.1.6 для windows.
Хост - gentoo, гостевая система ubuntu.
contrib компилировался вручную несколько часов.



Запускаем, выбираем Direct3D в настройках: и пользуемся


Тестировал на windows 7 32-bit.

Скачать можно отсюда:

https://github.com/Jcryton/acestreamplayer-2.1

https://github.com/Jcryton/acestreamplayer-2.1/releases


Записан

j.cryton

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Ace Stream Player source code и бинарные билды
« Ответ #6 : 20 Июля 2019, 14:02:53 »

Я кстати ошибался. Когда собирал contib - увидел наличие файлов для поддержки HEVC/H.265

После сборки плеера открыл файл в формате hevc. Все прекрасно работает.
Так что в версиях 2.1.4 2.1.5 2.1.6 поддержка HEVC/H.265 есть.


Сделал отдельный git для contib
https://github.com/Jcryton/ace-contrib/tree/master/2.1

Теперь сборка под windows сводится всего лишь к двум скриптам:
./win32prepare.sh
./win32build.sh

На выходе готовый архив с плеером для windows.

Подробнее тут:
https://github.com/Jcryton/acestreamplayer-2.1/blob/master/README.md
Записан

j.cryton

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Ace Stream Player source code и бинарные билды
« Ответ #7 : 24 Июля 2019, 17:18:17 »

Сделал версии 2.2.6, 2.2.8, 2.2.8.1 (vlc-2.2.git от 24-Jul-2018) для windows.



Поддержка Hevc естественно присутствует:


Готовые билды:
https://github.com/Jcryton/acestreamplayer-2.2/releases/tag/v2.2.6-win32-rc1
https://github.com/Jcryton/acestreamplayer-2.2/releases/tag/v2.2.8-win32-rc1
https://github.com/Jcryton/acestreamplayer-2.2/releases/tag/v2.2.8.1-win32-rc1
Просто распаковываем архив в удобном месте и запускаем плеер. Движок запуститься автоматически, (если он установлен). С версиями 2.1.4 и 2.1.6 - аналогично.

Собрать плеер можно самому запустив по очереди два скрипта, по аналогии с версиями 2.1.4 и 2.1.6.
Более подробно тут:
https://github.com/Jcryton/acestreamplayer-2.2/blob/master/README.md

Первоначально, когда делал версию под линукс, даже не думал что буду делать версию для windows.
Ну раз попросили - сделал.
Приятного просмотра.
Записан

Constantin

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1757
    • Torrent Stream
Re: Ace Stream Player source code и бинарные билды
« Ответ #8 : 26 Июля 2019, 11:16:59 »

j.cryton, Спасибо вам за инициативу и сделанную работу!

Помимо "Спасибо" мы хотели бы вам еще выразить свою благодарность материальным поощрением.  ;)

Подробности, в личку...
Записан

j.cryton

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Ace Stream Player source code и бинарные билды
« Ответ #9 : 29 Июля 2019, 02:59:56 »

Спасибо. Написал в ЛС.
Записан