しばらくの間(バージョンではわかりません)、最後にキューに入れられた曲が再生された後、mopidyは再生状態を終了しません。 mpdクライアントは、mopidyがまだ再生されていることを報告し続けます。
たとえば、現在、最後の曲が数分前に(音声で)再生を停止し、次の出力を受け取ります。
languitar<strong i="7">@miles</strong> ~ [1]> mpc -h 192.168.1.8
Andre Manoukian - Blow !
[playing] #12/12 0:00/3:06 (0%)
volume: 68% repeat: off random: off single: off consume: off
この状態で手動で再生を停止することができます。
languitar<strong i="11">@miles</strong> ~> mpc -h 192.168.1.8 stop
volume: 68% repeat: off random: off single: off consume: off
languitar<strong i="12">@miles</strong> ~> mpc -h 192.168.1.8
volume: 68% repeat: off random: off single: off consume: off
これはspotifyバックエンドの問題かもしれないと最初に思いましたが、これはローカルメディアファイルでも発生するため、より一般的なようです。 これは、消費モードがある場合とない場合でも発生します。
archlinux64ビットでMopidy2.0.1を使用しています。
v2.1をリリースする前に、これが#1512 /#1549に関連しているかどうかを確認する必要があります。
Ubuntu 16.04のv2.0.1でこれを再現することはできず、どのシステムでもこれに気づいたことはありませんが、いずれもarchlinuxではありません。おそらくそれは重要です。
@languitar mopidy deps
の出力と、問題が発生したデバッグログを提供できますか?
これがmopidy deps
の出力です
Executable: /usr/bin/mopidy
Platform: Linux-4.8.4-1-ARCH-x86_64-with-glibc2.2.5
Python: CPython 2.7.12 from /usr/lib/python2.7
Mopidy: 2.0.1 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
tornado>=2.3: 4.4.2 from /usr/lib/python2.7/site-packages
singledispatch: 3.4.0.3 from /usr/lib/python2.7/site-packages
six: 1.10.0 from /usr/lib/python2.7/site-packages
backports_abc>=0.4: 0.4 from /usr/lib/python2.7/site-packages
Mopidy-MusicBox-Webclient: 2.3.0 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
Mopidy>=1.1.0: 2.0.1 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
tornado>=2.3: 4.4.2 from /usr/lib/python2.7/site-packages
singledispatch: 3.4.0.3 from /usr/lib/python2.7/site-packages
six: 1.10.0 from /usr/lib/python2.7/site-packages
backports_abc>=0.4: 0.4 from /usr/lib/python2.7/site-packages
Mopidy-ALSAMixer: 1.0.3 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
Mopidy>=0.19: 2.0.1 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
tornado>=2.3: 4.4.2 from /usr/lib/python2.7/site-packages
singledispatch: 3.4.0.3 from /usr/lib/python2.7/site-packages
six: 1.10.0 from /usr/lib/python2.7/site-packages
backports_abc>=0.4: 0.4 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
pyalsaaudio: 0.8.2 from /usr/lib/python2.7/site-packages
Mopidy-Mopify: 1.6.0 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
Mopidy>=0.19: 2.0.1 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
tornado>=2.3: 4.4.2 from /usr/lib/python2.7/site-packages
singledispatch: 3.4.0.3 from /usr/lib/python2.7/site-packages
six: 1.10.0 from /usr/lib/python2.7/site-packages
backports_abc>=0.4: 0.4 from /usr/lib/python2.7/site-packages
ConfigObj: 5.0.6 from /usr/lib/python2.7/site-packages
Mopidy-Dirble: 1.3.0 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
Mopidy>=1.0: 2.0.1 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
tornado>=2.3: 4.4.2 from /usr/lib/python2.7/site-packages
singledispatch: 3.4.0.3 from /usr/lib/python2.7/site-packages
six: 1.10.0 from /usr/lib/python2.7/site-packages
backports_abc>=0.4: 0.4 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
requests: 2.11.1 from /usr/lib/python2.7/site-packages
Mopidy-InternetArchive: 0.5.0 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
Mopidy>=0.18: 2.0.1 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
tornado>=2.3: 4.4.2 from /usr/lib/python2.7/site-packages
singledispatch: 3.4.0.3 from /usr/lib/python2.7/site-packages
six: 1.10.0 from /usr/lib/python2.7/site-packages
backports_abc>=0.4: 0.4 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
requests>=2.0.0: 2.11.1 from /usr/lib/python2.7/site-packages
Mopidy-Local-SQLite: 1.0.0 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
Mopidy>=1.1: 2.0.1 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
tornado>=2.3: 4.4.2 from /usr/lib/python2.7/site-packages
singledispatch: 3.4.0.3 from /usr/lib/python2.7/site-packages
six: 1.10.0 from /usr/lib/python2.7/site-packages
backports_abc>=0.4: 0.4 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
uritools>=1.0: 1.0.1 from /usr/lib/python2.7/site-packages
ipaddress>=1.0.6: 1.0.17 from /usr/lib/python2.7/site-packages
ipaddress>=1.0.6: 1.0.17 from /usr/lib/python2.7/site-packages
Mopidy-Youtube: 2.0.2 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
requests>=2.2.1: 2.11.1 from /usr/lib/python2.7/site-packages
pafy>=0.3.35: 0.5.1 from /usr/lib/python2.7/site-packages
Mopidy>=1.0: 2.0.1 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
tornado>=2.3: 4.4.2 from /usr/lib/python2.7/site-packages
singledispatch: 3.4.0.3 from /usr/lib/python2.7/site-packages
six: 1.10.0 from /usr/lib/python2.7/site-packages
backports_abc>=0.4: 0.4 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
Mopidy-SomaFM: 1.0.0 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
Mopidy>=1.1: 2.0.1 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
tornado>=2.3: 4.4.2 from /usr/lib/python2.7/site-packages
singledispatch: 3.4.0.3 from /usr/lib/python2.7/site-packages
six: 1.10.0 from /usr/lib/python2.7/site-packages
backports_abc>=0.4: 0.4 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
requests>=2.0.0: 2.11.1 from /usr/lib/python2.7/site-packages
Mopidy-Moped: 0.6.4 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
Mopidy>=1.0.0: 2.0.1 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
tornado>=2.3: 4.4.2 from /usr/lib/python2.7/site-packages
singledispatch: 3.4.0.3 from /usr/lib/python2.7/site-packages
six: 1.10.0 from /usr/lib/python2.7/site-packages
backports_abc>=0.4: 0.4 from /usr/lib/python2.7/site-packages
Mopidy-Local-Images: 1.0.0 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
Mopidy>=1.1: 2.0.1 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
tornado>=2.3: 4.4.2 from /usr/lib/python2.7/site-packages
singledispatch: 3.4.0.3 from /usr/lib/python2.7/site-packages
six: 1.10.0 from /usr/lib/python2.7/site-packages
backports_abc>=0.4: 0.4 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
uritools>=1.0: 1.0.1 from /usr/lib/python2.7/site-packages
ipaddress>=1.0.6: 1.0.17 from /usr/lib/python2.7/site-packages
ipaddress>=1.0.6: 1.0.17 from /usr/lib/python2.7/site-packages
Mopidy-Spotify-Tunigo: 1.0.0 from /usr/lib/python2.7/site-packages
Mopidy>=0.19.0: 2.0.1 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
tornado>=2.3: 4.4.2 from /usr/lib/python2.7/site-packages
singledispatch: 3.4.0.3 from /usr/lib/python2.7/site-packages
six: 1.10.0 from /usr/lib/python2.7/site-packages
backports_abc>=0.4: 0.4 from /usr/lib/python2.7/site-packages
Mopidy-Spotify>=1.2.0: 3.0.0 from /usr/lib/python2.7/site-packages
Mopidy>=2.0: 2.0.1 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
tornado>=2.3: 4.4.2 from /usr/lib/python2.7/site-packages
singledispatch: 3.4.0.3 from /usr/lib/python2.7/site-packages
six: 1.10.0 from /usr/lib/python2.7/site-packages
backports_abc>=0.4: 0.4 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
pyspotify>=2.0.5: 2.0.5 from /usr/lib/python2.7/site-packages
cffi>=1.0.0: 1.8.3 from /usr/lib/python2.7/site-packages
pycparser: 2.14 from /usr/lib/python2.7/site-packages
requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
tunigo>=1.0.0: 1.0.0 from /usr/lib/python2.7/site-packages
requests>=2.0.0: 2.11.1 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
Mopidy-Spotify: 3.0.0 from /usr/lib/python2.7/site-packages
Mopidy>=2.0: 2.0.1 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
tornado>=2.3: 4.4.2 from /usr/lib/python2.7/site-packages
singledispatch: 3.4.0.3 from /usr/lib/python2.7/site-packages
six: 1.10.0 from /usr/lib/python2.7/site-packages
backports_abc>=0.4: 0.4 from /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 from /usr/lib/python2.7/site-packages
pyspotify>=2.0.5: 2.0.5 from /usr/lib/python2.7/site-packages
cffi>=1.0.0: 1.8.3 from /usr/lib/python2.7/site-packages
pycparser: 2.14 from /usr/lib/python2.7/site-packages
requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
setuptools: 28.6.1 from /usr/lib/python2.7/site-packages
GStreamer: 1.9.90.0 from /usr/lib/python2.7/site-packages/gi
Detailed information:
Python wrapper: python-gi 3.22.0
Relevant elements:
Found:
uridecodebin
souphttpsrc
appsrc
alsasink
osssink
oss4sink
pulsesink
id3demux
id3v2mux
lamemp3enc
mad
mpegaudioparse
mpg123audiodec
vorbisdec
vorbisenc
vorbisparse
oggdemux
oggmux
oggparse
flacdec
flacparse
shout2send
Not found:
flump3dec
デバッグログを作成するにはどうすればよいですか?
はい、わかった。
log.zip
これは、レベルDEBUG
ログオンすることを除いて、通常の構成でmopidyを新たに再起動します。 ncmpcpp
、ローカルファイルの曲に追加して、再生させます。 ncmpcpp
は常にバックグラウンドで実行されており、現在の再生状態を定期的にポーリングするシステムサービスも実行されている可能性があります。 予想通り、mopidyはプレイ状態でスタックしました。 ログで気付いたのはこれです:
2016-10-25 08:03:37,985 DEBUG [2755:Audio-3] mopidy.audio.actor: Position query failed
そして多分これも:
2016-10-25 08:02:57,064 DEBUG [2755:MainThread] mopidy.audio.gst: Got ERROR bus message: error=u'gst-resource-error-quark: Error while seeking in file "/tmp/snapfifo". (11)' debug=u'gstfilesink.c(619): gst_file_sink_event (): /GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstBin:audio-sink/mopidy+audio+actor+_Outputs:mopidy+audio+actor+_outputs0/GstBin:bin0/GstFileSink:filesink0:\nsystem error: Illegal seek'
複数の部屋での出力にスナップキャスト付きのmopidyを使用しています。 たぶんこれもこのバグを引き起こす重要な側面ですか?
参考までに、これは私の設定です。
[core]
cache_dir = /var/cache/mopidy
config_dir = /etc/mopidy
data_dir = /var/lib/mopidy
[logging]
config_file = /etc/mopidy/logging.conf
debug_file = /var/log/mopidy/mopidy-debug.log
[local]
enabled = true
library = json
scan_flush_threshold = 100
data_dir = /var/lib/mopidy/local
media_dir = /mnt/data/music
excluded_file_extensions =
.directory
.html
.jpeg
.jpg
.log
.nfo
.png
.txt
.pdf
.gif
[file]
enabled = true
media_dirs =
/mnt/data/music|local
[m3u]
playlists_dir = /mnt/data/music/_playlists
base_dir = /mnt/data/music/
[youtube]
enabled = true
[dirble]
api_key = BLA
countries = DE,US,GB
[mpd]
enabled = true
hostname = ::
[softwaremixer]
enabled = false
[audio]
mixer = alsamixer
#output = alsasink device=hw:0,0
output = audioresample ! audioconvert ! audio/x-raw,rate=48000,channels=2,format=S16LE ! wavenc ! filesink location=/tmp/snapfifo
[alsamixer]
card = 0
control = PCM
[http]
hostname = ::
[somafm]
#encoding = aac
#quality = highest
[qsaver]
enabled = true
backup_file = /var/lib/mopidy/tracklist_backup.json
[spotify]
enabled = true
username = BLA
password = BLA
bitrate = 320
private_session = true
このすべてに感謝します。 ファイルシンク出力なしで試すことができますか?
家に帰ったら;-)
ただし、filesinksとfifosは実際には友達ではありませんが、最後に確認したところ、filesinkが正しく機能しない場合が多くあります。 #775はこれらのいくつかを修正しましたが、完了しませんでした。
OK、ALSAデバイスを直接使用すると正しく再生されなくなります。
Snapcastを使用したときに同じ問題が発生しました。 エラーが発生した場合にリスナーにストリーム終了メッセージを送信することで、問題を乗り越えることができます。
https://github.com/gotling/mopidy/commit/c13ab38b184f4b8902d1b0b8e75adcd423eaccc9
これを修正するためにできることはありますか? @gotlingによって提案されたものに問題はありますか?
私はこれの修正が大好きです。 誰かが解決策を見つけましたか? @gotlingで変更をマージできますか?
おい。 最近、Mopidyが再起動されたときの状態を保存するオプションをオンにしました。 消費モードを使用していて、以前に聴いていたトラックリストが終了したにもかかわらず、最後のトラックがトラックリストから削除されていないことがわかりました。 だから、私が起動すると、その最後のトラックが最初から再生を再開します。
この問題と同じかもしれないようです。 それが事実かどうか誰かが知っていますか? ありがとう。
Snapcastを使用せずにMopidyを単独で使用し始めたところですが、この問題は解消されました。
Mopidy 3のリリースでは、これは、FIFOでファイルシンクを使用する場合を除いてすべての場合に機能しているようです(スナップキャストの場合のように)。 GStreamerエラーを受信したときにすべてのリスナーにEOSを送信するハックは、それを「修正」します。 私のハックには、文字列「/ tmp / snapfifo」のerror.messageを「セーフティネット」としてチェックすることが含まれていました。
一般に、FIFOのような「非標準」エンドポイントを配置したり、appsrcを使用してmopidy-spotifyを実行したりするとすぐに、GStreamerは問題を解決するコーナーケースに遭遇する傾向があります。 これは、私たちがマルチ出力サポートを適切に行うことは決してなく、ストリーミングが第一級市民と見なされない理由の一部です。
ファイルシンクをfifoと一緒に使用することはお勧めしません。理想的には、gstreamerのfifosink(最後にこれが存在しないことを確認しました)または#775でテストしたようなものが必要です。これは基本的にPythonで独自のものを作成しています。
ありがとう。 Snapcast + Mopidyは本当に素晴らしいマルチルームSpotifyプレーヤーであるため、GstreamerがFIFOで適切に機能しないのは本当に残念です。
ハックの回避策はそれが機能する限り機能しますが、少なくともストリームを支払うときは、すべてのトラックの後に再生を停止する習慣があります。 適切なGstreamerFIFO出力を作成する知識がないと思います(#775を見ましたが、それを追跡できませんでした)が、この問題の安全な回避策を考え出すことができれば、構成フラグを使用しておそらくスイッチを入れてください-ここに投稿します。
誰かが最新のgstreamerを試しましたか?
@kingsticksありがとう
オプションがあることを知っておくのは良いことです。 チームがPython3への移植を完了したことに興奮しています。mopidy-localが分割されたことに不満はありません。 Mopidyの主な用途であるため、まだメンテナがいないのではないかと心配しています。 ファイルに行われるタグ付けはかなりラグタグであるため、mopidy-sqliteに強制的に戻されることに興奮していません-それは「TheClash」または「Clash」または「Clash、The」ですか? mopidy-sqliteのせいではありませんが、ファイル構造の名前を修正するだけで問題ない「フォルダービュー」があればいいのにと思います。
最後に、要点として、Mopidy / gstreamer / SnapCastは、ここ数年、私にとって非常にうまく機能しています。 SnapCastは私のシステムに不可欠であるため、これまでに行われたすべての進歩が失敗する可能性があることに、私は一種の不思議に思います。 幸いなことに、BadAixはTCPオプションを発表しました。 私のベルトの下で十分なPython開発経験を積むことが私の年の目標であり、これからはmopidy-localを支援することができます。
みなさん、そして明けましておめでとうございます!
KO
2日前にBadAixがSnapcastのバージョンを18.0に上げたように見えます。これは、私が正しく読んでいる場合、TCPストリームをMasterブランチに移動し、ダウンロードページでarmhfバージョンをコンパイルしたことを確認しました。
うわー!
最も参考になるコメント
Snapcastを使用したときに同じ問題が発生しました。 エラーが発生した場合にリスナーにストリーム終了メッセージを送信することで、問題を乗り越えることができます。
https://github.com/gotling/mopidy/commit/c13ab38b184f4b8902d1b0b8e75adcd423eaccc9