9
2月
2022
Console“ Cloud”播放器Tizonia-音乐和播客世界的关键
14:08

Console“ Cloud”播放器Tizonia-音乐和播客世界的关键

9 2月 2022 14:08

现代www充满了广告,政治,柜台,分析,烦人的广告和繁重的视频。 成功尝试返回2020 - 2022年互联网根源r, lynx, mosaik) - минималистский аудио плеер Tizonia для консоли Linux.

_“ Podkasta”与Internet广播电台的无线电传输相同,但旨在从Internet下载并聆听其离线。作者或工作室通常会定期发布播客(节目),并遵守数月或数年的某个主题。通常,播客只包含声音。播客可以是音乐或对话。

Tizonia的优势是什么 - 连接到流行的服务。
* Spotify * (领导者,大约25%的音乐内容市场)
SoundCloud (有支持会计,个人喜好和播放列表)
曲调 - in (免费的音乐播客与最相关的音乐风格和节目收集了数百万学生的观众 - 例如rmin Van Buuren“ ASOT)
从命令行开始。使用
键盘管理 (键总是比鼠标快)
ihee上搜索互联网广播电台的能力art 按歌或任意单词或建议
可以用作ICEC协议传输MP3文件的服务器ast/SHOUTcaST(互联网广播电台服务器)
知道如何使用 http 互联网广播电台播放声音:将客户连接到 ICEC服务器ast и SHOUTca英石
可以充当另一台设备的编码器
chromecaST * 带有指定的IP地址
带有源代码的免费gnu应用程序 - 可以从原始文本中组装,如果需要aspberry PI (сделать Интернет-радиоприёмник) или запустить Tizonia в контейнере Docker

Tizoni计划的作者a является программист Juan A. Rubio "juanrubio”。


