Screensaver yang mempesona untuk Kodi

alt gambar

Menetapkan Screen Saver ke Kodi


Proyek ini dirancang untuk membuat screen saver "Mempesona" dengan jumlah kode sumber minimal dalam Python. Proyek ini adalah plugin paling sederhana untuk pusat multimedia Kodi.

Proyek ini menunjukkan bagaimana Anda dapat membuat screen saver yang sangat indah yang sepenuhnya didasarkan pada karya komunitas "OpenSource". Proyek integrasi, ini adalah contoh penulisan dua komponen independen, yang masing-masing membutuhkan sekitar 80 baris kode. Komponen pertama adalah generator konten, skrip shell, komponen kedua adalah plugin Kodi multimedia center, yang bertanggung jawab untuk menampilkan konten.

Dan akhirnya, jika Anda seorang programmer dan menggunakan sistem kontrol versi Git, Anda dapat memvisualisasikan pekerjaan Anda, menulisnya ke file video dan menikmati hasilnya di layar TV atau komputer, bersandar di kursi Anda dengan secangkir kopi. Dan pada malam musim gugur yang dingin, Anda dapat tidur dengan tenang di bawah screensaver, tanpa lupa mematikan timer perangkat di Kodi.

Pembukaan


Anda dapat melihat tiga hal tanpa henti:
bagaimana api membakar, bagaimana air mengalir dan bagaimana orang lain bekerja.

Karena plugin ini ditulis untuk "Kodi Multimedia Center", maka saya akan memvisualisasikan karya tim super "Kodi Programmers".

Menggunakan plugin di Kodi


Pusat Multimedia Kodi adalah program yang sangat kuat dan fleksibel, bekerja bersama dengan pustaka eksternal ffmpeg, untuk mendekode file audio dan video.

Untuk membuat aplikasi pihak ketiga, Kodi menggunakan mekanisme ekstensi "addons" atau hanya plug-in. Untuk membuat plugin sendiri, saya perlu beberapa keterampilan dan sedikit pengetahuan tentang bahasa pemrograman Python.

Mekanisme plugin Kodi sangat fleksibel dan nyaman. Python adalah bahasa yang ditafsirkan, yang berarti bahwa saya tidak perlu mengkompilasi apa pun, mengompilasinya menjadi paket perangkat lunak terpisah, menderita dengan membangun file seperti "makefile", dll.

Untuk distribusi final plugin Kodi, cukup masukkan dalam arsip Zip, amati beberapa aturan pada struktur direktori. Dengan memiliki arsip Zip terakhir, dapat diinstal pada perangkat apa pun di mana Kodi bekerja: komputer, tablet, dan akhirnya TV (artinya sekelompok TV + satu-pelat), menetapkan arsip sebagai sumber plug-in.

Struktur plugin Kodi


 └── screensaver.kodi.universe
     β”œβ”€β”€ README.md
     β”œβ”€β”€ addon.xml
     β”œβ”€β”€ changelog.txt
     β”œβ”€β”€ create.sh
     β”œβ”€β”€ fanart.jpg
     β”œβ”€β”€ icon.png
     β”œβ”€β”€ sumber daya
     β”‚ β”œβ”€β”€ bahasa
     β”‚ β”‚ β”œβ”€β”€ Bahasa Inggris
     β”‚ β”‚ β”‚ └── strings.po
     β”‚ β”‚ └── Bahasa Rusia
     β”‚ β”‚ └── strings.po
     β”‚ β”œβ”€β”€ settings.xml
     β”‚ └── kulit
     β”‚ └── default
     β”‚ β”œβ”€β”€ 720p
     β”‚ β”‚ └── kodi-universe.xml
     β”‚ β”œβ”€β”€ 1080i
     β”‚ β”‚ └── kodi-universe.xml
     β”‚ └── media
     β”‚ β”œβ”€β”€ black.jpg
     β”‚ β”œβ”€β”€ buran.jpg
     β”‚ └── kodi-universe.mkv
     └── screensaver.py


  • README.md - file opsional, berisi deskripsi proyek untuk github.com
  • addon.
  • changelog.txt - file opsional dengan daftar perubahan proyek
  • create.sh adalah file opsional, skrip bash dirancang untuk membuat screensaver arsip Zip (a) dan menghasilkan file video dari sejarah Git menggunakan alat Gource, file tersebut tidak memiliki hubungan dengan plugin Kodi itu sendiri, perlu untuk distribusi plugin yang nyaman. Ini sepenuhnya otonom, mis. hanya memiliki file ini, Anda selalu dapat membuat arsip Zip lengkap dari plugin (jika Anda memiliki koneksi Internet).
  • fanart.jpg - gambar latar plugin
  • icon.png - ikon utama
  • sumber daya - direktori dengan sumber daya plugin
  • screensaver.py - file utama plugin, berisi semua kode sumber untuk plugin dengan Python, nama file bisa apa saja, yang utama adalah bahwa nama ini ditulis dalam file addon.xml

