1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/nljb-xplay

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

xplay

Специализированный мультимедийный проигрыватель, разработанный для Raspberry Pi и поддерживающий Windows, Linux и Android.


Поддерживает видео, аудио, потоковое мультимедиа, изображения, камеру, анимацию, текст, субтитры прокрутки, дату и время, QR-коды.

image image


Для использования мультимедийного проигрывателя xplay требуется система Raspberry Pi OS (Legacy) с рабочим столом, поскольку она поддерживает VideoCore IV.


Облачный мультимедийный проигрыватель uplay, который можно централизованно управлять на устройствах Win, Linux, ARM. uplay не является бесплатным, для связи обращайтесь по QQ328292201.

image


Поддерживаемое оборудование

Оборудование Режим Разрешение FPS Тестирование
Raspberry Pi Zero OMX (рекомендуется) / DRM 1080p/v720p 30 Протестировано
Raspberry Pi Zero 2 OMX (рекомендуется) / DRM 1080p/v720p 30 Протестировано
Raspberry Pi 2 Model B OMX (рекомендуется) / DRM 1080p/v720p 30 Протестировано
Raspberry Pi 3 Model B OMX (рекомендуется) / DRM 1080p/v720p 30 Протестировано
Raspberry Pi 3 Model A+ OMX (рекомендуется) / DRM 1080p/v720p 30 Протестировано
Raspberry Pi 3 Model B+ OMX (рекомендуется) / DRM 1080p/v720p 30 Протестировано
Raspberry Pi 4 Model B DRM (рекомендуется) / X11 1080p/【двойной】 30 Протестировано
Система Android DRM - - Настраивается
Система Linux DRM / X11 github / gitee - Протестировано
Система Windows Microsoft Direct3D github / gitee - Протестировано

Теоретически поддерживается всё оборудование Raspberry Pi, но протестированы только перечисленные выше модели.


Поддерживаемые системы

Версия системы Дата выпуска Программа установки Версия программы Состояние тестирования
Raspberry Pi OS (Legacy) with desktop 2024-03-12 raspios/ v1.0.22.v20220406 Ожидает тестирования
Raspberry Pi OS (Legacy) with desktop 2023-12-05 raspios/ Протестирована
Raspberry Pi OS (Legacy) with desktop 2023-10-10 raspios/ Протестирована
Raspberry Pi OS with desktop 2023-10-10 raspios/ Не поддерживается
Raspberry Pi OS (Legacy) with desktop 2023-05-03 raspios-legacy/ Ожидает тестирования
Raspberry Pi OS with desktop 2023-05-03 raspios/ Ожидает тестирования
Raspberry Pi OS (Legacy) with desktop 2023-02-21 raspios-legacy/ Ожидает тестирования
Raspberry Pi OS with desktop 2023-02-21 raspios/ Ожидает тестирования
Raspberry Pi OS (Legacy) with desktop 2022-09-22 raspios-legacy/ v1.0.22.v20220406 Протестирована
Raspberry Pi OS with desktop 2022-09-22 raspios/ v1.0.22.v20220406 Протестирована
Raspberry Pi OS (Legacy) with desktop 2022-09-06 raspios-legacy/ Протестирована
Raspberry Pi OS with desktop 2022-09-06 raspios/ Протестирована
Raspberry Pi OS (Legacy) with desktop 2022-04-04 raspios-legacy/ Протестирована
Raspberry Pi OS with desktop 2022-04-04 raspios/ Протестирована
Raspberry Pi OS (Legacy) with desktop 2022-01-28 raspios-legacy/ Протестирована
Raspberry Pi OS with desktop 2022-01-28 raspios/ Протестирована
Raspberry Pi OS (Legacy) with desktop 2021-12-02 raspios-legacy/ Протестирована
Raspberry Pi OS with desktop 2021-10-30 raspios/ Протестирована
Raspberry Pi OS with Lite 2021-10-30 Несовместима
Raspberry Pi OS with desktop 2021-05-07 buster/ v1.0.21.v20210806 Протестирована
Raspberry Pi OS with Lite 2021-05-07 buster-lite/ v1.0.21.v20210806 Протестирована
Raspberry Pi OS with desktop 2021-03-04 buster/ Протестирована
Raspberry Pi OS with Lite 2021-03-04 buster-lite/ Протестирована
Raspberry Pi OS with desktop 2021-01-11 buster/ Протестирована
Raspberry Pi OS with Lite 2021-01-11 buster-lite/ Уже протестировано
ОС Raspberry Pi с рабочим столом 2020-12-02 buster/ Уже протестировано
ОС Raspberry Pi Lite 2020-12-02 buster-lite/ Уже протестировано
ОС Raspberry Pi с рабочим столом 2020-08-20 buster/ Уже протестировано
ОС Raspberry Pi Lite 2020-08-20 buster-lite/ Уже протестировано
ОС Raspberry Pi с рабочим столом 2020-05-27 buster/ Уже протестировано
ОС Raspberry Pi Lite 2020-05-27 buster-lite/ Уже протестировано
Raspbian Buster с рабочим столом 2020-02-13 buster/ Уже протестировано
Raspbian Buster Lite 2020-02-13 buster-lite/ Уже протестировано
Raspbian Buster с рабочим столом 2019-09-26 buster/ v1.0.1.v20191105 Уже протестировано
Raspbian Buster Lite 2019-09-26 buster-lite/ v1.0.1.v20191105 Уже протестировано

