基于树莓派的DLNA和Airplay无线音频传输

首先,感谢网络上国内外各位大神,我只是依葫芦画瓢的做了试验实现了基于树莓派的DLNA和Airplay无线音频传输的功能。因为过程中也走了弯路有些问题,所以这里也只是来记录一下操作过程,整个实现方法和过程并非原创,特此声明。

我使用的是树莓派3 B+版本硬件,系统为官方Raspbian的最新版本系统,如下:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 9.6 (stretch)
Release:         9.6
Codename:     stretch

$ uname -a
Linux raspberrypi3 4.14.82-v7+ #1165 SMP Wed Nov 21 16:42:28 GMT 2018 armv7l GNU/Linux

<基于树莓派的DLNA无线音频传输>

1. 使用如下命令安装依赖的工具:

sudo apt-get install libupnp-dev libgstreamer1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-alsa autoconf gstreamer1.0-pulseaudio

这里特别记录一下,根据网上搜索到的描述,gstreamer1.0-alsa和gstreamer1.0-pulseaudio安装哪一个是根据系统环境确定的,我没有安装后者的时候可以连接上但一直没有声音输出,安装这个工具包以后就okay了,所以建议一开始就一起安装上。

2. 安装gmediarender

根据网上搜索到的描述,这里需要下载gmrender-resurrect的源代码然后进行编译安装,但我是直接使用apt-get安装的,测试也没问题:

sudo apt-get install gmediarender

3. 使用如下命令进行播放测试

gmediarender -f "Raspberry"

-f后面的参数是DLNA服务的名称,在手机上连接时可以看到。使用此命令启动DLNA服务后,我使用QQ音乐进行连接测试,可以看到Raspberry无线设备并成功播放音乐。

4. 可以将gmediarender设为开机自启动,这样每次启动树莓派就可以直接通过DLNA连接。使用如下操作:

编辑/etc/default/gmediarender:

ENABLE=1

DAEMON_USER="gmediarender:audio"    // 用户分组

UPNP_DEVICE_NAME="$(hostname)"     // DLNA连接的名称,可根据自己喜好更改

执行如下命令:

sudo useradd -g audio gmediarender

sudo update-rc.d gmediarender defaults

这样就实现了gmediarender开机自动启动。

<基于树莓派的Airplay无线音频传输>

1. 安装依赖工具包

sudo apt-get install libssl-dev libavahi-client-dev libasound2-dev libao-dev libpulse-dev

2. 安装shairport

这里网上也介绍的是下载源码进行编译安装,我还是直接使用如下命令进行的安装,测试可以使用。

sudo apt-get install shairport-sync

3. 安装完成后,直接重启了一次(不重启也没问题),然后在iphone的QQ音乐上,就可以看到设备进行无线音乐传输了。个人感觉相对于DLNA来说配置更简单一点。

最后,还是要赞一下树莓派!

你可能感兴趣的:(树莓派)