Deskripsi sumber daya plugin


Direktori sumber daya berisi file-file berikut:

  • language / English / strings.po - string antarmuka plugin asli dalam bahasa Inggris
  • bahasa / Rusia / strings.po - terjemahan ke dalam bahasa Rusia, file tersebut termasuk dalam mekanisme standar Kodi untuk menerjemahkan konten ke dalam bahasa nasional negara, bagian awal file berisi header teks standar dari beberapa baris (contohnya dapat ditemukan di situs web kodi.wiki , bagian plugins) , lalu ada umpan baris yang terdiri dari tiga bidang:

    • msgctxt - tautan ke nomor baris unik
    • msgstr " pengidentifikasi string teks asli dalam bahasa Inggris
    • msgstr - terjemahan nilai msgid ke bahasa nasional, dalam hal ini, ke dalam bahasa Rusia (direktori bahasa Rusia)

  • settings.xml - file utama pengaturan plugin, menjelaskan menu grafis dari properti plugin, parameter string yang dapat diubah, di mana:

    • pengidentifikasi sumber daya id - teks
    • label - label numerik unik untuk bidang teks (sesuai dengan bidang msgctxt dalam file terjemahan strings.po)
    • tipe - tipe sumber daya yang telah ditentukan (semua tipe yang mungkin dijelaskan di situs web kodi.wiki , bagian plugin)
    • default - nilai default parameter (Anda dapat mengatur ulang parameter ke nilai ini menggunakan menu Kodi dengan nama yang sama)

  • resources / skins / default / 1080i / kodi-universe.xml - file konfigurasi xml
  • resources / skins / default / 720p / kodi-universe.xml - file konfigurasi xml yang menggambarkan lokasi kontrol plug-in (kontrol), geometri, ukuran keseluruhan, posisi elemen, jenis visibilitas, dll. Nama konfigurasi ditentukan tergantung pada mode adaptor video (misalnya, 1080i atau 720p)

isi bahasa Rusia / strings.po
# Kodi Media Center language file # Addon Name: Screensaver Kodi Universe # Addon id: screensaver.kodi.universe # Addon Provider: berserktv msgid "" msgstr "" "Project-Id-Version: Kodi Addons\n" "Report-Msgid-Bugs-To: alanwww1@kodi.org\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: English \ (http://www.transifex.com/projects/p/xbmc-addons/language/en/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: en\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#32001" msgid "Screensaver" msgstr " " msgctxt "#32002" msgid "Video file" msgstr "" msgctxt "#32003" msgid "Not Video" msgstr "  " 



isi dari settings.xml
  <?xml version="1.0" encoding="utf-8" standalone="yes"?> <settings height="800"> <category label="32001"> <setting id="videofile" label="32002" type="video"/> <setting id="not-video" type="bool" \ label="32003" default="false"/> </category> </settings> 


