Никитенко Максим (Sets88)

Личная страница

VlcTVStation

Описание

Давайте представим что вы крошечная компания в маленьком городе или даже деревне, а вам всего-то нужно треанслировать собственный мини-телеканал в собственной кабельной сети.

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

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

В этом приложении есть планировщик заданий, который вы можете удаленно администрировать через web интерфейс

Screenshot

Вы можете добавить любое содержимое какое захотите и указать когда оно будет проиграно:

Screenshot

В данном примере, приложение будет проигрывать файл "/tmp/2.avi" каждое 12-е число каждого месяца в 15:50 2 раза подряд.

Вы даже можете сделать снимок экрана с компьютера с VlcTVStation, чтобы видеть что происходит, вот например мой снимок:

Screenshot

Установка и первый запуск

В Ubuntu вы можете просто скопировать код в терминал и выполнить:

sudo apt-get -y install git python-flask python-apscheduler vlc
git clone https://github.com/Sets88/vlctvstation.git
cd vlctvstation/vlctvstation
python vlctvstation.py

Настройка

Файл настройки загружается при старте приложения, вначале приложение попытается найти файл настройки в:

"~/.vlctvstation.cfg"

Если этого сделать не удалось оно откроет "default.cfg" в текущей директории

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

{
    "fullscreen": false, 
    "dbfile": "/tmp/dbfile", 
    "users": {
        "admin": "admin"
    }, 
    "permissions": {
        "add_jobs": [
            "admin"
        ], 
        "delete_jobs": [
            "admin" 
        ], 
        "run_jobs": [
            "admin"
        ], 
        "run_custom_jobs": [
            "admin"
        ], 
        "edit_jobs": [
            "admin"
        ], 
        "get_token": [
            "admin"
        ]
    }, 
    "language": "en", 
    "secret": "asfaesgdfsrtyweaslryuiryd", 
    "host": "0.0.0.0", 
    "port": "5000"
}

fullscreen - Скорее всего вам нужно будет установить True, для полноэкранного режима

dbfile - Расположение файла с базой данных где будут храниться задачи

users - Это простой словарь вида: "login": "password", вы так-же можете поставить запятую и добавить еще одного пользователя, вот так:

"admin": "megasicretpass",
"user": "supersecretpass"

permissions - Используйте запятую чтобы добавить привилегий пользователям, вот так:

"add_jobs": [
    "admin", "user"
],

language - Установка языка например, "ru" для русского языка или "en" для английского

secret - Измените его прежде всего! Это используется для генерации ключа и как соль в паролях

host - IP или домен на котором будет доступен web интерфейс

post - Порт на котором будет доступен web интерфейс

API

Есть способ получить информацию о текущем задании используя API

Для того чтобы воспользоваться API вы должны сначала сгенерировать ключ:

Screenshot

Введите IP компьтера с которого будет получать информацию и нажмите "Получить"

Затем скопируйте ключ, который получили и соберите url:

http://{ IP of VlcTVStation }/api/{ Token you've got }/status/

Проверим:

$ curl http://192.168.1.1:5000/api/0d17ee207e645270325cf43da8f101d461fd9f35/status/
{"state": 3, "jobname": "Reklama", "uri": "/home/alexandra/video/Video.avi", "jobid": "905283"}

Теперь видим: state - 3 (Проигрывается), имя текущего задания, имя файла или url из поля Video, и ID задания (Никогда не используйте его, он может измениться).

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

заGitHubить

  1. s a month, if you can get a prescription for those amounts.

  2. myy

    http://www.chiflatirons.in.net/, http://www.nikefree-runs.org.uk/, http://www.nike-skos.com/, http://www.raybans-sunglasses.net.co/, http://www.uhren-stores.de/, http://www.raybans-cher.fr/, http://www.soccers-shoes.net/, http://jazz.nba-jersey.com/, http://hornets.nba-jersey.com/, http://www.ralphs-laurenpolos.net/, http://www.soft-ballbats.com/, http://www.christian-louboutins.co.uk/, http://lions.nfljersey.us.com/, http://www.cheap-raybansoutlet.com.co/, http://www.nike-outlet.us.org/, http://www.mcm-handbags.org/, http://www.nikerosherun.us/, http://www.michael-kors.com.es/, http://mavericks.nba-jersey.com/, http://www.swarovski-australia.com.au/, http://www.prada-bagsoutlet.com/, http://www.puma-shoes.de/, http://www.cheapjerseys.net.co/, http://www.cheapshoes.net.co/, http://www.ray-bans.co.uk/, http://www.mizuno-running.net/, http://www.oakleys-2017.in.net/, http://www.burberrybags.com.co/, http://www.chiflatiron.net.co/, http://www.tommyhilfigers.nl/, http://www.cheap-jordans.net/, http://www.oakleys-sunglasses.com.co/, http://www.michael-kors.cc/, http://www.polo-ralph-lauren.de/, http://www.dsquared2-outlet.com/, http://www.nike-airmax.us.com/, http://www.barbour-jackets.us.com/, http://www.burberry-outletcanada.ca/, http://www.hollister-store.com/, http://rockets.nba-jersey.com/, http://www.nike-air-max.com.au/, http://www.true-religion-jeans.com.co/, http://www.coach-factory.com.co/, http://rayban.blackofriday.com/, http://www.fendi-outlet.in.net/, http://www.soccershoes.us.com/, http://patriots.nfljersey.us.com/, http://www.burberry-handbags.net.co/, http://www.michaelkors.com.de/, http://www.michaelkors-bags.us.org/, http://www.marc-jacobs.us.com/, http://www.marcjacobs-outlet.com/, http://www.jordanshoes.net.co/, http://coachoutlet.euro-us.net/, http://www.cheap-jerseys.mex.com/, http://www.the-northfaces.us.com/, http://www.nikefreeshoes-inc.co.uk/,

[Комментировать]
Яндекс.Метрика