• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Vítejte návštevníku! Přihlášení Registrace


Hodnocení tématu:
  • 3 Hlas(ů) - 3 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Centrální knihovna s pomocí MySQL databáze
Nevím, čeho přesně chceš docílit, ale budu předpokládat, že sloučení více žárů do jedné množiny pro vyhledání. Pokud ano, pak zkus následující:

Ve složce userdata\library\video\ vytvoř novou složku a pojmenuj ji např. "mojezanry". V této nové složce vytvoř xml soubor s názvem index.xml (kódování UFT8) s tímto obsahem:

Kód:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<node order="1" visible="Library.HasContent(Movies)">
    <!-- a virtual folder -->
    <label>Filtry Žánrů</label>
    <icon>DefaultMovies.png</icon>
</node>

Tím ti v kodi (Video) vnikne nová položka. A teď příklad první kombinace filtru, např. chceš sloučit žánry Akční a Komedie a současně to mají být filmy pouze z konkrétní složky na NASu. Pak vytvoř nový soubor xml s názvem, např. priklad_1.xml (UTF8) s tímto obsahem:

Kód:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<node order="1" type="filter">
   <label>Komedie/Akční</label>
   <icon>DefaultGenre.png</icon>
   <content>movies</content>
   <order direction="ascending">sorttitle</order>
   <match>all</match>
       <rule field="genre" operator="is">
           <value>Komedie</value>
           <value>Akční</value>
       </rule>
       <rule field="path" operator="contains">
           <value>NAS/moje_filmy_hd</value>
       </rule>
</node>

V příloze je tento příklad. Lepší než upravovat DB. Můžeš tak nakombinovat třeba dvacet žánrů do jedné položky. A ještě třeba podle země, délky atd.


Přiložené soubory
.zip   filtry_zanru.zip (Velikost: 1,33 KB / Stažení: 1)
 
Citovat
mne ide o to že spolu mám v knižnici asi 26 žánrov,a chcel som to prešrtať tak na cca 5-6 ... napríklad mám žáner dokumentární a documentary,filmy z documentary som chcel presunúť do dokumentární...tak isto som chcel vytvoriť žaner james bond a tam dať bondovky,len pokusne,to nemusí byť...ale niektoré filmy sú aj v piatich žánroch a tie som chcel pretriediť len do jedného,koncerty mam aj v koncertoch aj v live a tv...ale tak podobne...

Dakujem za radu ale takéto zásahy už robiť nebudem pomocou nových súborov...radšej to nechám tak...
 Sony bravia Android TV Android 9 ,Kodi 20.2 Nexus ,NAS Synology DS216j, 
 
Citovat
už som nato prišiel...ale bude to morda...ale pomaly sa mi to podarí ...
 Sony bravia Android TV Android 9 ,Kodi 20.2 Nexus ,NAS Synology DS216j, 
 
Citovat
Stejně tak jsi to mohl vyřešit pěti filtrama nad knihovnou. Pokud se pustíš do úpravy db, budeš to muset opakovat s každým nově přidaným záznamem (filmem/seriálem) - aby ta práce měla smysl. Na druhou stranu nikdy není pozdě na procvičení sql dotazů.
 
Citovat
Ja tam mám len filmy a pridávam už len príležitostne,fakt len filmy s obrazovými a zvukovými efektami...takže to bude ok...
 Sony bravia Android TV Android 9 ,Kodi 20.2 Nexus ,NAS Synology DS216j, 
 
Citovat
A jen tak ze zvědavosti... edituješ jen záznamy v tabulkách genre a genre_link?
 
Citovat
genre_link...sú tam len dva stlpce...id genre a id movie...film 218 bol v genre 24,prepísal som 24 na 21 a zrazu sa film objavil v dokumentární a žáner documentary úplne zmizol,ostal prázdny...

bude to taká mrcha robota,ale času dosť...niektoré žanre už zmizli,tv shows,western,live a podobne..

Keby sa mi nejak podarilo odstrániť samovolné prebúdzanie hdd z hibernácie,tak to šlape omega!!! bol by som šťastný človek...
 Sony bravia Android TV Android 9 ,Kodi 20.2 Nexus ,NAS Synology DS216j, 
 
Citovat
Jasný. Pokud se ti to nechce dělat ručně a ani bych to nedoporučoval, tak na to použij sql dotaz:

Kód:
SET @OLD_GENRE_ID = 2;    /* staré id žánru pro film */
SET @NEW_GENRE_ID = 8;    /* nové id žánru pro film */    