Sumber daya media dari plugin:

  • resources / skins / default / media / black.jpg - latar belakang hitam yang mengisi layar sebelum memulai video
  • resources / skins / default / media / buran.jpg - gambar futuristik dari pesawat ruang angkasa "Buran, di sayap Mimpi"
  • resources / skins / default / media / kodi-universe.mkv - file video utama yang diputar secara siklis oleh plugin hingga acara kebangkitan

File konfigurasi root plugin - addon.xml


Addon.xml - adalah file konfigurasi utama plugin, dari mana Kodi mengambil semua informasi yang diperlukan untuk meluncurkan plugin dan mengintegrasikannya ke pusat multimedia.

konten addon.xml
  <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <addon id="screensaver.kodi.universe" name="Kodi Universe" \ version="0.1.2" provider-name="berserktv"> <requires> <import addon="xbmc.python" version="2.7"/> </requires> <extension point="xbmc.ui.screensaver" library="screensaver.py" /> <extension point="xbmc.addon.metadata"> <platform>all</platform> <source>https://github.com/berserktv/screensaver.kodi.universe </source> <summary lang="en">Kodi Universe</summary> <summary lang="ru"> </summary> <description lang="en">Screensaver - Kodi Universe </description> <description lang="ru">  -  </description> <license>GNU GENERAL PUBLIC LICENSE. Version 2, June 1991</license> </extension> </addon> 


Parameter utama plugin adalah:

  • Bagian Addon
    • id - pengidentifikasi teks unik plugin
    • nama - nama plugin
    • versi - versi plugin
    • provider-name - nama penyedia plugin

  • Membutuhkan bagian - dependensi
    pada bagian ini, modul tempat operasi plug-in ini bergantung
  • Bagian ekstensi - ekstensi
    di bagian ini (mungkin ada beberapa), jenis plugin ditunjukkan,
    titik masuk utama ke plugin:
    point = "xbmc.ui.screensaver" library = "screensaver.py"

    dalam kasus kami, plugin adalah "Screen Saver" yang dikirimkannya
    kontrol dengan memanggil skrip python yang disebut "screensaver.py"

    point = "xbmc.addon.metadata" juga dapat ditentukan di bagian ekstensi
    dengan jenis platform tempat plugin dapat bekerja, nama dan deskripsi plugin
    dalam bahasa / bahasa tertentu, serta jenis plugin LICENSE
    Jumlah total metadata yang dapat ditentukan di bagian ekstensi ini bisa
    Anda dapat menemukan informasi yang cukup besar dan lebih rinci di situs web
    kodi.tv

Implementasi plugin


Karena plugin harus sangat sederhana dan mudah, dalam implementasinya saya akan membatasi diri pada satu file sumber utama screensaver.py yang terletak di direktori root screensaver (a)

Agar skrip python dipanggil, saya mendaftarkannya di file addon.xml, lihat bagian di atas

Bahasa pemrograman Python cukup fleksibel, memungkinkan Anda untuk melakukan tindakan yang sama dalam beberapa cara, dan untuk kejelasan, saya akan menggunakan pendekatan berorientasi objek dengan kelas.

konten screensaver.py
  # -*- coding: utf-8 -*- # Plugin for Kodi mediacenter # Kodi Universe - Very Simple Screensaver # GNU GENERAL PUBLIC LICENSE. Version 2, June 1991 import os import sys import xbmc import urllib import xbmcgui import xbmcaddon __id__ = 'screensaver.kodi.universe' __addon__ = xbmcaddon.Addon(id=__id__) __path__ = __addon__.getAddonInfo('path') def_video_url = __path__+'/resources/skins/default/media/kodi-universe.mkv' class BsPlaylist: def __init__(self,): pass def getPlaylist(self,): try: xbmc.PlayList(1).clear() except: pass self.playlist = xbmc.PlayList(1) item = xbmcgui.ListItem("item1") self.playlist.add(__addon__.getSetting("videofile"),item) return self.playlist class BsPlayer(xbmc.Player): def __init__(self,): pass def onPlayBackStarted(self): xbmc.executebuiltin("PlayerControl(RepeatAll)") def onPlayBackStopped(self): return class Screensaver(xbmcgui.WindowXMLDialog): def __init__( self, *args, **kwargs ): pass def onInit(self): video_url = __addon__.getSetting("videofile") if (video_url == ""): video_url = def_video_url __addon__.setSetting("videofile", video_url) if (__addon__.getSetting("not-video") == "true" \ or not os.path.isfile(video_url) ): return li = BsPlaylist() self.vpl = li.getPlaylist() if self.vpl: xbmc.sleep(2000) self.getControl(1).setImage("black.jpg") self.player = BsPlayer() if not xbmc.getCondVisibility("Player.HasMedia"): self.player.play(self.vpl,windowed=True) def onAction(self,action): try: xbmc.PlayList(1).clear() except: pass try: xbmc.Player().stop() except: pass try: self.close() except: pass if __name__ == '__main__': scr = Screensaver( 'kodi-universe.xml', __path__, 'default', '', ) scr.doModal() del scr 