Структура каталога

/usr/bin/xplayrun — запуск скрипта (можно настроить параметры запуска)
/usr/bin/xplay — основная программа
/usr/bin/xplayctl — инструмент командной строки
/etc/xplay/log4qt.properties — файл конфигурации логов
/etc/xplay/simsun.ttc — шрифт по умолчанию
/etc/xplay/xplay.pid — идентификатор процесса во время выполнения
/etc/ld.so.conf.d/00-xplay.conf — указание на файлы библиотек
/usr/local/lib/... — каталог файлов связанных библиотек

Поддерживаемые функции

  1. Можно настраивать разрешение и частоту кадров (FPS) проигрывателя, а также адаптировать частоту дискретизации аудиосигнала (Sample Rate).
  2. Можно использовать TCP-соединение для отправки команд проигрывателю (воспроизведение, наложение, остановка, перемещение и т. д.).
  3. Можно воспроизводить различные типы материалов: видео, аудио, потоковое мультимедиа, изображения, данные с камеры, анимацию, текст, субтитры с прокруткой, дату и время, QR-коды.
  4. Поддерживаются различные форматы видео (например, MP4, AVI, MOV и др.), аудио (AAC), потокового мультимедиа (RTMP, RTSP, HTTP, H264/H265 (YUV420P/YUVJ420P)).
  5. Поддерживается воспроизведение видео с жёстким декодированием (MMAL, VAAPI, VDPAU, QSV, MediaCodec, RKMPP, NVDEC) и H264.
  6. Поддерживаются форматы изображений JPG и PNG.
  7. Поддерживается формат анимации GIF.
  8. Поддерживается многопоточное и однопоточное декодирование видео.
  9. Поддерживается предварительное буферизация видео.
  10. Поддерживается синхронизация видео по времени кадра и по часам.
  11. Поддерживается использование камеры Raspberry Pi Camera V2.
  12. Поддерживается переключение между чёрным экраном и видео без чёрного экрана.
  13. Поддерживается последовательное воспроизведение видео.
  14. Поддерживается синхронизация аудио и видео по меткам времени.
  15. Поддерживается синхронизация видео и часов по меткам времени.
  16. Поддерживается многослойное (Overlay) воспроизведение различных типов материалов.
  17. Можно настраивать текст (размер шрифта, цвет шрифта, цвет фона, прозрачность, выравнивание, стиль, количество строк в абзаце).
  18. Можно настраивать субтитры с прокруткой (размер шрифта, цвет шрифта, цвет фона, прозрачность, стиль, скорость перемещения, направление перемещения).
  19. Можно настраивать информационные окна (текст уведомления, статусные сообщения success, warning, error).
  20. Можно настраивать отображение даты и времени (размер шрифта, цвет шрифта, цвет фона, выравнивание, стиль).
  21. Можно настраивать шрифты (с помощью пользовательских шрифтов TTC можно создавать различные эффекты текста).
  22. Можно настраивать макеты (многослойный режим позволяет создавать разнообразные макеты).
  23. Можно настроить, будет ли видео зацикливаться после окончания воспроизведения.
  24. Можно настраивать размеры материалов (ширина, высота), чтобы растягивать или сжимать материалы до нужного размера.
  25. Можно задавать положение материалов на экране (координаты x, y), чтобы размещать материалы в нужном месте.
  26. Можно перемещать материалы на экране и изменять их размер (ширину, высоту).
  27. Можно поворачивать материалы на экране на 90 градусов по горизонтали и вертикали.
  28. Можно задать время начала воспроизведения материалов для синхронизации между несколькими проигрывателями.
  29. Есть функция мгновенного снимка экрана (скриншот).
  30. Есть возможность отключить звук при воспроизведении.

