みみず工房掲示板
[リストに戻る] [ホームに戻る] [新規投稿] [thread view] [topic view] [留意事項] [ワード検索] [過去ログ] [管理用]
re: VortexBox の使い方(1) - yan 2012/06/28(Thu) 14:14 No.1470
 ├ Re: re: VortexBox の使い方(1) - yo 2012/06/28(Thu) 19:30 No.1473
 ├ Re: re: VortexBox の使い方(1) - yan 2012/06/29(Fri) 01:03 No.1475
 ├ Re: re: VortexBox の使い方(1) - yo 2012/06/29(Fri) 19:40 No.1479
 ├ Re: re: VortexBox の使い方(1) - yan 2012/07/02(Mon) 01:00 No.1493
 ├ Re: re: VortexBox の使い方(1) - yo 2012/07/02(Mon) 18:05 No.1499
 ├ Re: re: VortexBox の使い方(1) - yan 2012/07/05(Thu) 10:26 No.1523
 └ Re: re: VortexBox の使い方(1) - yo 2012/07/05(Thu) 19:29 No.1529

re: VortexBox の使い方(1) 投稿者:yan 投稿日:2012/06/28(Thu) 14:14 No.1470 home
yoさん

VortexBoxのisoファイルを眺めてたら、VortexPlayerは他のマシーンで動いているmpdのブリッジもできるのですね。
それが出来るとVortexBoxをわざわざインストールしなくてもすでに動いている
SqueezeServer からalixのmpdで再生ができそうです。
今、コントローラとしてmpadを使っていますが、一部ライブラリの取扱に
まずいところがあって、mpdを改造してしのいでいます。
vortexplayerを使えばsqueezeServer + ipeng(mpad上のコントローラ) + mpd(alix)
が実現でき,mpad向けにmpodを改造する必要もなくなります。
しかし、isoファイルやgoogleで調べてもvortexplayerのソースがありません。

> VortexPlayerのソースを展開し、AUTHORを読むと分かりますが

ソースの場所を教えていただけますか?

Re: re: VortexBox の使い方(1) 投稿者:yo 投稿日:2012/06/28(Thu) 19:30 No.1473
yanさん

> VortexBoxのisoファイルを眺めてたら、VortexPlayerは他のマシーンで動いているmpdのブリッジもできるのですね。

Windows側でLMSを起動させておいて、Atom機のVoyage MPDとSheevaPlug機のARM用Debian MPDでビルドしたVortexPlayerを使い、音を出しました。どちらも音は出ました。
ただ、インタネットラジオに関しては、ARM用Debian MPDは雑音が多く使い物にならない、Voyage MPDの方もノイズが多くなる局がかなりあるという状況ですね。
単純にVortexPlayerをビルドするだけでは駄目で、環境に合わせて、何らかのカスタマイズする必要があるみたいです。

> ソースの場所を教えていただけますか?

http://yum.vortexbox.org/releases/14/i386/SRPMS/
です。
vortexbox-player-1.0-1.fc14.src.rpmというやつですね。
小さいプログラムですから、yanさんなら簡単にいじり回せると思います。
是非、成果を発表していただて、公開して頂けると嬉しいです。

あと、VortexBoxのmpdをyanさんのrtoptパッチをかけたmpdに入れ換えてみたのですが、プロセス単位の優先度の指定ができませんね。どうもそういうポリシーになっているようです。

Re: re: VortexBox の使い方(1) 投稿者:yan 投稿日:2012/06/29(Fri) 01:03 No.1475 home
yoさん

ソースをdownloadしました。ありがとうございました。
debian でもmake出来ました。
ただ引数にmacアドレスを渡す必要があるようで何を指定していいかわらからないので
まだ実行はしていません。

> ただ、インタネットラジオに関しては、ARM用Debian MPDは雑音が多く使い物にならない、Voyage MPDの方もノイズが多くなる局がかなりあるという状況ですね。

vb-playerはmpdから見るとmpcのようなmpdのクライアントになります。
vb-playerの動作はlmsからのリクエストをmpdに置き換えてmpdに渡すだけです。
従って、インタネットラジオで雑音がでるのはmpdの問題だと思います。
で、確認なのですがvortexbox内にあるmpdだと雑音はないのですか?
それだとmpdというよりインタネットラジオ関連のライブラリの問題かもしれません。

> あと、VortexBoxのmpdをyanさんのrtoptパッチをかけたmpdに入れ換えてみたのですが、プロセス単位の優先度の指定ができませんね。どうもそういうポリシーになっているようです。
言われてみれば、debian,ubuntuでしかテストしてませんでした。^^;
pamあたりに引っかかってるのかな?
debugモードでエラーが出るはずなのでついでの時に確認してもらえますか?

やはり、vmware上にvortexbox をいれなければダメかな。

vortexboxをきっかけにsqueezebox touch とかも注目されればいいんですけど。

Re: re: VortexBox の使い方(1) 投稿者:yo 投稿日:2012/06/29(Fri) 19:40 No.1479 home
yanさん

> ただ引数にmacアドレスを渡す必要があるようで何を指定していいかわらからないので

