{"id":93871,"date":"2020-09-10T13:41:58","date_gmt":"2020-09-10T11:41:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/funkwhale-1-0"},"modified":"2020-09-10T13:41:58","modified_gmt":"2020-09-10T11:41:58","slug":"funkwhale-1-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/funkwhale-1-0","title":{"rendered":"Funkwhale 1.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/19337\/original.png\" itemprop=\"contentURL\"><br \/>\n      <img decoding=\"async\" alt=\"Funkwhale 1.0\" src=\"\/wp-content\/uploads\/2020\/09\/ee94a0d7a302326a25f646aa817a7db1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>    <\/a><\/p>\n<p><noindex>      <noindex><\/p>\n<p>Projekt <a rel=\"nofollow\" href=\"https:\/\/funkwhale.audio\">Funkwhale<\/a> uvedl prvn\u00ed stabiln\u00ed verzi. V r\u00e1mci iniciativy se vyv\u00edj\u00ed svobodn\u00fd server napsan\u00fd v jazyce Python s vyu\u017eit\u00edm frameworku Django, kter\u00fd umo\u017e\u0148uje hostit hudbu a podcasty, je\u017e lze poslouchat prost\u0159ednictv\u00edm webov\u00e9ho rozhran\u00ed, <a rel=\"nofollow\" href=\"https:\/\/funkwhale.audio\/apps\">klient\u016f s podporou Subsonic API nebo nativn\u00edho Funkwhale API<\/a>, a <a rel=\"nofollow\" href=\"https:\/\/network.funkwhale.audio\">z jin\u00fdch instanc\u00ed Funkwhale<\/a>, pomoc\u00ed <a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/activitypub\">protokolu federativn\u00ed s\u00edt\u011b ActivityPub<\/a>.<\/p>\n<p><\/noindex><\/noindex><br \/>\n<noindex><\/p>\n<p>Interakce u\u017eivatele s audio obsahem se realizuje pomoc\u00ed knihoven a kan\u00e1l\u016f: knihovny p\u0159edstavuj\u00ed sb\u00edrky n\u011bkolika um\u011blc\u016f s n\u00e1hodn\u011b vytvo\u0159en\u00fdm UUID jako adresou, zat\u00edmco kan\u00e1l je diskografie ur\u010dit\u00e9ho interpreta, jej\u00ed\u017e adresa je u\u017eivatelsky p\u0159\u00edv\u011btiv\u00e1; kan\u00e1ly mohou b\u00fdt u\u017eite\u010dn\u00e9 pro publikaci podcast\u016f. Pr\u00e1ce se sledov\u00e1n\u00edm obl\u00edben\u00fdch je podobn\u00e1 jako v jin\u00e9m projektu \u2014 <a rel=\"nofollow\" href=\"https:\/\/joinpeertube.org\">PeerTube<\/a>: m\u016f\u017eete sledovat jak u\u017eivatele, tak jeho speci\u00e1ln\u011b vytvo\u0159en\u00e9 kan\u00e1ly. Proto\u017ee server funguje na protokolu ActivityPub, je mo\u017en\u00e9 se p\u0159ihl\u00e1sit i z dal\u0161\u00edch popul\u00e1rn\u00edch realizac\u00ed, jako je <a rel=\"nofollow\" href=\"https:\/\/joinmastodon.org\">Mastodon<\/a> a <a rel=\"nofollow\" href=\"https:\/\/pleroma.social\">Pleroma<\/a>.<\/p>\n<p><\/noindex><\/p>\n<p><noindex><\/p>\n<p>Po vytvo\u0159en\u00ed knihovny nebo kan\u00e1lu se objev\u00ed mo\u017enost nahr\u00e1vat hudbu. Skladovac\u00ed prostor pro ni m\u016f\u017ee b\u00fdt jak lok\u00e1ln\u00ed, tak vzd\u00e1len\u00fd, s vyu\u017eit\u00edm vestav\u011bn\u00e9 podpory souborov\u00fdch syst\u00e9m\u016f na protokolu Amazon S3. M\u016f\u017eete nahr\u00e1t jak\u00fdkoli soubor popul\u00e1rn\u00edho form\u00e1tu, bez nutnosti dodate\u010dn\u00e9 konverze a ztr\u00e1ty kvality (co\u017e nap\u0159\u00edklad d\u011bl\u00e1 PeerTube, kter\u00fd rovn\u011b\u017e podporuje nahr\u00e1v\u00e1n\u00ed audia). Funkwhale \u010dte vestav\u011bn\u00e9 hudebn\u00ed metadata a obaly v souborech, a v p\u0159\u00edpad\u011b jejich absence vrac\u00ed chybu. U\u017eivatel\u016fm se doporu\u010duje pou\u017e\u00edvat <a rel=\"nofollow\" href=\"https:\/\/picard.musicbrainz.org\">MusicBrainz Picard<\/a> pro spr\u00e1vn\u00e9 ozna\u010den\u00ed tag\u016f p\u0159ed nahr\u00e1n\u00edm. Tak\u00e9 je k dispozici rozhran\u00ed pro \u00fapravu metadat po nahr\u00e1n\u00ed, funguj\u00edc\u00ed na z\u00e1klad\u011b reviz\u00ed s viditelnou histori\u00ed zm\u011bn.<\/p>\n<p><\/noindex><br \/>\n<noindex><\/p>\n<p>Z ji\u017e nahran\u00e9 hudby v knihovn\u00e1ch a kan\u00e1lech lze vytv\u00e1\u0159et playlisty, r\u00e1diov\u00e9 stanice a ozna\u010dovat skladby jako obl\u00edben\u00e9. Vzd\u00e1len\u00ed u\u017eivatel\u00e9 si mohou vy\u017e\u00e1dat p\u0159\u00edstup k va\u0161\u00ed knihovn\u011b nebo kan\u00e1lu, jednodu\u0161e vlo\u017een\u00edm odkazu do vyhled\u00e1vac\u00edho pole sv\u00e9ho serveru. Anonymn\u00ed u\u017eivatel\u00e9 budou moci poslouchat hudbu prost\u0159ednictv\u00edm webov\u00e9ho rozhran\u00ed, pokud to povol\u00ed nastaven\u00ed serveru. Registrovan\u00ed m\u00edstn\u00ed u\u017eivatel\u00e9 mohou z\u00edskat p\u0159\u00edstup ke v\u0161em hudebn\u00edm soubor\u016fm serveru bez pou\u017eit\u00ed webov\u00e9ho rozhran\u00ed, p\u0159ihl\u00e1\u0161en\u00edm se p\u0159es <a rel=\"nofollow\" href=\"http:\/\/www.subsonic.org\/pages\/apps.jsp\">jak\u00fdkoli klient s podporou Subsonic API<\/a> \u2014 dal\u0161\u00ed hudebn\u00ed server, nyn\u00ed pod propriet\u00e1rn\u00ed licenc\u00ed, s paraleln\u00edmi odvozeninami star\u00e9ho k\u00f3du pod svobodnou licenc\u00ed, \u2014 nebo m\u00edstn\u00ed Funkwhale API, nap\u0159\u00edklad, <a rel=\"nofollow\" href=\"https:\/\/github.com\/apognu\/otter\">Otter pro Android<\/a>.<\/p>\n<p><\/noindex><\/p>\n<p>Klienti mohou tak\u00e9 po\u017e\u00e1dat server o transk\u00f3dovanou verzi skladeb (nap\u0159\u00edklad z FLAC do MP3 s ni\u017e\u0161\u00edm bitrate, co\u017e vy\u017eaduje m\u00e9n\u011b internetov\u00e9ho provozu).<\/p>\n<p>Je mo\u017en\u00e9 se p\u0159ihl\u00e1sit na RSS kan\u00e1ly, nap\u0159\u00edklad na ji\u017e zm\u00edn\u011bn\u00e9 podcasty.<\/p>\n<p>Zm\u011bny v t\u00e9to verzi:<\/p>\n<ul>\n<li>minim\u00e1ln\u00ed po\u017eadovan\u00e1 verze Pythonu byla zv\u00fd\u0161ena na 3.6;<\/li>\n<li>zm\u011bny naru\u0161uj\u00edc\u00ed kompatibilitu v klientsk\u00e9m API;<\/li>\n<li>ukon\u010den\u00ed podpory JSON token\u016f (JWT) ve prosp\u011bch OAuth;<\/li>\n<li>vylep\u0161en\u00fd algoritmus generov\u00e1n\u00ed n\u00e1hled\u016f pro obaly;<\/li>\n<li>ve webov\u00e9m rozhran\u00ed byla p\u0159id\u00e1na tla\u010d\u00edtko pro import hudby z filesyst\u00e9mu serveru;<\/li>\n<li>bylo p\u0159id\u00e1no zobrazen\u00ed po\u010dtu sta\u017een\u00ed skladeb a alb;<\/li>\n<li>nov\u00e1 str\u00e1nka pro vyhled\u00e1v\u00e1n\u00ed;<\/li>\n<li>tla\u010d\u00edtko 'p\u0159ehr\u00e1t' u skladeb a alb nyn\u00ed nahrazuje frontu, nikoli p\u0159id\u00e1v\u00e1 skladby do n\u00ed;<\/li>\n<li>podpora scrobblov\u00e1n\u00ed pomoc\u00ed Last.fm API v2.<\/li>\n<\/ul>\n<p>Zdroj: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"http:\/\/www.linux.org.ru\/news\/opensource\/15889305\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u043e\u0435\u043a\u0442 Funkwhale \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b \u043f\u0435\u0440\u0432\u0443\u044e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e. \u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u0438\u0432\u044b \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Python \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u043a\u0430 Django, \u0434\u043b\u044f \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043c\u0443\u0437\u044b\u043a\u0438 \u0438 \u043f\u043e\u0434\u043a\u0430\u0441\u0442\u043e\u0432, \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 Subsonic API \u0438\u043b\u0438 \u0440\u043e\u0434\u043d\u043e\u0433\u043e Funkwhale API, \u0438 \u0441 \u0434\u0440\u0443\u0433\u0438\u0445 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u0432 Funkwhale, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0444\u0435\u0434\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 ActivityPub. \u0412\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441 \u0430\u0443\u0434\u0438\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":93872,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-93871","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/news\/funkwhale-1-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Funkwhale 1.0 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/funkwhale-1-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-09-10T11:41:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-10T11:41:58+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Funkwhale 1.0 | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/funkwhale-1-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Funkwhale 1.0 | ProHoster","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/funkwhale-1-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-09-10T11:41:58+00:00","article:modified_time":"2020-09-10T11:41:58+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"93871","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:38:42","updated":"2022-10-03 16:44:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/93871","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=93871"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/93871\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/93872"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=93871"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=93871"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=93871"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}