Установка

1. Установка программы (инструкция по установке)

Обратите внимание: программу следует устанавливать от имени пользователя ROOT, после установки рекомендуется перезагрузить Raspberry Pi, затем запустить программу.

Скачайте:

git clone https://github.com/nulijiabei/xplay.git # (последняя версия из ветки Master)
git clone https://github.com/nulijiabei/xplay.git -b v1.0.22.v20220406 # (последнюю версию можно найти по тегам)
или
git clone https://gitee.com/nljb/xplay.git # (последняя версия из ветки Master)
git clone https://gitee.com/nljb/xplay.git -b v1.0.22.v20220406 # (последнюю версию можно найти по тегам)

Установите:

Установка Фреймворк Аппаратное обеспечение Операционная система Примечание
raspios/rpi_drm_install.sh DRM Raspberry Pi 34 ОС Raspberry Pi с рабочим столом Рекомендуется только для полноэкранного режима
raspios/rpi_x11_install.sh X11 Raspberry Pi 4 ОС Raspberry Pi с рабочим столом Только для рабочего стола (можно сделать оконным)
cd xplay/raspios/
sh -x rpi_drm_install.sh или sh -x rpi_x11_install.sh

2. Запуск программы

Параметр По умолчанию Описание
-R x,y,width,height 0,0,1920,1080 Разрешение экрана
-fps n 30 Частота кадров
-noloop Нет Останавливается ли проигрыватель после завершения воспроизведения
-buflen 16 Длина буфера
-mute Нет Отключить звук
-nosync Нет Выключить все виды синхронизации
-nasync Нет Синхронизировать только часы, отключить синхронизацию аудио
-version Нет Версия программы
-cpuid Нет Идентификатор процессора
-playing Нет Тестирование воспроизведения
-welcome Нет Пользовательское приветственное окно

Обратите внимание: рекомендуется запускать программу от имени пользователя ROOT или с правами пользователя ROOT. В противном случае не будут созданы необходимые файлы состояния.

// Разрешение экрана 1920x1080 (по умолчанию)
// Частота кадров 30 кадров в секунду (по умолчанию)
export LD_LIBRARY_PATH=/usr/local/lib/
/usr/bin/xplay

// Разрешение экрана 1920x1080
// Частота кадров 30 кадров в секунду
// (если не указано иное, используются значения по умолчанию)
export LD_LIBRARY_PATH=/usr/local/lib/
/usr/bin/xplay -R 0,0,1920,1080 -fps 30