僕はifconfigで表示された値を使いました。特に問題なく動きました。

> それだとmpdというよりインタネットラジオ関連のライブラリの問題かもしれません。

なるほど、やっぱりそういうことでしたか。
何が不足しているかって、どうやって調べればいいのですかね。

> debugモードでエラーが出るはずなのでついでの時に確認してもらえますか?

了解です。駄目だと思って削除しちゃったので、そのうちやり直してみます。

> やはり、vmware上にvortexbox をいれなければダメかな。

僕もいろいろ実験する時はVmwarePlayerでやっています。
インストールする時、要注意なのはメモリを1MB、ディスクを40GB以上用意すること位ですかね。

> vortexboxをきっかけにsqueezebox touch とかも注目されればいいんですけど。

vortexbox と sueezebox touch は相性がいいでしょうね。お勧めの組み合わせじゃないですかね。

Re: re: VortexBox の使い方(1) 投稿者:yan 投稿日:2012/07/02(Mon) 01:00 No.1493 home
yoさん

> 僕はifconfigで表示された値を使いました。特に問題なく動きました。
そうですか、しかしなんでmacアドレスなんだろう。

> なるほど、やっぱりそういうことでしたか。
> 何が不足しているかって、どうやって調べればいいのですかね。
不足しているというよりバージョンの違いじゃないですかね。

> vortexbox と sueezebox touch は相性がいいでしょうね。お勧めの組み合わせじゃないですかね。
sqeezebox を導入したとき、サーバーがネックで一般のオーディオマニアには使えないなと
思いましたが、vortexboxが簡単にインストールできるなら、現在の問題はsqueezebox touchを
日本で簡単手に入れることができない事ですね。
たとえ日本で手に入れることができても、外観でしか物事を判断できないオーディオマニアには
見向きもされないし、数が売れてもあまり利益が見込めないのでオーディオショップも
扱わないでしょうけど。

Re: re: VortexBox の使い方(1) 投稿者:yo 投稿日:2012/07/02(Mon) 18:05 No.1499 home
yanさん。

vortexboxのmpdをrtoptパッチをかけ、デバッグモードで起動したログです。

[vortexbox.localdomain mpd]# /usr/local/bin/mpd --no-daemon --stderr --verbose /etc/mpd.conf 2>&1 |tee /tmp/mpd-err.log
config: loading file /etc/mpd.conf
realtime_option(set_parameter): memlock enable stack_reserve : 1048576 heap_reserve : 10485760
realtime_option(set_parameter): main_priority policy 0 priority 0
realtime_option(set_parameter): player_priority policy 1 priority 50
realtime_option(set_parameter): decoder_priority policy 0 priority 0
realtime_option(set_parameter): update_priority policy 0 priority 0
realtime_option(init_output_priority_tab): output priority name My ALSA Device policy 1 priority 52
realtime_option(rtopt_change_priority): name main_priority policy 0 priority 0
realtime_option(rtopt_change_thread_priority): name main_priority not changed
path: path_set_fs_charset: fs charset is: UTF-8
database: reading DB
daemon: opening pid file
daemon: writing pid file
avahi: Initializing interface
avahi: Client changed to state 2
avahi: Client is RUNNING
avahi: Registering service _mpd._tcp/VortexPlayer
avahi: Service group changed to state 0
avahi: Service group is UNCOMMITED
state_file: Loading state file /var/lib/mpd/state
realtime_option(rtopt_change_priority): name player_priority policy 1 priority 50
realtime_option(change_priority): name player_priority policy 1 priority 50
realtime_option(rtopt_change_priority): name decoder_priority policy 0 priority 0
realtime_option(change_priority): name decoder_priority policy 0 priority 0
database: get song: ヴィオラ・ダ・ガンバ・コンソート 〜16・17世紀イギリス音楽の栄光〜-ザ・ロイヤル・コンサート/01_最も美しい島よ.wav
realtime_option(rtopt_change_output_priority): name My ALSA Device policy 1 priority 52
realtime_option(change_priority): name My ALSA Device policy 1 priority 52
decoder_thread: clearing mixramp tags
decoder_control: mixramp_start = NULL
decoder_control: mixramp_prev_end = NULL
inotify: auto_update was disabled. enable during compilation phase
realtime_option(rtopt_memlock): stack_reserve 1048576
realtime_option(rtopt_memlock): heap_reserve 10485760
decoder_thread: probing plugin sndfile
decoder: audio_format=44100:32:2, seekable=true
alsa: opened hw:0,0 type=HW
alsa: format=S32_LE (Signed 32 bit Little Endian)
alsa: buffer: size=16..131072 time=362..2972155
alsa: period: size=8..65536 time=181..1486078
alsa: default period_time = buffer_time/4 = 500000/4 = 125000
avahi: Service group changed to state 1
avahi: Service group is REGISTERING
alsa: buffer_size=22050 period_size=5513
output: opened plugin=alsa name="My ALSA Device" audio_format=44100:32:2
Failed to open mixer for 'My ALSA Device': no such mixer control: PCM
avahi: Service group changed to state 2
avahi: Service 'VortexPlayer' successfully established.
^C
[vortexbox.localdomain mpd]#