Screensaver kelas (xbmcgui.WindowXMLDialog)


Kelas utama screen saver

API Python Kodi mencakup beberapa modul inti: xbmc, xbmcgui, xbmcplugin, xbmcaddon, dan xbmcvfs . Untuk bekerja dengan GUI Kodi, saya akan menggunakan modul xbmcgui. Modul ini berisi kelas yang bertanggung jawab untuk elemen antarmuka yang berbeda.

Untuk membuat kotak dialog plugin dengan antarmuka yang dijelaskan dalam file konfigurasi xml, digunakan kelas xbmcgui. WindowsXMLDialog

konten kodi-universe.xml
  <?xml version="1.0" encoding="utf-8" standalone="yes"?> <window type="window"> <controls> <control type="image" id="1"> <description>Background image</description> <posx>0</posx> <posy>0</posy> <colordiffuse>FF555555</colordiffuse> <aspectratio scalediffuse="false" align="center" \ aligny="center">scale</aspectratio> <width>1920</width> <height>1080</height> <texture>buran.jpg</texture> </control> <control type="videowindow" id="2"> <description>VideoWindow</description> <posx>0</posx> <posy>0</posy> <width>1920</width> <height>1080</height> <visible>true</visible> </control> </controls> </window> 


File XML konfigurasi menjelaskan dua elemen kontrol:

Yang pertama dengan pengenal - 1 , adalah gambar latar belakang - "Badai salju, pada sayap Mimpi", dengan ukuran tertentu, sejajar dengan tengah layar.

Elemen kedua dengan pengidentifikasi - 2 , adalah jendela untuk memutar Video, dengan tanda visibilitas dan dimensi geometris tertentu.

Kelas Screensaver mewarisi dari kelas WindowXMLDialog, dan memiliki tiga metode:

  • Metode constructor __init__ dipanggil secara otomatis ketika objek dibuat
  • OnInit - metode inisialisasi grafis, dipanggil sebelum tampilan jendela pertama
  • Metode onAction adalah metode pemrosesan peristiwa yang dipanggil saat peristiwa tertentu terjadi, dalam hal ini, saat peristiwa pencerahan terjadi, mis. mengklik tombol mouse, keyboard, menggerakkan pointer mouse atau kedatangan acara apa pun dari panel kontrol.

Kelas Screensaver menggunakan dua kelas pembantu:

  • Kelas BsPlayer - diwarisi dari standar XBMC video player kelas xbmc.Player , kelas berisi tiga metode:
    1. Metode constructor __init__ dipanggil secara otomatis ketika objek dibuat
    2. Mengganti metode mulai video onPlayBackStarted
    3. Mengganti metode akhir video onPlayBackStopped

      Catatan: karena saya mendefinisikan ulang metode menghentikan pemutaran dan itu kosong,
      maka aturan akan berfungsi: Jangan Berhenti Ayo Pergi

  • Kelas BsPlaylist - kelas daftar yang dirancang untuk mengembalikan objek xbmc.PlayList
    kelas berisi dua metode:

    1. Metode constructor __init__ dipanggil secara otomatis ketika objek dibuat
    2. Metode getPlaylist untuk menentukan daftar putar menggunakan daftar XBMC standar - xbmc.PlayList

