Soru:
DLNA ortam oluşturucu nasıl kurulur
Ingo
2018-02-09 06:09:00 UTC
view on stackexchange narkive permalink

Ahududu pi'mi medya oluşturucu olarak kullanmak istiyorum, böylece medya sunucusundan müzik çalmak için kontrol noktamda oynatma listelerini seçebilirim kod>. gmediarender için bazı sorular buldum, ancak nasıl yükleneceğine dair doğrudan bir yanıt bulamadım. Bunu kolay bir şekilde nasıl yapabilirim?

Bir cevap:
Ingo
2018-02-09 06:09:00 UTC
view on stackexchange narkive permalink

2020-04-18 tarihinde güncellenen
Raspbian Buster With Desktop 2020-02-13 ile bir Raspberry Pi 4B'de test edildi.
Raspbian Buster Lite 2020-02- 13 2020-03-26 tarihinde güncellendi.
Güncellemeler sudo apt update && sudo apt full-upgrade && sudo reboot ile yapıldı.

Raspi ile yerel ağınıza ve ses çıkışınıza (kulaklık, amplifikatör vb.) bağlanmalıdır. Önce bu küçük ses dosyası working.wav ile ses çıkışınızı kontrol edebilirsiniz. Elbette başka bir ses çıkışı testine de girebilirsiniz.

  pi ~ $ sudo apt install alsa-utilspi ~ $ aplay working.wav  

Duyuyorsanız çalıştığını ve ardından gerekli eklentilerle gmediarender 'ı yükleyin:

  pi ~ $ sudo apt install gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins -good gstreamer1.0-plugins-çirkin gstreamer1.0-plugins-bad gstreamer1.0-gl gmediarender  

Testi çalıştırma: ses gruplarının üyesi olduğunuzdan emin olun ve video . Testi Ctrl+C ile iptal edebilirsiniz.

  pi ~ $ / usr / bin / gmediarender --friendly-name Test - -uuid 42 --gstout-initial-volume-db -20 --logfile / dev / stdout  

Kontrol noktanızda (bubbleUPNP veya buna benzer bir şey) Test . Onu seçin ve varsa medya sunucunuzdan müzik çalın. Bu, Raspbian Buster Light üzerinde çalışır, ancak Raspbian Buster With Desktop üzerinde, ekrandaki hata ayıklama çıktısı her şeyin yapılması gerektiğini gösterir, ancak duyulacak ses yoktur. Görünüşe göre Masaüstü sürümü, gmediarender'ın hangi çıktının kullanılacağı konusunda kafa karıştıran bazı ek kitaplıklar yüklüyor. Yukarıda gösterilen test çağrısına --gstout-audiosink alsasink eklemem gerekiyordu.

Ayrıca kafa karıştırıcı bir uyarı da buldum:

  ** (gmediarender: 4222): CRITICAL **: 11: 38: 55.673: dosya gstdtlsagent.c: satır 192 (gst_dtls_agent_init): ulaşılmamalı ** (gmediarender: 4222): KRİTİK ** : 11: 38: 55.673: gst_dtls_agent_set_property: 'self->priv->ssl_context' iddiası başarısız oldu  

Biraz googling ile bunun kritik olmadığını anladım (3) ve boş bir dizeyi OPENSSL_CONF = "" olarak ayarlayarak bastırabilirsiniz. Dolayısıyla, Buster Desktop kurulumumdaki eksiksiz bir test çağrısı şuna benzer:

  OPENSSL_CONF = "" / usr / bin / gmediarender --friendly-name Test --uuid 42 --gstout-initial-volume-db -20 --logfile / dev / stdout --gstout-audiosink alsasink  

Çalışıyorsa / etc / default / gmediarender'ı yapılandırın , isterseniz UPNP_DEVICE_NAME ve INITIAL_VOLUME_DB'yi ayarlayın. Çift nokta gibi "özel" karakterler kullanmayın. Başlangıç, bir hata mesajı ile sonlandırılacak. Gmediarender hala UTF-8'i anlamıyor gibi görünüyor :-(