UPDATE genre_link
SET genre_id = @NEW_GENRE_ID
WHERE genre_id = @OLD_GENRE_ID AND media_type = 'movie';


Ale nejdřív si to ověř na nějakém konkrétním id filmu tak, že tam přidáš podmínku media_id = xx, např. pro id = 2 takhle:

Kód:
SET @OLD_GENRE_ID = 2;    /* staré id žánru pro film */
SET @NEW_GENRE_ID = 8;    /* nové id žánru pro film */    

UPDATE genre_link
SET genre_id = @NEW_GENRE_ID
WHERE genre_id = @OLD_GENRE_ID AND media_type = 'movie' WHERE media_id = 2;

A asi bych taky doporučil zkontrolovat, jestli všechny filmy mají žánr přiřazený:

Kód:
SELECT *
FROM movie
WHERE idMovie NOT IN (SELECT media_id FROM genre_link WHERE media_type='movie');

Pokud provozuješ Windows doporučuju šikovný SQL editor, který je zdarma: http://www.heidisql.com
 
Citovat
Uf...na tie príkazy si moc netrúfam..ale môžem skúsiť tú heidi...bežím na widlách...linux nieje operačný systém,ale zábavka pre programatorov a to ja nie som..

Vdaka za rady...
 Sony bravia Android TV Android 9 ,Kodi 20.2 Nexus ,NAS Synology DS216j, 
 
Citovat
Neboj se toho, hlavní je začít. Když nebudeš vědět kudy kam, tak tě navedu. Nebo někdo jinej. Přece to nebudeš přepisovat ručně záznam po záznamu.

A donutil jsi mě mrknout na moje žánry a tak jsem je tedy taky zredukoval :) Minimálně o třicet. Celá operace zabrala 5 minut včetně aktualizace polí v tabulkách movie (c14) a tvshow (c08) a z toho nejvíc času zabralo přemejšlení, které žánry sloučit. Ty zmiňuješ jen filmy, nicméně já si upravil žánry rovnou i pro seriály, resp. vypustil jsem omezení, že se budou žánry přepisovat pouze u filmů. Takhle:

Kód:
SET @OLD_GENRE_ID = 2;    /* staré id žánru */
SET @NEW_GENRE_ID = 8;    /* nové id žánru */    

UPDATE genre_link
SET genre_id = @NEW_GENRE_ID
WHERE genre_id = @OLD_GENRE_ID;

Až stáhneš a spustíš HeidiSQL vyskočí na tebe okno pro přihlášení (Session manager), tam zapiš vše tak, jak se do video databáze odkazuješ v kodi v advancedsettins.xml

   
 
Citovat
ja seriály nemám...na tie my stačí sosáč a stream cinema...uvidím...a tie príkazy mám vlastne kde písať...
 Sony bravia Android TV Android 9 ,Kodi 20.2 Nexus ,NAS Synology DS216j, 
 
Citovat
Až se přihlásíš v HeidiSQL do databáze, klepni např. na tabulku genre_link a následně na záložku data. Tím se ti zobrazí data tabulky (prvních 1000).

   

Pro sql příkaz je tam záložka Query (s modrou šipkou). Na tu klepneš a napíšeš / vložíš dotaz. Pro začátek něco triviálního, např. zobrazit všechny media, která obsahují žánr s id 5:

Kód:
SELECT *
FROM genre_link
WHERE genre_id = 5;

   

Nebo vyberu filmy, které nemají přiřazený žádný žánr:

Kód:
SELECT *
FROM movie
WHERE idMovie NOT IN (SELECT media_id FROM genre_link WHERE media_type='movie');

   

A úplně stejným způsobem budeš pracovat s dotazy, které jsem uvedl před tím. Jen s menším rozdílem, že se jedná o tzv akční dotazy, které mění záznamy
 
Citovat
večer skúsim...dik za pomoc...
 Sony bravia Android TV Android 9 ,Kodi 20.2 Nexus ,NAS Synology DS216j, 
 
Citovat
Pokud by mel nekdo zajem, tak kompletni oscrapovany Sosac v MySQL je zde:
> https://ulozto.cz/!5Ilu7ONjogEp/17-01-24-myvideos93-zip

Je to urceno pro KODI 15, nicmene pokud pouzivate 16, tak staci smazat stavajici MyVideos99, importovat tuto MyVideos93 a pri prvnim spusteni si to KODI samo prevede do noveho formatu.

