{"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\/es\/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>Proyecto <a rel=\"nofollow\" href=\"https:\/\/funkwhale.audio\">Funkwhale<\/a> ha lanzado su primera versi\u00f3n estable. Como parte de la iniciativa, se desarrolla un servidor libre escrito en Python utilizando el framework Django, para alojar m\u00fasica y p\u00f3dcast, que se pueden escuchar a trav\u00e9s de una interfaz web, <a rel=\"nofollow\" href=\"https:\/\/funkwhale.audio\/apps\">clientes que soportan Subsonic API o el API nativo de Funkwhale<\/a>como <a rel=\"nofollow\" href=\"https:\/\/network.funkwhale.audio\">desde otras instancias de Funkwhale<\/a>, utilizando <a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/activitypub\">el protocolo de red federativa ActivityPub<\/a>.<\/p>\n<p><\/noindex><\/noindex><br \/>\n<noindex><\/p>\n<p>La interacci\u00f3n del usuario con el audio se realiza mediante bibliotecas y canales: las bibliotecas son colecciones de varios artistas con un UUID creado aleatoriamente como direcci\u00f3n, mientras que un canal es la discograf\u00eda de un \u00fanico int\u00e9rprete, al que se le asigna una direcci\u00f3n legible; los canales pueden ser \u00fatiles para publicar p\u00f3dcast. La gesti\u00f3n de suscripciones es similar a la de otro proyecto - <a rel=\"nofollow\" href=\"https:\/\/joinpeertube.org\">PeerTube<\/a>: puedes suscribirte tanto a un usuario como a sus canales creados por separado. Dado que el servidor opera bajo el protocolo ActivityPub, es posible suscribirse desde otras implementaciones populares, como <a rel=\"nofollow\" href=\"https:\/\/joinmastodon.org\">Mastodon<\/a> y <a rel=\"nofollow\" href=\"https:\/\/pleroma.social\">Pleroma<\/a>.<\/p>\n<p><\/noindex><\/p>\n<p><noindex><\/p>\n<p>Despu\u00e9s de crear una biblioteca o un canal, se puede cargar m\u00fasica. El almacenamiento de archivos puede ser local o remoto, utilizando el soporte integrado para sistemas de archivos en el protocolo Amazon S3. Se puede cargar cualquier archivo de formato popular, sin recodificaci\u00f3n adicional y sin p\u00e9rdida de calidad (a diferencia de, por ejemplo, PeerTube, que tambi\u00e9n soporta la carga de audio). Funkwhale lee los metadatos musicales y las portadas incrustados en los archivos, y en caso de que falten, devuelve un error. Por lo tanto, se recomienda a los usuarios utilizar <a rel=\"nofollow\" href=\"https:\/\/picard.musicbrainz.org\">MusicBrainz Picard<\/a> para registrar las etiquetas correctas antes de la carga. Tambi\u00e9n est\u00e1 disponible una interfaz para editar metadatos despu\u00e9s de la carga, que funciona en forma de revisiones con un historial de cambios visible.<\/p>\n<p><\/noindex><br \/>\n<noindex><\/p>\n<p>A partir de la m\u00fasica ya cargada, se pueden crear listas de reproducci\u00f3n, estaciones de radio y marcar pistas como favoritas. Los usuarios externos podr\u00e1n solicitar acceso a tu biblioteca o canal simplemente poniendo el enlace en la barra de b\u00fasqueda de su servidor. Los usuarios an\u00f3nimos podr\u00e1n escuchar m\u00fasica desde la interfaz web, si est\u00e1 permitido en la configuraci\u00f3n del servidor. Los usuarios locales registrados pueden acceder a toda la m\u00fasica del servidor sin usar la interfaz web, ingresando a trav\u00e9s de <a rel=\"nofollow\" href=\"http:\/\/www.subsonic.org\/pages\/apps.jsp\">cualquier cliente que soporte Subsonic API<\/a> \u2014 otro servidor musical, actualmente bajo licencia propietaria, con ramificaciones de la antigua base de c\u00f3digo en desarrollo paralelo bajo licencia libre, \u2014 o el nativo Funkwhale API, por ejemplo, <a rel=\"nofollow\" href=\"https:\/\/github.com\/apognu\/otter\">Otter para Android<\/a>.<\/p>\n<p><\/noindex><\/p>\n<p>Los clientes tambi\u00e9n pueden solicitar al servidor una versi\u00f3n transcodificada de las pistas (por ejemplo, de FLAC a MP3 con menor bitrate, que requiere menos tr\u00e1fico de internet).<\/p>\n<p>Es posible suscribirse a feeds RSS, por ejemplo, a los podcasts ya mencionados.<\/p>\n<p>Los cambios en esta versi\u00f3n incluyen:<\/p>\n<ul>\n<li>la versi\u00f3n m\u00ednima requerida de Python se ha elevado a 3.6;<\/li>\n<li>cambios que rompen la compatibilidad en la API del cliente;<\/li>\n<li>se ha dejado de soportar JWT en favor de OAuth;<\/li>\n<li>algoritmo mejorado para generar vistas previas de car\u00e1tulas;<\/li>\n<li>se ha a\u00f1adido un bot\u00f3n en la interfaz web para importar m\u00fasica desde el sistema de archivos del servidor;<\/li>\n<li>se ha a\u00f1adido la visualizaci\u00f3n del n\u00famero de descargas de pistas y \u00e1lbumes;<\/li>\n<li>nueva p\u00e1gina de b\u00fasqueda;<\/li>\n<li>el bot\u00f3n de \u00abreproducir\u00bb en pistas y \u00e1lbumes ahora reemplaza la cola, en lugar de a\u00f1adir pistas a ella;<\/li>\n<li>soporte para scrobbling utilizando Last.fm API v2.<\/li>\n<\/ul>\n<p>Fuente: <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.2 - 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\/es\/blog\/news\/funkwhale-1-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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\/es\/blog\/news\/funkwhale-1-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/93871","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=93871"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/93871\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/93872"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=93871"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=93871"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=93871"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}