Algoritma umum Screensaver (a) adalah sebagai berikut:

  1. Ketika peristiwa panggilan Screensaver terjadi (a) - ketidakaktifan pengguna untuk jumlah menit yang ditentukan dan tidak adanya pemutaran video / audio aktif, Kodi mentransfer kontrol ke skrip screensaver.py
  2. Berdasarkan file konfigurasi xml, jendela grafis utama plugin dibuat. Ketika jendela grafis diinisialisasi, sumber daya string pengaturan plug-in dimuat (menu adalah "pengaturan").

Jika file video tidak ditentukan
__addon __. getSetting ("videofile")

itu diisi dengan parameter default
video_url = def_video_url
__addon __. setSetting ("videofile", video_url)

jika tidak ada bendera - β€œnonaktifkan pemutaran video”
__addon __. getSetting ("not-video")

gambar futuristik "Badai salju di sayap Mimpi" ditampilkan selama dua detik
xbmc.sleep (2000)

lebih jauh dengan pengidentifikasi kontrol 1, gambar latar belakang hitam diatur
self.getControl (1) .setImage ("black.jpg")

dan kemudian pemutar video XBMC dimulai dengan daftar putar file tunggal
self.player.play (self.vpl, windowed = True)

File video diputar dalam lingkaran hingga saat itu tiba
acara bangun yaitu setiap tindakan pengguna aktif

Membuat visualisasi untuk plugin Kodi di Ubuntu


Catatan:
Semua instruksi yang dijelaskan di bawah ini akan saya jalankan di bawah sistem operasi Linux, yaitu distribusi Ubuntu

Dimungkinkan juga untuk melakukan langkah-langkah yang dijelaskan di bawah ini dalam sistem operasi yang kompatibel dengan Debian - syarat utama untuk peluncuran adalah keberadaan manajer paket Apt dalam sistem, mis. seorang manajer yang memungkinkan Anda untuk menginstal perangkat lunak Deb dalam sistem. Tentu saja, Anda dapat melakukan langkah-langkah berikut pada sistem Linux apa pun, tetapi ini akan membutuhkan tindakan tambahan dari Anda dan dimungkinkan untuk mengubah urutan beberapa perintah (sebagai contoh: menginstal paket RPM bukan Deb, dll.)

Gource adalah proyek yang sangat menarik dan mempesona. Gource dinamai setelah sumber yaitu kode sumber + G (Grafik). Aplikasi ini memungkinkan Anda untuk memvisualisasikan sejarah perubahan dalam sistem kontrol versi. Gource secara alami memahami Git, untuk sistem lain seperti SVN, Mercurial ada konverter yang memungkinkan Anda untuk mengubah basis penyimpanan ke dalam Format Git.

Gource - menjadikan sangat indah dengan OpenGL, dan memiliki sejumlah besar parameter untuk kerjanya. Alat yang luar biasa ampuh ini untuk menghasilkan visualisasi "Mempesona" yang akan saya gunakan.

Untuk membuat visualisasi, saya perlu beberapa urutan perintah yang dijelaskan dalam skrip bash

Untuk menghasilkan video, saya memerlukan dua program utama:
Gource - untuk membuat file video sumber untuk sejarah Git dari setiap proyek yang ditentukan
FFmpeg - perpustakaan untuk encoding dan decoding video dan audio

Script untuk menghasilkan file video plugin