Upozorneni: pres importem do databaze je treba opravit cesty umisteni souboru. Doporucuji tedy vyuzit napriklad Notepad++ a dat hledat string "http://127.0.0.1/" a tento nahradit tim, kde opravdu mate ulozene STRM soubory. Tedy v pripade vnitrni site treba "smb://192.168.0.1/".

Take pridavam komplet STRM soubory, ktere odpovidaji obsahu databaze:
> https://ulozto.cz/!U1pHolqN4oJE/17-01-24-sosac-zip

Diky za vytvoreni patri uzivateli LiM, ktery to vse takto "all-inclusive" vytvoril.
Apple TV 4K gen.3 128GB - tvOS 16.2 (iSCC, KODI 19.4) & 3x HomePod - audioOS 16.2 & RPi 4B 8GB RAM - IOTstack & 1x RPi 2B - Raspbian & RPi Zero
Intel NUC NUC10i5FNK - i5 10210U, 64GB RAM, ESXi (W10, W11, Debian,...) 
iPhone 15 Pro 512 GB - iOS v17.2.1 (KODI 19.4) & Apple Watch 9 45mm v10.2
iPad Pro 11 512 GB - iPadOS v17.2.1 (KODI 19.4)
 
Citovat
Služebníček pánové a pěkně děkuji  Klaním se
S905X 2/3 → CE 20 \ RPi4 → LE 19 \ HTPCLE 18 \ NAS Synology DS212J/DS220+ \ Vero 4K+ → OSMC 19
 
Citovat
Ahoj, pročetl jsem si to zde snad celé.
Postupoval jsem podle návodu.

Databáze si Kodi v MySQL vytvořil sám. Poté jsem začal tagovat a filmy z ČSFD. Nechal jsem to jet celou noc a DB podle toho co v ní vidím naplněná je.
Ale když se podívám do filmů v Kodi, tak tam žádné obrázky a popisky nejsou a v logu je napsáno(výcuc):


22:00:54.711 T:7372  NOTICE: Checking resolution 16
22:00:54.879 T:8984  NOTICE: Running database version Addons27
22:00:54.880 T:8984  NOTICE: Running database version ViewModes6
22:00:54.881 T:8984  NOTICE: Running database version Textures13
22:00:54.928 T:8984  NOTICE: Running database version MyMusic60
22:00:54.971 T:8984  NOTICE: Running database version MyVideos107
22:00:54.972 T:8984  NOTICE: Running database version TV29
22:00:54.973 T:8984  NOTICE: Running database version Epg11
22:00:55.090 T:7372 WARNING: JSONRPC: Could not parse type "Setting.Details.SettingList"
22:00:55.192 T:7372   ERROR: SQL: [MyMusic60] The table does not exist
                                            Query: select count(idSong) as NumSongs from songview
22:00:55.192 T:7372   ERROR: CMusicDatabase::GetSongsCount() failed
22:00:55.255 T:7372  NOTICE: initialize done
22:00:55.255 T:7372  NOTICE: Running the application...
22:00:55.256 T:7372  NOTICE: starting upnp client
22:00:55.258 T:9696  NOTICE: ES: Starting UDP Event server on port 9777
22:00:55.258 T:9696  NOTICE: UDP: Listening on port 9777 (ipv6 : false)
22:00:55.322 T:8692   ERROR: SQL: [MyMusic60] The table does not exist
                                            Query: SELECT songview.*, songartistview.* FROM (SELECT idAlbum FROM album ORDER BY idAlbum DESC LIMIT 10) AS recentalbums JOIN songview ON songview.idAlbum = recentalbums.idAlbum JOIN songartistview ON songview.idSong = songartistview.idSong ORDER BY songview.idAlbum DESC, songview.idSong, songartistview.idRole, songartistview.iOrder
22:00:55.322 T:8692   ERROR: CMusicDatabase::GetRecentlyAddedAlbumSongs failed
22:00:55.323 T:8692   ERROR: SQL: [MyMusic60] The table does not exist
                                            Query: SELECT albumview.*, albumartistview.* FROM (SELECT idAlbum FROM album WHERE strAlbum != '' ORDER BY idAlbum DESC LIMIT 10) AS recentalbums JOIN albumview ON albumview.idAlbum = recentalbums.idAlbum JOIN albumartistview ON albumview.idAlbum = albumartistview.idAlbum ORDER BY albumview.idAlbum desc, albumartistview.iOrder