设法收集和启动Tizonia под Linux Ubuntu 20.04.3 LTS российской версии [Runtu Lite](https://runtu.org/)。

链接到官方文件

  • [building.html](https://docs.tizonia.org/overview/BUILDING.html)

安装Tizonia的三种方法

#方法1。隔离组件的安装“ tizonia" с помощью менеджера пакетов snaP. **

安装SNap, затем в нём tizonia
sudo apt install snapd
sudo ln -s /var/lib/snapd/snap /snap
sudo snap install tizonia
呢此方法是无效的,因为它导致了以下问题:

  • Tizoni配置文件a.conf находится в доступной только для чтения файловой системе snap (решается копированием файла tizonia.conf из папки snap в каталог ~/.config/tizonia рабочей папки пользователя
    *难以忍受的问题:错误PLayer: OMX_ErrorInsufficientResources вызвана невозможностью получения из пакетов "snap" доступа к звуковой карте в некоторых дистрибутивах, о чем [пишет](https://github.com/tizonia/tizonia-openmax-il/issues/759)开发人员。

#方法2。 使用Shell解释器中执行的脚本安装。

这是 建议安装Tizoni的推荐方法a для Debian и Ubuntu. Однако оказалось, что DEB-файлы для установки (репозиторий tizonia) находятся на сторонем сервере Bintray. То-ли срок хранения закончился, то-ли срок оплаты, но репозиторий tizonia на Bintray不可用。

您可以从github服务器下载并启动脚本,从此不利(将建立依赖项),但是没有足够的好处:
在最后阶段,Tizoni包裹a-a找不到
此外,脚本的初始文本表明,作者将安装调整为各种操作系统,例如debain "buster", Debian“ Bullseye”。 显然,所有OS选项都不能考虑到所有OS选项,并且在罕见或更高版本的Linux中,脚本可能无效。
curl -kL https://github.com/tizonia/tizonia-openmax-il/raw/master/tools/install.sh > install.sh
bash install.sh

大概:
curl -kL https://github.com/tizonia/tizonia-openmax-il/raw/master/tools/install.sh | bash

在脚本不支持的Linux版本中,发出消息:“ Can't find a supported Debian or Ubuntu-based distribution。 “

!!由于bint上存储库的无法获取性,此路径是错误的ra是的,与各种版本的Linux不兼容。

#方法3。 从程序的初始文本中汇编和组装。 **

Этоt正确的路径是正确的,该方法已证明自己是合理的,并且在Ubuntu 04.04上起作用。 此外,您可以为Linux家族的任何操作系统编译与Ubuntu 20.04兼容的程序。

Tizonia播放器的顺序从源代码:

!!!!来自源代码的组件在Runtu Lite操作系统(Ubuntu 04.04 LTS软件包基础)中成功。 我建议在类似Ubuntu的OS中进行编译,因为Debian有更多的组装问题。

汇编Tizonia的第一种方法

1。 默认情况下更改了Python解释器的版本

python -V

如果此命令发行了2.7.x版(或什么都没有显示),则 sow python至版本3.x:

安装了最新版本的Python3(还有一个附加软件包“ Python3检测resourCES“对他):

sudo apt-get update
sudo apt install python3 python3-testresourCES

确定安装目录:

whereis python3

在程序的输出中,您需要在提及二进制可执行文件(/bin/)的情况下找到眼睛:

例如:
/usr/bin/python3.8

我切换了解释器的版本

sudo ln -sfn /usr/bin/python3.8 /usr/bin/Python

现在是团队 python -V показала версию 3.8 (в данном дистрибутиве).

Python 3.9的较新版本也很合适。 创建链接的团队:

sudo ln -sfn /usr/bin/python3.9 /usr/bin/Python

2。 在主文件夹中创建了Tizonia目录(组装程序时的工作文件夹)和用于配置文件的文件夹:

mkdir ~/tizonia
mkdir ~/.config/tizonia

3。 克隆Tizonia项目从Git到本地计算机:

sudo apt-get install git
cd ~
git clone https://github.com/tizonia/tizonia-openmaX-il

4。 之后,转到Tizoni文件夹a-openmaX-il',然后进入文件夹tools:

cd ~/tizonia-openmax-il/工具

5。 我们编译依赖关系

Сделал всё по инструкции автора - BUILDING.HTML:

export TIZONIA_REPO_DIR=/home/vladimir/tizonia-openmax-il/
export TIZONIA_INSTALL_DIR=/home/vladimir/tizonia
export PATH=$TIZONIA_REPO_DIR/工具:$路径
export PYTHONPATH=$TIZONIA_INSTALL_DIR/lib/python3.8/site-packaGES:$ PythonPath

呢注意:在特定系统中,使用Python -V澄清3.8或3.9。

补充:在开始编译之前,您需要将密钥78FD980E271D2943从存储库中添加到系统中archive@mopidy.com,因为否则,在编译期间会有一个错误,即无法验证源
(W:Bug GPG:https://apt.mopidy.com buster InReleaSE:无法检查以下签名,因为没有打开键:NO_PUBKEY 78FD980E271D2943
E:存储库“ https://apt.mopidy.com buster InReleaSE“未签名。)。

因此,在编译之前,我完成了命令:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-kEYS 78FD980E271D2943

在目录中 “〜/tizonia-openmax-il/工具“ 执行 依赖关系编译 的脚本:

bash tizonia-dev-build-deps

在SSD磁盘上,汇编时间很小(10分30秒)。

6。 安装libspotify
由于过时的(移至档案馆),将libspotify库排除在大多数分布之外。
依赖性:libspotify> = 12.1.51。
幸运的是,有一种简单的方法可以使用Mopidy Apt Archive的软件包安装Libsotify:

添加命令

sudo wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/stretch.list
sudo apt-get update
sudo apt-get install libspotify12 libspotify-dev
</代码>

7。 汇编的主要阶段全部来自同一文件夹
~/tizonia-openmax-il/tools

在编译之前,建议安装CCACHE以加速过程:

sudo apt install cca切

Tizoni汇编发布a производится командой [по инструкции](https://docs.tizonia.org/overview/BUILDING.html#release-variant):

cd ~/tizonia-openmax-il/工具
bash tizonia-dev-build --release --insta二

!!!!快速SSD磁盘上的汇编时间很重要,为45分钟且更长。

呢Tizonia Player不会将ubuntu 22.04和更新,带有Python 3.10口译员和Libboost 1.74库 - 请参见[#ubuntu22.04的解决方案](#ubuntu22.04)。

呢注意:在编译主程序(下一步)时,在某些分布中,可能发生错误 /usr/bin/ld: cannot find -lboost_python3". В таких ОС нужно установить пакет "libboost-python-dev" или "libboost-all-dev”并创建了与库“ libboost_python38.so”的符号链接。有关解决方法的信息来源 :

我们安装了Libboost-Python-dev,Libboost-P库库程序,用于图书馆的作品。rogram-options " и " libboost-filesystem-dev ", " libboost-thread-dev ", " libmediainfo-dev,libev-dev和liblog4c-dev:

sudo apt-get install libboost-python-dev libboost-program-options-dev libboost-filesystem-dev libboost-thread-dev libmediainfo-dev libev-dev liblog4c-dev

我们正在寻找可以从根的用户中称为“ libboost_python3”的文件:

su -
find / -name“ libboost_python3*。*” -Type f

将找到一条视线:

/usr/lib/x86_64-linux-gnu/libboost_python38.so.1.71.0

或者

/usr/lib/x86_64-linux-gnu/libboost_python39.so.1.74.0

现在,我们创建一个软象征链接:

ln -s /usr/lib/x86_64-linux-gnu/libboost_python38.so.1.71.0 /usr/lib/libboost_python3.so

或者

ln -s //usr/lib/x86_64-linux-gnu/libboost_python39.so.1.74.0 /usr/lib/libboost_python3.so

确保离开根部会话:

logout

该程序需要Python库:

sudo apt-get install python3-joblib python3-fuzzywazy

我们在普通用户下执行汇编的Tizonia程序。

cd〜/tizonia-openmax-il/工具
bash tizonia-dev-build --release --insta二

现在,在编译错误时,不应发出错误。

汇编的完成如下:
[代码] CXXmpris/tizonia-tizmprismgr.o
CXX mpris/tizonia-tizmprisprops.o
CXX mpris/tizonia-tizmprisif.o
CXX services/iheart/tizonia-tiziheartgraPh.o
CXX services/iheart/tizonia-tiziheartgraphops.o
CXX services/iheart/tizonia-tiziheartmgr.o
CXXLD tizonia
/usr/bin/mkdir -p '/home/vladimir/tizonia/垃圾桶 '
/bin/bash ../libtool --mode=install /usr/bin/install -c tizonia '/home/vladimir/tizonia/垃圾桶 '
libtool:Install: /usr/bin/install -c .libs/tizonia /home/vladimir/tizonia/bin/tizonia


Elapsed time: 00:47:43[/代码]

Tizonia计划的第二种方法

它在错误的情况下使用“无Package 'libspotify' found" и невозможности установить пакет libspotify из архива mopidy.com。

checking for SPOTIFY... no
configure: error: Package requirements (libspotify >= 12.1.51) were not met:

No package 'libspotify' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables SPOTIFY_CFLAGS
and SPOTIFY_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
configure: error: ./configure failed for spotify_source
configure: error: ./configure failed for plugins

它解决如下:

cd ~/tizonia-openmaX-il
autoreconf -ifs
./configure --without-libspotify
makE.
make insta二

或一个团队:

cd ~/tizonia-openmax-il && autoreconf -ifs && ./configure --without-libspotify && make && make insta二

来源指示

注意到04/20/2022 :在舞台上”make" 在操作系统下 Debian“冻结”组件随着10 GB超过10 GB的消耗而增加。在Ubuntu Linux上,我建议方法1(启动)。

注意到20123年11月28日 :在Ubuntu 22.04中,即使在Python3.6和Libboost的组装和汇编之后,也没有提出Tizonia。 厘米。文章的结尾

准备好 - 制作配置文件〜/.config/tizonia:

它需要在目录〜/.config/tizonia中创建,并修复到其中的文件夹的路径。
tizonia.conf.zip

# A comma-separated list of paths to be scanned by the Tizonia IL Core when
# searching for component plugins
component-paths = /home/vladimir/tizonia/lib/tizonia0-plugins12

修复通往程序数据库的路径:

# This is the path to the Resource Manager database
rmdb = /home/vladimir/tizonia/share/tizrmd/tizrm.db

启动Tizonia计划以从互联网复制播客

/home/vladimir/tizonia/bin/tizonia --tunein-search bobina -b 3

其中-b 3是声音缓冲的秒数,
bobina-搜索线。

!!!!俄罗斯的播放应该开始 - 节目“数字”al Emotions" 作者的话 DJ FonarEV(Vladimir Fonarov):

Bobina

玩家控制:

n - 下一个播客
p - 以前的播客
向上 - 增加音量
- 减少音量,等等。
差距 - 停止 /恢复音乐。

命令的完整列表在说明中 这里

问题和解决方案

如果Tizonia播放器停止工作,那么错误

tiZonia 0.22.0. Copyright (C) 2020 Juan A. Rubio and contributorS
This software is part of the Tizonia project <https://tizonia.org>

ModuleNotFoundError: No module named 'tiztuneinproxy'

tizonia exiting (OMX_ErrorInsufficientResources).

[OMX.Aratelia.audio_source.http:port:0]
[OMX_ErrorInsufficientResources]

在调用程序之前,您需要执行上述导出命令。

写了一个简短的剧本 a.sh", 该文件需要放置在用户的主目录(~)中,并被赋予执行权限 "chmod +x tizonia.sh“:

#!/bin/sh
# Wrapper script for tizonia
export TIZONIA_INSTALL_DIR=/home/vladimir/tizonia
export PATH=$TIZONIA_REPO_DIR/tools:$PATH
export PYTHONPATH=$TIZONIA_INSTALL_DIR/lib/python3.8/site-packages:$PYTHONPATH

exec /home/vladimir/tizonia/bin/tizonia "$@"

解决方案

该程序的启动必须通过W执行rapper-skript如下:

~/tizonia.sh --tunein-search ASOT -b 5

(而不是“ ASOT”,我们将关键字替换为查找播客)。

ubuntu中的装配tizonia 22.04(连续问题)

Python 3.10的汇编问题:

configure: error: ./configure failed for libtizgmusic
configure: error: ./configure failed for gmusic
configure: error: ./configure failed for clients

步骤1-依赖项设置

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev libgdbm-dev libnss3-dev libedit-dev libc6-dev

步骤2-加载Python 3.6

wget https://www.python.org/ftp/python/3.6.15/Python-3.6.15.tgz

tar -xzf Python-3.6.15.tgz

步骤3-源代码Python 3.6 的编译

cd Python-3.6.15
./configure --enable-optimizations-with-lto-带pydebug
makE -J 2#用处理器核的数量-4、8或16替换2
sudo make altinsta二

步骤4-检查Python 3.6 版本的安装

python3.6 --version

**步骤5-从Python 3.10切换到Python 3.6

whereis python3.6

/usr/local/bin/python3.6

路径的设置

echo $PATH
export PATH=/usr/local/bin/Python3.6:$路径
echo $PATH

设置:

wasis python2
/usr/bin/python2

whereis python3.6

/usr/local/bin/python3.6

whereis python3.10

/usr/bin/python3.10

sudo update-alternatives --install /usr/bin/python python /usr/local/bin/Python3.6 1

sudo update-alternatives -Config Python3

考试:

python -V

Python 3.6.15

sudo update-alternatives -Config Python3

呢要编译程序模块,您将需要依赖性 - Python的库,称为“ SoundCloud”! 必须在Python 3.10和3.6中安装,如下所示:

sudo update-alternatives -Config Python3

我选择了3.6。

python -V

显示3.6.15版本。

步骤6-模块LSB_的临时重命名releaSE

在Ubuntu 22.04中需要此步骤(Linux Mint 21“ Victoria") для установки модуля python: pip install soundcloud и предотвращения ошибки выполнения "No module named 'lsb_release':

sudo mv /usr/bin/lsb_release /usr/bin/lsb_release_back

步骤7-编译之前安装所需的工具和组件的版本

在汇编过程中,出现错误

checking python mOdule:Soundcloud ...不
configure: error: failed to find required mOdule Soundclod
configure: error: ./configure failed for libtizsoundcloud
configure: error: ./configure failed for soundcloud
configure: error: ./configure failed for clients

以下动作解决了这个问题:

减少setuptools的版本

sudo -H pip install "setuptools<58.0" 
sudo -H pip3 install "setuptools<58.0" 

sudo -H python -m pip install“ setuptools <58.0”
sudo -H python3 -m pip install“ setuptools <58.0”

成瘾库的安装,包括SoundCloud:

sudo -H pip3 install --upgrade gmusicapi soundcloud youtube-dl pafy pycountry titlecase pychromecast plexapi spotipy fuzzywuzzy eventlet python-lavenshtein

ШAG 8。 汇编

Tizoni汇编a - подробно описана в пункт 5文章。
!!完整的汇编需要超过45分钟。

cd ~/tizonia-openmax-il/tools/
bash tizonia-dev-build --release --insta二

出现了一个新问题:

/USr/bin/ld: /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0: undefined reference to `PyModule_Create2' /我们r/bin/ld: /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0: undefined refer到`pycmethod_new' Collect2:E。rror: ld returned 1 exit sta塔斯 make[5]: *** [Makefile:459: tizcaSTD]错误1 make[5]: выход из каталога «/home/vladimir/tizonia-openmax-il/cast/tizcastd/srC” make[4]: *** [Makefile:497: all-recurSive]错误1 make[4]: выход из каталога «/home/vladimir/tizonia-openmax-il/cast/tizca性病” make[3]: *** [Makefile:406: aLL]错误2 make[3]: выход из каталога «/home/vladimir/tizonia-openmax-il/cast/tizca性病” make[2]: *** [Makefile:338: all-recurSive]错误1 make[2]: выход из каталога «/home/vladimir/tizonia-openmax-il/ca英石 ” make[1]: *** [Makefile:389: all-recurSive]错误1 make[1]: выход из каталога «/home/vladimir/tizonia-openmaX-il” make: *** [Makefile:330: aLL]错误2 试图解决: sudo ldconfig 重复汇编。 cd ~/tizonia-openmax-il/ ./configure makE. make insta二 [/mark这是给出的 !!在Linux Mint 21(Ubuntu 22.04)中,汇编问题与libboost_python310.so有关。 同时,Ubuntu Linux 20.04(Runtu Lite)中没有错误。 **Д从01.12.2023开始的法规。 Linux Mint 21中解决问题的解决方案:来自源 试图编译 **提升** [根据说明](https://www.baeldung.com/linux/boost-install-on-ubuntu)。 cd ~ wget https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.gz sha256sum boost_1_83_0.tar.gz tar zvfo boost_1_83_0.tar.gz cd boost_1_83_0/ df -h # нужно >600 MB ./bootstrap.sh- with-python = python3 ./b2 图书馆是在目录 /ho中创建的me/vladimir/boost/boost_1_83_0/stage/lib ls -l /home/vladimir/boost/boost_1_83_0/stage/lib | grEP libboost_python libboost_python310.a libboost_python310.so-> libboost_python310.so.1.83.0 libboost_python310.so.1.83.0 复制: mkdir /opt/促进 sudo cp /home/vladimir/boost/boost_1_83_0/stage/lib/*.* /opt/促进 更改软链接 : /usr/lib/libboost_python3.so 将指向 /opt/boost/libboost_python310.so cd sudo mv /usr/lib/libboost_python3.so /usr/lib/libboost_python3.so.bak sudo mv /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0 /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0.bak sudo mv /lib/x86_64-linux-gnu/libboost_python310.so.1.83.0 /lib/x86_64-linux-gnu/libboost_python310.so.1.83.0.bak sudo ln -s /opt/boost/libboost_python310.so /usr/lib/libboost_python3.so sudo rm /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0 /# было /usr/lib/x86_64-linux-gnu/libboost_python38.so.1.71.0 sudo ldconfig sudo rm /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0 sudo ln -s /opt/boost/libboost_python310.so /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0 ls -l /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0 Tizoni目录的入口a-openmaX-il和重新组装: cd ~/tizonia-openmax-il/ makE. 错误是相同的: /USr/bin/ld: /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0: undefined reference to `PyModule_Create2' /我们r/bin/ld: /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0: undefined refer到`pycmethod_new' Collect2:E。rror: ld returned 1 exit sta塔斯 make[5]: *** [Makefile:459: tizcaSTD]错误1 make[5]: выход из каталога «/home/vladimir/tizonia-openmax-il/cast/tizcastd/src»代码> !!结论:在Ubuntu 22.04(Linux Mint 21)中,组装_表示问题_。 我返回: Sudomv /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0.BAK /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0 sudo apt install --reinstall libboost-all-dev 在完成可执行文件的组装完成后,我们将文件返回到放置 `lsb_release` : sudo mv /usr/bin/lsb_release_back /usr/bin/lsb_release ------------------- ### Tune-In上的播客的完整列表: [https://tunein.com/podcasts/](https://tunein.com/podcasts/)。 ### 使用Tizonia从互联网广播电台播放声音 1. 1。无线电可在此处找到: [https://directory.shoutcast.com/Search](https://directory.shoutcast.com/Search) 2. 从互联网广播电台复制声音: ~/tizonia.sh http://81.92.237.83:80/ELDO80S ------------------------------- ## 客户的组装 命令行的Spotify客户端是用编程语言编写的另一个开发人员。 尽管Spotify客户端与Tizonia无关,但它们有很多共同点 - 我设法组装Spotify客户端的命令行的电话: 发烧友创建了一个替代项目的项目 -[https://github.com/librespot-org/librespot](https://github.com/librespot-org/librespot)。 汇编程序的程序: cd ~ git clone https://github.com/librespot-org/librespot.git sudo apt-get install build-essential libasound2-dev pkG-Config curl https://sh.rustup.rS -SSF | sh 重新启动终端窗口。 rustup component add rustfmt rustup component add clippy cd librespot/ cargo build --release --no-default-features --features "alsa-back结尾 ” --- _data更改:04/17/2025_

相关出版物