buat konten .sh
  #!/bin/bash # This is script of the generation video from "Gource". # # project: Screensaver Kodi Universe (https://berserk.tv) # This script creates a ZIP archive of a Kodi screensaver. # GNU GENERAL PUBLIC LICENSE. Version 2, June 1991 # #     , #        # git zip ffmpeg gource    sudo OUT_DIR="output" OUT="kodi-universe.mkv" NAME_PROJ="screensaver.kodi.universe" MEDIA_PATH="${NAME_PROJ}/resources/skins/default/media" NAME_REP="https://github.com/berserktv/${NAME_PROJ}.git" GSFILE="output.ppm" SECONDS_PER_DAY="1" GOURCE_FRAME_RATE="30" RESOLUTION="-1920x1080" CODEC_OUT_FRAME_RATE="25" # -vcodec -     , # libx264         (h.264) # -profile -    (baseline, main, high, # high10, high422, high444) # -pix_fmt -    (yuv420p, yuv422p, yuv444p) FFPARAM="-vcodec libx264 -profile:v high422 -pix_fmt yuv420p" GSPARAM1="--camera-mode track ${RESOLUTION} --stop-position 1.0 \ --seconds-per-day ${SECONDS_PER_DAY}" GSPARAM2="--git-branch origin/master --multi-sampling \ --stop-at-end --hide-filenames" GSPARAM3="--highlight-users --file-idle-time 13 --max-files 0 --hide date" GSPARAM4="--title Kodi --bloom-multiplier 1.0 --bloom-intensity 1.0" VIS="visualize" # GIT         GIT_REP="https://github.com/xbmc/xbmc.git" # arg1 -   git , #         # example: ./create.sh "https://github.com/facebook/react.git" if [ -n "$1" ]; then GIT_REP="$1"; fi #   git zip ffmpeg  gource packages="git zip ffmpeg gource" for i in $packages; do if ! dpkg -s $i | grep -q "install ok installed"; then sudo apt-get install -y $i; fi done #    test -d ${OUT_DIR} && rm -rf ${OUT_DIR} test -d ${OUT_DIR} || mkdir -p ${OUT_DIR} cd ${OUT_DIR} #  Screensaver  GIT ,   if ! git clone ${NAME_REP} ${NAME_PROJ}; then echo "Error, not load ${NAME_REP}, exit ..."; exit 1; fi if ! git clone ${GIT_REP} ${VIS}; then echo "Error, not load ${GIT_REP}, exit ..."; exit 2; fi #    Screensaver(a) gource ${VIS} ${GSPARAM1} ${GSPARAM2} ${GSPARAM3} ${GSPARAM4} \ --output-framerate ${GOURCE_FRAME_RATE} --output-ppm-stream ${GSFILE} ffmpeg -y -r ${GOURCE_FRAME_RATE} -f image2pipe -vcodec ppm \ -i ${GSFILE} ${FFPARAM} -r ${CODEC_OUT_FRAME_RATE} ${OUT} && sync mv -f ${OUT} ${MEDIA_PATH} rm -f ${GSFILE} #     #   GIT    screensaver() test -d ${NAME_PROJ}/.git && rm -fr ${NAME_PROJ}/.git zip -r ${NAME_PROJ}.zip ${NAME_PROJ} 


Skrip harus dijalankan sebagai pengguna biasa, tetapi selama startup skrip membutuhkan instalasi program git zip ffmpeg gource berikut

Jika tidak ada, skrip akan mencoba menginstalnya menggunakan perintah eskalasi hak istimewa - sudo .