Ağınızda çalışan üst düzey yöneticiye sahip birden fazla raspi varsa, her birine farklı bir UUID vermelisiniz. Kontrol noktaları daha sonra farklı medya oluşturucuyu ayırt edebilir upnp mesajları. /etc/default/gmediarender:

  DAEMON_EXTRA_ARGS = "- uuid f4f7681c-3056-11e8-86bd-87a6e4e2c42d" ye buna benzer bir şey ekleyin  

uuid programıyla yeni UUID'ler alabilirsiniz ( sudo apt install uuid ile kurun).

Eğer RasPi'nizde yalnızca bir arayüz varsa, kurulumu tamamlamış olursunuz. Gmediarender'ı hizmet olarak başlatmanız yeterlidir:

  pi ~ $ sudo systemctl enable gmediarender.servicepi ~ $ sudo systemctl start gmediarender.service  kod> 



RasPi'de kablolu ağ bağlantısı ve bir erişim noktası ile gmediarender kullanmam gibi bir sorun yaşadım, bu yüzden ip adresi olan iki arayüzüm var. Gmediarender bunlardan birine ve tabii ki yanlış olana bağlanır. Kullanılması gereken / etc / default / gmediarender içinde arayüzün ip adresini belirtmelisiniz. Ancak arayüzüm DHCP tarafından yapılandırıldı, bu nedenle ip adresi zaman zaman değişebilir. Bu sorunu çözmek için, arayüzden mevcut ip adresini alan ve / etc / default / gmediarender 'a yazan küçük bir bash betiği yaptım. Komut dosyası şudur:

  rpi ~ $ cat /usr/local/sbin/gmediarender-setip.sh#!/bin/bash# Bu komut dosyası, gmediarender'ı "$ 1" olarak verilen bir arayüze bağlar . # Gmediarender'ın arabirimin ip adresine ihtiyacı var. Mevcut ip adresi # arabirimden alınır ve /etc/default/gmediarender.if [$ # -eq 0] içinde ayarlanır; sonra echo 'arayüz adı verilmemiş' çıkış 1fiIPADDR = "0.0.0.0" IPADDR = $ (/ sbin / ip -4 -br adres $ 1 göster | / bin / grep -Po "\\ d + \\. \\ d + \\ . \\ d + \\. \\ d + ") CMD =" s / \ (DAEMON_EXTRA_ARGS =. * - ip-adresi = * \) [^ \ "] * / \ 1 $ IPADDR /" / bin / sed - i "$ CMD" / etc / default / gmediarender  

İzinleri ayarlamayı ve onu sadece root için çalıştırılabilir yapmayı unutmayın:

  rpi ~ $ sudo chown root: root /usr/sbin/gmediarender-setip.shrpi ~ $ sudo chmod 754 /usr/sbin/gmediarender-setip.sh

Sonra bu betiği gmediarender'ı başlatmadan hemen önce çalıştırın hizmetini şu şekilde genişletiyor:

  rpi ~ $ sudo systemctl edit gmediarender.service  

Boş düzenleyicide bu ifadeleri kendi arayüz adınızı kullanarak ekleyin, kaydedin ve düzenleyiciden çıkın:

  [Service] ExecStartPre = / usr / local / sbin / gmediarender-setip.sh eth0  

/ etc içinde / default / gmediarender en az ayarlayın

  DAEMON_EXTRA_ARGS = "- ip-adresi = 0.0.0.0" # veya egDAEMON_EXTRA_ARGS = "- uuid f4f76 81c-3056-11e8-86bd-87a6e4e2c42d --ip-adresi = 0.0.0.0 " 

Aksi takdirde, komut dosyası değiştirilecek ip adresini bulamayacaktır. Ardından hizmet olarak gmediarender'ı başlatın:

  pi ~ $ sudo systemctl enable gmediarender.servicepi ~ $ sudo systemctl start gmediarender.service  


referanslar:
[1] https://github.com/hzeller/gmrender-resurrect
[2] https: // joachim-wilke. de / blog / 2016/07/10 / UPNP-Renderer-auf-dem-Raspberry-Pi /
[3] https://gitlab.freedesktop.org/gstreamer/gst-plugins -bad / issues / 811 # note_117235



Bu Soru-Cevap, otomatik olarak İngilizce dilinden çevrilmiştir.Orijinal içerik, dağıtıldığı cc by-sa 3.0 lisansı için teşekkür ettiğimiz stackexchange'ta mevcuttur.
Loading...