ちなみに「ps -eLo pid,lwp,rtprio,priority,cmd」の出力(最後の部分だけ)は

[vortexbox.localdomain mpd]# ps -eLo pid,lwp,rtprio,priority,cmd
PID LWP RTPRIO PRI CMD
1 1 - 20 /sbin/init
2 2 - 20 [kthreadd]
3 3 - 20 [ksoftirqd/0]
5 5 - 20 [kworker/u:0]
6 6 99 -100 [migration/0]
7 7 99 -100 [watchdog/0]
8 8 99 -100 [migration/1]
10 10 - 20 [ksoftirqd/1]
12 12 99 -100 [watchdog/1]
13 13 - 0 [cpuset]
14 14 - 0 [khelper]
15 15 - 20 [kdevtmpfs]
16 16 - 0 [netns]
17 17 - 20 [sync_supers]
18 18 - 20 [bdi-default]
19 19 - 0 [kintegrityd]
20 20 - 0 [kblockd]
21 21 50 -51 [irq/9-acpi]
(途中省略)
1479 1479 - 20 /sbin/udevd
2925 2925 - 20 [kworker/1:0]
9397 9397 - 20 [kworker/0:1]
14278 14278 - 20 [kworker/1:1]
20103 20103 - 20 [kworker/0:2]
20537 20537 - 20 /usr/bin/mpd /etc/mpd.conf
20537 20538 - 20 /usr/bin/mpd /etc/mpd.conf
20537 20540 - 20 /usr/bin/mpd /etc/mpd.conf
20537 20541 - 20 /usr/bin/mpd /etc/mpd.conf
20537 20542 - 20 /usr/bin/mpd /etc/mpd.conf
20574 20574 - 20 [kworker/0:0]
20715 20715 - 20 sleep 2
20716 20716 - 20 ps -eLo pid,lwp,rtprio,priority,cmd
となります。

mpd.confは

music_directory "/storage/music/flac"
playlist_directory "/var/lib/mpd/playlists"
db_file "/var/lib/mpd/database"
log_file "/var/log/mpd.log"
pid_file "/var/lib/mpd/pid"
state_file "/var/lib/mpd/state"
sticker_file "/var/lib/mpd/sticker.sql"
auto_update "yes"
port "6600"
zeroconf_enabled "yes"
zeroconf_name "VortexPlayer"

realtime_option {
memlock "yes"
stack_reserve "1024"
heap_reserve "10240"

main_priority "OTHER:0"
player_priority "FIFO:50"
decoder_priority "OTHER:0"
update_priority "OTHER:0"
}
audio_output {
type "alsa"
name "My ALSA Device"
device "hw:0,0" # optional
priority "FIFO:52"
# format "44100:16:2" # optional
# mixer_device "default" # optional
# mixer_control "PCM" # optional
# mixer_index "0" # optional
}
です。

よろしくお願いします。

Re: re: VortexBox の使い方(1) 投稿者:yan 投稿日:2012/07/05(Thu) 10:26 No.1523 home
yoさん

みのがしてました。

検証ありがとうございました。
エラーはでてませんね。

vortexboxで実際に動作させる必要があるのでちょっとお時間を下さい。



Re: re: VortexBox の使い方(1) 投稿者:yo 投稿日:2012/07/05(Thu) 19:29 No.1529
> エラーはでてませんね。

音はちゃんとなります。

> vortexboxで実際に動作させる必要があるのでちょっとお時間を下さい。

急ぎませんし、「駄目もと」と思っていますので、のんびりどうぞ。

isoファイルをご覧になっていらっしゃるので、VortexBoxの構造はご存じだと思いますが、VortexBoxの MPD のコントロールのしかたは Voyage MPDと大分異なりますね。
VortexBox って、Linux上で動く種々の既存のサーバ/アプリケーションをそのまま利用するMVCモデル/Webベースのソフトウェアという作りですね。処理の中核を担う「Model」は /usr/bin/ に(LMS、MPDなどのメインアプリケーション)、表示・出力を司る「View」は/var/www/html/に(php)、入力を受け取ってその内容に応じてViewとModelを制御する「Controller」は /opt/vortexbox/ と /etc/init.d/ に置くことで(シェルスクリプト)、MVCモデルを実現しています。なかなか面白いです。
/etc/mpd.conf が残されているので、騙される(^^;;;のですが、VortexBoxの mpdの設定ファイルは /etc/vortexbox-player/mpd0.conf となり、/opt/vortexbox/mpd_config.php という php のスクリプトで自動生成されています。従って、phpのスクリプトに手を入れないと、rtoptの設定もできません。

まあ、以上、yanさんには蛇足だと思いますが、ご参考まで。


- 返信フォーム

Name
E-Mail
Title
Message
WebSite
password (英数字で8文字以内, under 8 alphanumeric characters to delete or correct message)
submit key (投稿時には 投稿キー(文字) を入力してください, please enter characters left)