Singkatnya, skrip melakukan hal berikut:

  • Ini mengunduh dua proyek dari Internet dengan Github.
    Proyek pertama adalah Screensaver itu sendiri
    Proyek kedua - XBMC (Kodi)

    jika Anda menentukan argumen pada baris perintah yang mewakili jalur Git, Anda dapat memuat proyek Git apa pun untuk visualisasi, contoh memuat proyek Git lain:

     ./create.sh https://github.com/facebook/react.git 

    dalam hal ini, saya menggunakan engine Facebook terkenal untuk visualisasi - React
  • Menjalankan program Gource dengan argumen baris perintah untuk menghasilkan fragmen video dalam format PPM yang tidak terkompresi.
    Video akan dihasilkan sampai pengguna menutup jendela Gource dengan mouse (mengklik tanda silang) atau sampai pengguna menekan tombol ESC

    Catatan:
    Saya tidak menyarankan Anda membuat video yang tahan lebih dari tiga menit , karena ini bisa memakan waktu yang cukup lama dan mengharuskan Anda untuk menyimpan lebih dari 30 GB ruang kosong di hard drive Anda. Satu menit gambar dengan resolusi 1920 Γ— 1080 (FullHD) dan frekuensi 30 frame per detik membutuhkan sekitar 10 GB ruang hard disk. Ini adalah file sementara, dan setelah menghasilkan wadah video MKV yang benar (h.264 codec) menggunakan FFmpeg, file ini dihapus dan file yang dihasilkan tetap, yang membutuhkan 20 MB untuk satu menit video FullHD pada 25 frame per detik.

    Dengan pengaturan Gource yang digunakan skrip, Anda mendapatkan kesempatan untuk memilih bagian waktu dari awal pengembangan proyek hingga saat ini, skala linier di bagian bawah jendela Gource bertanggung jawab untuk ini. Anda dapat menggunakan mouse untuk memilih kapan saja, dan visualisasi dimulai dari saat ini yaitu. semua objek sebelumnya di layar menghilang, ini membuat video lebih dinamis.


  • Mulai program FFmpeg dengan daftar argumen untuk membuat wadah MKV dari kumpulan gambar Gource asli;
  • Membuat arsip Zip terakhir dengan proyek Screensaver (a) dan file video yang dihasilkan;

Opsi Gource


  • 01 - mode kamera melacak mode kamera
    (melacak pengguna aktif saat ini)
  • 02 - berhenti-posisi 1,0 posisi akhir
    (mengatur posisi akhir untuk pemutaran, berkisar 0,0 hingga 1,0)
  • 03 --detik-per-hari 1 jumlah hari per video kedua
    (parameter menentukan berapa banyak pekerjaan yang akan Anda lihat dalam interval satu detik video)
  • 04 --git-cabang asal / master proyek kerja cabang
  • 05 - stop -at-end stop setelah git log selesai
  • 06 --multi-sampling smoothing memungkinkan
  • 07 - menyembunyikan nama file menghapus nama file
  • 08 - pengguna highlight menyoroti nama pengguna
  • 09 - file -idle-time 13 downtime untuk file
    (jumlah waktu setelah mana nama file dihapus dari tampilan)
  • 10 --max-files 0 jumlah maksimum file
    (nilai 0 menghilangkan batas jumlah nama file yang ditampilkan)
  • 11 - menyembunyikan tanggal menghapus tanggal di mana frame saat ini ditampilkan
  • 12 - judul Kodi nama yang muncul di sudut kiri bawah video
  • 13 --bloom-multiplier 1.0 mengontrol efek "light bloom" menggunakan jari-jari.
  • 14 - intensitas mekar 1.0 mengontrol efek "mekar cahaya" menggunakan intensitas.
  • 15 - output -framerate 30 frame output per detik
  • 16 --output-ppm-stream name nama file output dalam format PPM

catatan: beberapa parameter mungkin saling eksklusif,
Daftar parameter lengkap dapat ditemukan di sini .

Video tutorial singkat untuk Screensaver (a)



1) Unduh proyek dari github:
  git clone https://github.com/berserktv/screensaver.kodi.universe.git 


2) Hasilkan video dan buat arsip Zip dari plugin:
  cd screensaver.kodi.universe chmod u+x create.sh ./create.sh 


3) Waktu pembuatan video dan penggunaan ruang disk kosong:
       .           -    20      Gource (PPM)   MKV      FFmpeg. (  h.264)  ,   Git  XBMC (Kodi)   700            .       PPM   10     ( FullHD, 30   ). 


4) Instal screensaver di Kodi
     ""   Kodi (        )   Kodi - "" => " " => " Zip "   ,     Kodi Universe    Screensaver(),     .  Settings ( ) => " " => "" 

Source: https://habr.com/ru/post/id466067/


All Articles