3. Тестирование воспроизведения

// Тестовый материал
cp autotest/yiyezi.mp4 /root/yiyezi.mp4
// Тестирование воспроизведения
export LD_LIBRARY_PATH=/usr/local/lib/
/usr/bin/xplay -playing /root/yiyezi.mp4
``` **4. Просмотр журнала**

tail -n 100 /dev/shm/xplay.log


**Частые проблемы**

**1. Ошибка нехватки памяти**

// Эта ошибка указывает на нехватку памяти, пожалуйста, увеличьте память mmal: mmal_vc_port_enable: failed to enable port vc.ril.video_decode:out:0(I420): ENOMEM mmal: mmal_port_enable: failed to enable port vc.ril.video_decode:out:0(I420)(0xca5070) (ENOMEM) mmal: mmal_port_disable: port vc.ril.video_decode:out:0(I420)(0xca5070) is not enabled


> Скрипт установки по умолчанию уже настроил для вас память, после установки перезагрузите Raspberry Pi.

| Файл | Настройка | Описание |
| --- | --- | --- |
| /boot/config.txt | gpu_mem=256 (выделение памяти GPU не менее 192M) | Вступает в силу после перезагрузки |

> Примечание: тестирование показало, что при воспроизведении видео 720P требуется не менее 192 МБ памяти, а при воспроизведении 1080P — не менее 256 МБ или больше !!!

**2. Настройки звука**

> Настройка файла конфигурации (/etc/asound.conf) для указания режима вывода звука

// 0:3.5MM | 1:HDMI defaults.pcm.card 0 defaults.pcm.device 0 defaults.ctl.card 0


> Если во время использования возникает проблема со звуком, можно попробовать следующие решения:
1. Обновите систему до последней версии

sudo apt update sudo apt upgrade sudo reboot

2. Настройте режим микширования звука (/etc/asound.conf)

pcm.!default { type plug slave.pcm "dmixer" }

pcm.dmixer { type dmix ipc_key 1024 slave { pcm "hw:0,0" period_time 0 period_size 4096 buffer_size 8192 rate 48000 } bindings { 0 0 1 1 } }

ctl.dmixer { type hw card 0 }


---

**Управление воспроизведением**
* Установите TCP-соединение с проигрывателем через Socket API и отправьте команды на проигрыватель, чтобы получить ответ.
* Можно использовать различные языки программирования для разработки программы управления (Java, Python, C++, Golang и т. д.).
* Примечание: перед запуском примера программы сначала запустите основную программу xplay (/usr/bin/xplay).

[Пример на Golang](example/example.go)  
[Пример на Python](example/example.py)  
[Пример на Java](example/XplayCtl.java)  

---

**Инструменты командной строки**

[Инструмент командной строки xplayctl](example/xplayctl.go)  
[Сценарий на основе инструмента командной строки example_x1_xplayctl.sh](example/example_x1_xplayctl.sh)  
[Сценарий на основе инструмента командной строки example_x4_xplayctl.sh](example/example_x4_xplayctl.sh)

Пожалуйста, обратитесь к разделу «Команды» ниже, чтобы использовать следующие параметры командной строки:

| Параметр командной строки (base) | Значение по умолчанию | Описание |
| --- | --- | --- |
| -addr | 127.0.0.1:8700 | Сетевой адрес и порт |

| Параметр командной строки (type) | Описание |
| --- | --- |
| -play | Команда воспроизведения |
| -stop | Команда остановки |
| -move | Команда перемещения |
| -snap | Команда создания снимка экрана |
| -query | Команда запроса |
| -change | Команда изменения |

| Параметр командной строки (query) | Описание |
| --- | --- |
| -all | Запрос всех слоёв |

| Параметр командной строки (stop) | Значение по умолчанию | Дополнительные параметры | Описание |
| --- | --- | --- | --- |
| -start | -1 | Нет | Время остановки (мс) |
| -all | Нет | Нет | Остановить все слои |
| -ids | Нет | Нет | Остановить указанные слои |

| Параметр командной строки (move) | Значение по умолчанию | Дополнительные параметры | Описание |
| --- | --- | --- | --- |
| -zIndex | 10  | 0–999  | Слой |
| -rect   | 0,0,1920,1080  | left,top,width,height |   Размер и положение отображения материала |

| Параметр командной строки (change) | Значение по умолчанию | Дополнительные параметры | Описание |
| --- | --- | --- | --- |
| -zIndex | 10  | 0–999  | Слой |
| -newIndex | 0  | 0–999  | Слой |

| Параметр командной строки (snap) | Значение по умолчанию | Описание |
| --- | --- | --- |
| -path | snap.jpg | Путь сохранения снимка экрана |

| Параметр командной строки (play) | Значение по умолчанию | Дополнительные параметры | Описание |
| --- | --- | --- | --- |
| -start | -1 | Нет | Начальное время (мс) |
| -libName | Нет | video, pic, sequence, gif, qrcode, camera, text, scroll, datetime, toast | Тип материала |

| Параметр командной строки (sequence) | Значение по умолчанию | Дополнительные параметры | Описание |
| --- | --- | --- | --- |
| -zIndex        | 10            | 0–999                 | Слой |
| -rect          | 0,0,1920,1080 | left,top,width,height   | Размер и положение отображения материала |
| -screen_mode   | landscape     | landscape, portrait     | Режим горизонтального и вертикального экрана |
| -screen_rotate | 0             | 0, 180, 90, 270         | Угол поворота |
| -path          | Нет            | Материал пути 1, материал пути 2, материал пути 3,... | Несколько путей материалов разделены запятыми (,) |
| -duration      | 5             | Нет                      | Время воспроизведения невидеоматериалов (с) |

| Параметр командной строки (video) | Значение по умолчанию | Дополнительные параметры | Описание |
| --- | --- | --- | --- |
| -zIndex        | 10            | 0–999               | Слой |
| -rect          | 0,0,1920,1080 | left,top,width,height | Размер и положение отображения материала |
| -screen_mode   | landscape     | landscape, portrait   | Режим горизонтального и вертикального экрана |
| -screen_rotate | 0             | 0, 180, 90, 270       | Угол поворота |
| -path          | Нет            | Нет                    | Путь материала |
| -offset        | -1            | Нет                    | Смещение (мс) |
| -timeout       | -1            | Нет                    | Тайм-аут отключения (мс) | | Команда                  | Значение по умолчанию | Возможные значения | Описание                                                                       |
| ------------------------- | -------------------- | ------------------ | ----------------------------------------------------------------------------- |
| -path                     | 无                    | 无                   | Путь к материалам                                                              |
| -zIndex                   | 10                    | 0–999                | Уровень (слой)                                                                   |
| -rect                     | 0, 0, 1920, 1080       | left, top, width, height | Размеры и положение материала на экране                                          |
| -screen_mode              | landscape             | landscape, portrait | Режим экрана: горизонтальный или вертикальный                                    |
| -screen_rotate            | 0                     | 0, 180, 90, 270      | Угол поворота экрана                                                            |
| -content                  | 无                    | 无                    | Текстовое содержимое                                                             |

| Команда                  | Значение по умолчанию | Возможные значения | Описание                                                                       |
| ------------------------- | -------------------- | ------------------ | ----------------------------------------------------------------------------- |
| -device                   | /dev/video0           | 无                   | Адрес устройства                                                                |
| -camera_width             | 1280                  | 无                   | Ширина видео с камеры                                                           |
| -camera_height            | 720                   | 无                   | Высота видео с камеры                                                            |

| Команда                  | Значение по умолчанию | Возможные значения | Описание                                                                       |
| ------------------------- | -------------------- | ------------------ | ----------------------------------------------------------------------------- |
| -font_ttf                 | 无                    | 无                    | Указанный шрифт TrueType                                                        |
| -font_size                | 18                    | 12–72                | Размер шрифта                                                                    |
| -color                    | rgba(0, 128, 0, 100)   | 无                   | Цвет текста и его прозрачность                                                    |
| -bgcolor                  | rgba(0, 0, 0, 20)     | 无                   | Фон и его прозрачность                                                           |
| -align                    | center                | center, right, left | Выравнивание текста                                                               |
| -style                    | normal                | normal, bold, italic, underline, strikethrough | Стиль текста                                                                     |

| Команда                  | Значение по умолчанию | Возможные значения | Описание                                                                       |
| ------------------------- | -------------------- | ------------------ | ----------------------------------------------------------------------------- |
| -orientation              | horizontal            | horizontal, vertical | Направление перемещения                                                         |
| -speed                    | 1                     | Каждый кадр перемещается на указанное количество пикселей | Скорость перемещения                                                              |

| Команда                  | Значение по умолчанию | Возможные значения | Описание                                                                       |
| ------------------------- | -------------------- | ------------------ | ----------------------------------------------------------------------------- |
| -duration                 | 0                     | Без ограничения (0) | Время отображения (в секундах), если 0 — то бесконечно                           |

/usr/bin/xplayctl -h # 帮助 /usr/bin/xplayctl -stop -all # 停止 все слои /usr/bin/xplayctl -query -all # запросить все слои /usr/bin/xplayctl -stop -ids "10,11,12" # остановить указанные слои /usr/bin/xplayctl -snap -path

    zIndex: 10
    path: "/root/sample.mp4"
    offset: 5000
    left: 0
    top: 0
    width: 1920
    height: 1080
    screen_mode: "landscape"
    screen_rotate: 0  

| Потоковое воспроизведение видео | Описание |
| --- | --- |
| timeout | Таймаут при потере потока (мс) |

>Таймаут при потере потока: когда в потоке видео не удаётся получить данные, текущий декодер завершается. Состояние декодера можно запросить с помощью команды query.

params:
    path: "http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8"
    timeout: 5000
    height: 1080
    width: 1920
    left: 0
    top: 0
    screen_mode: "landscape"
    screen_rotate: 0
    zIndex: 10  

params:
    zIndex: 10
    path: "/root/cat.jpg"
    top: 0
    left: 0
    height: 1080
    width: 1920
    screen_mode: "landscape"
    screen_rotate: 0   

| Последовательное воспроизведение (sequence) | Описание |
| --- | --- |
| path | Несколько путей к материалам через запятую |
| duration | Время воспроизведения для материалов, отличных от видео (с) |

params:
    zIndex: 10
    path: "/root/a1.mp4,/root/b1.jpg,/root/a2.mp4,/root/b2.jpg"
    duration: 10
    top: 0
    left: 0
    width: 1920
    height: 1080
    screen_mode: "landscape"
    screen_rotate: 0    

| Последовательное воспроизведение (sequence) | Описание |
| --- | --- |
| deps[] | Данные последовательности |
| deps[].path | Путь к материалу |
| deps[].type | Соответствующий тип libName (video, pic) |
| deps[].duration | Время воспроизведения для материалов, отличных от видео (с) |

params:
    zIndex: 10
    top: 0
    left: 0
    width: 1920
    height: 1080
    screen_mode: "landscape"
    screen_rotate: 0     

deps:
    {
        duration: -1
        path: "/root/a1.mp4"
        type: "video"
    }

    {
        duration: 10
        path: "/root/b1.jpg"
        type: "pic"
    }

    {
        duration: -1
        path: "/root/a2.mp4"
        type: "video"
    }

    {
        duration: 10
        path: "/root/b2.jpg"
        type: "pic"
    }    

| Информационное всплывающее окно (toast) | Значение | Описание |
| --- | --- | --- |
| toast_type | notice, success, warning, error | Тип сообщения |
| duration | 0 (бессрочно) | Время отображения (с), закрывается по таймауту |

params:
    toast_type: "notice"
    duration: 5    

| Камера (camera) | Значение | Описание |
| --- | --- | --- |
| device | /dev/video0 | Адрес устройства |
| camera_width | 1280 | Ширина видео с камеры |
| camera_height | 720 | Высота видео с камеры |  

params:
    device: "/dev/video0"
    camera_width: 1280
    camera_height: 720
    top: 0
    left: 0
    width: 1920
    height: 1080
    screen_mode: "landscape"
    screen_rotate: 0      

| Текст (text) | Значение | Описание |
| --- | --- | --- |
| color     | rgba(0, 128, 0, 100) | Цвет и прозрачность текста |
| bgcolor   | rgba(0, 0, 0, 0)     | Цвет и прозрачность фона |
| font_ttf  | /etc/xplay/simsun.ttc | Указанный шрифт |
| font_size | 14                    | Размер шрифта |
| align     | center, right, left   | Выравнивание |
| style     | normal, bold, italic, underline, strikethrough | Стиль | | Тип | Описание |
| --- | --- |
| **Текст** |  
| \t | \t\t123,456,789\n987,654,321 | 
|  | Форматирование с помощью символа табуляции. |
| \n | ABC\nBCD | 
| | Форматирование с помощью переноса строки. |
| Пробел | ABCDEF ABCDEF ABCDEF | 
| | Текст переносится на следующую строку при превышении ширины строки, если есть свободное место. |

// Отображение текста { "type": "play", "id": "Z9_Play_1572344489512", "libName": "text", "start": -1, "params": { "top": 0, "left": 0, "width": 1280, "height": 50, "zIndex": 9, "screen_rotate": 0, "screen_mode": "landscape", "content": "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "color": "rgba(255, 0, 0, 100)", "bgcolor": "rgba(0, 0, 0, 0)", "font_size": 30, "align": "center", "style": "bold" } } #End


| **Прокрутка (scroll)** | Значение | Описание |
|---|---|---|
| Цвет | rgba(0, 128, 0, 100) | Цвет и прозрачность текста. |
| Фон | rgba(0, 0, 0, 0) | Цвет и прозрачность фона. |
| Шрифт TTF | /etc/xplay/simsun.ttc | Указанный шрифт. |
| Размер шрифта | 14 | Размер шрифта. |
| Стиль | normal, bold, italic, underline, strikethrough | Стиль текста. |
| Скорость | 1 (кадр перемещается вперёд на N пикселей) | Скорость перемещения. |
| Содержание | ABCDEFGHIJKLMNOPQRSTUVWXYZ | Содержимое текста. |
| Ориентация | горизонтальная, вертикальная | Направление перемещения. |

| **Параметры прокрутки** | Значение | Описание |
|---|---|---|
| Ширина | Вертикальная — действует / горизонтальная — не действует = screen.width | Действительность ширины. |
| Высота | Горизонтальная — действует / вертикальная — не действует = screen.height | Действительность высоты. |
| Левая сторона | Вертикальная — действует / горизонтальная — не действует = 0 | Действительность левой стороны. |
| Верхняя часть | Горизонтальная — действует / вертикальная — не действует = 0 | Действительность верхней части. |

// Отображение прокрутки { "type": "play", "id": "Z9_Play_1572344489512", "libName": "scroll", "start": -1, "params": { "top": 0, "left": 0, "width": 150, "height": 50, "zIndex": 5, "screen_rotate": 0, "screen_mode": "landscape", "content": "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "color": "rgba(255, 0, 0, 100)", "bgcolor": "rgba(0,128,0,80)", "font_size": 30, "orientation": "horizontal", "speed": 1 } } #End


| **Дата и время (datetime)** | Значение | Описание |
|---|---|---|
| Цвет | rgba(0, 128, 0, 100) | Цвет и прозрачность текста. |
| Фон | rgba(0, 0, 0, 0) | Цвет и прозрачность фона. |
| Шрифт TTF | /etc/xplay/simsun.ttc | Указанный шрифт. |
| Размер шрифта | 30 | Размер шрифта. |
| Выравнивание | center, right, left | Способ выравнивания. |
| Стиль | normal, bold, italic, underline, strikethrough | Стиль текста. |

// Отображение даты и времени { "type": "play", "id": "Z9_Play_1572344489512", "libName": "datetime", "start": -1, "params": { "top": 0, "left": 0, "width": 500, "height": 50, "zIndex": 9, "screen_rotate": 0, "screen_mode": "landscape", "color": "rgba(0, 128, 0, 100)", "bgcolor": "rgba(0, 0, 0, 20)", "font_size": 30, "align": "center", "style": "bold" } } #End


> Если анимация отображается неправильно, вы можете попробовать сохранить её заново в Photoshop.

// Отображение анимации { "id":"Z9_Play_1554437960000", "type":"play", "start":-1, "libName":"gif", "params":{ "zIndex":9, "path":"/root/aaa.gif", "top":0, "left":0, "height":100, "width":100, "screen_mode":"landscape", "screen_rotate":0 } } #End

// Отображение QR-кода { "id":"Z9_Play_1558837960000", "type":"play", "start":-1, "libName":"qrcode", "params":{ "zIndex":9, "content":"http://www.danoonetwork.com", "top":0, "left":0, "height":100, "width":100, "screen_mode":"landscape", "screen_rotate":0 } } #End

// Остановить все слои { "id":"Stop_1558837960000", "type":"stop", "start": -1, "params":{ "all":true } } #End

// Остановить указанные слои { "id":"Stop_1558837960000", "type":"stop", "start": -1, "params":{ "ids":[ "10", "11", "12" ] } } #End

// Перемещение позиции { "type":"move", "params":{ "zIndex":10,

| --- | --- | --- |
| zIndex | 0 - 999 | Слой |
| newIndex | 0 - 999 | Слой |  

>Когда целевой слой существует, исходный слой будет обмениваться с целевым слоем.  
>Если целевой слой не существует, исходный слой изменится на целевой слой.  

// Изменить слой { "type":"change", "params":{ "zIndex":10, "newIndex":11 } } #End

// Сделать снимок экрана { "type":"snap", "params":{ "path":"/dev/shm/snap.jpg" } } #End

// Запросить все слои { "type":"query", "params":{ "all":true } } #End

Запрос всех слоев (query) Описание
decoder Работает ли декодер

// Возвращаемый результат { "data":[ { "id":"PLAY_Z9_PIC_1591330423", "libName":"pic", "params":{ "height":600, "left":100, "path":":/welcome.jpg", "screen_mode":"portrait", "screen_rotate":270, "top":100, "width":800, "zIndex":9 } }, { "id":"PLAY_Z10_VIDEO_1591330410", "libName":"video", "params":{ "height":1080, "left":0, "path":"/root/yiyezi.mp4",
"screen_mode":"landscape", "screen_rotate":180, "top":0, "width":1920, "zIndex":10, "decoder":true } } ], "ok":true } #End


Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Данный мультимедийный проигрыватель разработан специально для Raspberry Pi и поддерживает системы Windows, Linux и Android. Он воспроизводит видео, аудио, потоковое мультимедиа, изображения, данные с камеры, анимацию, текст, а также поддерживает прокручивающиеся субтитры, дату и время, двухмерные коды (QR-коды). Поддерживает управление воспроиз... Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/nljb-xplay.git
git@api.gitlife.ru:oschina-mirror/nljb-xplay.git
oschina-mirror
nljb-xplay
nljb-xplay
master