Shairplay
=========
Free portable AirPlay server implementation similar to [ShairPort](https://github.com/abrasive/shairport).
Currently only AirPort Express emulation is supported.
Disclaimer
----------
All the resources in this repository are written using only freely available
information from the internet. The code and related resources are meant for
educational purposes only. It is the responsibility of the user to make sure
all local laws are adhered to.
Installation
------------
First you need to install some dependencies, for example on Ubuntu you would
write:
```
sudo apt-get install autoconf automake libtool
sudo apt-get install libltdl-dev libao-dev libavahi-compat-libdnssd-dev
sudo apt-get install avahi-daemon
```
```
./autogen.sh
./configure
make
sudo make install
```
Notice that libao is required in order to install the shairplay binary,
otherwise only the library is compiled and installed.
Usage
-----
Check available options with ```shairplay --help```:
```
Usage: shairplay [OPTION...]
-a, --apname=AirPort Sets Airport name
-p, --password=secret Sets password
-o, --server_port=5000 Sets port for RAOP service
--ao_driver=driver Sets the ao driver (optional)
--ao_devicename=devicename Sets the ao device name (optional)
--ao_deviceid=id Sets the ao device id (optional)
-h, --help This help
```
Start the server with ```shairplay```, if you are connected to a Wi-Fi the
server should show as an AirPort Express on your iOS devices and Mac OS X
computers in the same network.
Notice that you need to have the airport.key file in your working directory when
starting the shairplay service. It is not included in the binary for possible
legal reasons.
Related software
----------------
* [ShairPort](https://github.com/abrasive/shairport), original AirPort Express emulator
* [ALAC](http://craz.net/programs/itunes/alac.html), ALAC decoder by David Hammerton
Description
-----------
Short description about what each file in the main library does:
```
src/lib/base64.* - base64 encoder/decoder
src/lib/dnssd.* - dnssd helper functions
src/lib/http_parser.* - HTTP parser from joyent (nginx fork)
src/lib/http_request.* - Request parser that uses http_parser
src/lib/http_response.* - Extremely simple HTTP response serializer
src/lib/httpd.* - Generic HTTP/RTSP server
src/lib/logger.* - Logging related functions
src/lib/netutils.* - Mostly socket related code
src/lib/raop.* - Main RAOP handler, handles all RTSP stuff
src/lib/raop_rtp.* - Handles the RAOP RTP related stuff (UDP/TCP)
src/lib/raop_buffer.* - Parses and buffers RAOP packets, resend logic here
src/lib/rsakey.* - Decrypts and parses the RSA key to bigints
src/lib/rsapem.* - Converts the RSA PEM key to DER encoded bytes
src/lib/sdp.* - Extremely simple RAOP specific SDP parser
src/lib/utils.* - Utils for reading a file and handling strings
```
Short description about what each file in the Qt application does:
```
AirTV-Qt/main.cpp - Initializes the application
AirTV-Qt/mainapplication.cpp - Creates the tray icon and starts RAOP
AirTV-Qt/raopservice.cpp - Handles all communication with the library
AirTV-Qt/raopcallbackhandler.cpp - Converts C callbacks to Qt callbacks
AirTV-Qt/audiooutput.cpp - Takes care of the actual audio output
```
没有合适的资源?快使用搜索试试~ 我知道了~
airplay协议源码及详细协议资料
共146个文件
h:40个
c:27个
cpp:16个
3星 · 超过75%的资源 需积分: 42 142 下载量 30 浏览量
2017-06-07
15:04:44
上传
评论 5
收藏 1.65MB ZIP 举报
温馨提示
libshairplay源码, airplay protocol中英文资料
资源推荐
资源详情
资源评论
收起资源包目录
airplay协议源码及详细协议资料 (146个子文件)
configure.ac 2KB
Makefile.am 2KB
Makefile.am 313B
Makefile.am 150B
Makefile.am 80B
Makefile.am 60B
Makefile.am 48B
configure.bat 895B
http_parser.c 62KB
bigint.c 38KB
alac.c 35KB
raop_rtp.c 19KB
raop.c 17KB
aes.c 14KB
httpd.c 11KB
dnssd.c 11KB
raop_buffer.c 10KB
shairplay.c 10KB
rsakey.c 10KB
md5.c 10KB
sha1.c 8KB
http_request.c 6KB
base64.c 6KB
netutils.c 4KB
main.c 4KB
digest.c 4KB
http_response.c 4KB
example.c 4KB
sdp.c 4KB
rsapem.c 3KB
hmac.c 3KB
utils.c 3KB
logger.c 3KB
rc4.c 3KB
dnssd_test.c 868B
configure 689B
qtsingleapplication.cpp 11KB
raopservice.cpp 8KB
qtlocalpeer.cpp 6KB
qtlockedfile_win.cpp 6KB
qtlockedfile.cpp 6KB
qtsinglecoreapplication.cpp 5KB
audiooutput.cpp 5KB
main.cpp 4KB
qtlockedfile_unix.cpp 3KB
main.cpp 3KB
main.cpp 3KB
raopcallbackhandler.cpp 3KB
dnssdservice.cpp 2KB
audiocallbacks.cpp 2KB
mainapplication.cpp 2KB
main.cpp 1KB
classic.css 4KB
qtsingleapplication.dcf 3KB
.gitignore 257B
http_parser.h 12KB
bigint_impl.h 6KB
crypto.h 5KB
os_port.h 4KB
qtsingleapplication.h 4KB
bigint.h 4KB
qtlockedfile.h 3KB
qtlocalpeer.h 3KB
qtsinglecoreapplication.h 3KB
raop.h 2KB
raopcallbacks.h 2KB
raopcallbackhandler.h 2KB
raop_buffer.h 2KB
threads.h 2KB
raop_rtp.h 2KB
raopservice.h 2KB
dnssdservice.h 2KB
audiooutput.h 2KB
rsakey.h 2KB
memalign.h 2KB
alac.h 2KB
logger.h 2KB
http_request.h 1KB
httpd.h 1KB
mainapplication.h 1KB
sockets.h 1KB
http_response.h 1KB
audiocallbacks.h 1KB
sdp.h 1KB
compat.h 1KB
base64.h 1015B
dnssd.h 909B
netutils.h 901B
utils.h 900B
rsapem.h 810B
dnssdint.h 541B
stdint_win.h 399B
digest.h 297B
global.h 167B
config.h 123B
qtsingleapplication-members.html 30KB
qtsingleapplication.html 21KB
qtsinglecoreapplication-members.html 15KB
qtsinglecoreapplication.html 10KB
qtsingleapplication-example-loader.html 7KB
共 146 条
- 1
- 2
资源评论
- zzluohe2019-11-07还行吧,github上有
- zjkc_yf2022-09-30谢谢,下来看看
- zcf08082017-06-16github上能够下载此源码,还要那么多分不值
- huaidan10122018-01-12评论还返还分吗?这个分有点多啊
- PandaFanFun2020-09-22github上能够下载此源码,还要那么多分不值
Steven-csdn
- 粉丝: 2
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功