22:00:55.323 T:8692   ERROR: CMusicDatabase::GetRecentlyAddedAlbums failed
22:00:55.344 T:8692   ERROR: SQL: [MyVideos107] The table does not exist
                                            Query: select * from movie_view  ORDER BY dateAdded desc, idMovie desc LIMIT 10
22:00:55.344 T:8692   ERROR: CVideoDatabase::GetMoviesByWhere failed
22:00:55.345 T:8692   ERROR: SQL: [MyVideos107] The table does not exist
                                            Query: select * from episode_view  ORDER BY dateAdded desc, idEpisode desc LIMIT 10
22:00:55.345 T:8692   ERROR: CVideoDatabase::GetEpisodesByWhere failed
22:00:55.347 T:8692   ERROR: SQL: [MyVideos107] The table does not exist
                                            Query: select * from musicvideo_view  ORDER BY dateAdded desc, idMVideo desc LIMIT 10
22:00:55.347 T:8692   ERROR: CVideoDatabase::GetMusicVideosByWhere failed
22:00:55.358 T:8692   ERROR: SQL: [MyMusic60] The table does not exist
                                            Query: SELECT COUNT(DISTINCT artistview.idArtist) FROM artistview  WHERE ((EXISTS (SELECT 1 FROM song_artist WHERE song_artist.idArtist = artistview.idArtist AND song_artist.idRole = 1) OR EXISTS (SELECT 1 FROM album_artist WHERE album_artist.idArtist = artistview.idArtist)) AND (artistview.strArtist != '')) AND (artistview.strArtist <> 'Various artists')



Ověřoval jsem to v DB a tyto tabulky v této DB opravdu nejsou. Jak tedy tyto tabulky nechat vytvořit, když si celou DB, včetně tabulek vytvořilo Kodi samo?

Díky

P.s. Je to Kodi v17 na OS Win10 ze Store MS
 
Citovat
Netusim, jaka je podpora pro Kodi 17, sam jedu RPi na 15 a Win na 16.
Apple TV 4K gen.3 128GB - tvOS 16.2 (iSCC, KODI 19.4) & 3x HomePod - audioOS 16.2 & RPi 4B 8GB RAM - IOTstack & 1x RPi 2B - Raspbian & RPi Zero
Intel NUC NUC10i5FNK - i5 10210U, 64GB RAM, ESXi (W10, W11, Debian,...) 
iPhone 15 Pro 512 GB - iOS v17.2.1 (KODI 19.4) & Apple Watch 9 45mm v10.2
iPad Pro 11 512 GB - iPadOS v17.2.1 (KODI 19.4)
 
Citovat
Ok
vykašlu se zatím na 17. 
Vrátím se zpět k 16.

Ignorujte tento příspěvek, jsem Ťulpas Big Grin

Když chci tvoji DB importovat do MySQL serveru píše mi:
SQL dotaz:

Kód:
CREATE TABLE IF NOT EXISTS `actor` (
`actor_id` int(11) NOT NULL,
 `name` text,
 `art_urls` text
) ENGINE=InnoDB AUTO_INCREMENT=128307 DEFAULT CHARSET=utf8


MySQL hlásí: [Obrázek: dot.gif]
Kód:
#1046 - Nebyla vybr-Bána žádná databáze


Netušíš kde může být problém prosím? Musím předtím vytvořit DB? Podle popisu jsem myslel, že si ji to vytvoří samo.
 
Citovat
Chci se zeptat, když dám export a zvolím multiple files tak se mi to někam exportuje, ale já nevím kam. Nevíte to prosím? Když volím singl, tak tam si vybírám, kam to chci exportovat.

Odpověď:
export se provádí do složky, kde jsou filmy/serialy uložené :)
 
Citovat
Ahoj mám dotaz. díval jsem se do phpMyAdmin na NASu a do položky MyVideos99 - movie kde jsou asi uložena data k filmům co mám na NASu uložené, ale je divné, že v kodi se mi zobrazuje celkem 152 oscrapovaných filmů ,ale v položce movie jen 124. Tak se ptám kde je ten zbytek. Filmy které vidím v knihovně kodi nevidím v téhle tabulce phpMyAdmin.
X92 - S912 3/32G - CoreELEC 8.95.x - Kodi 18 - Synology DS216j
 
Citovat
  


Přejít na fórum:


Prochází: 2 host(ů)