前言
想使用树莓派连接usb音频采集卡实时采集收音机接收到的音频,树莓派上运行着由nginx+RTMP 搭建的直播流媒体服务器,这样就可以在客户端上通过支持rtmp串流协议的播放器就可以正常接收到音频直播流了。
采用方案
- 树莓派作为流媒体服务器
- 直播协议:RTMP
- 实时音频源:usb音频采集卡实时采集的收音机电台音频
什么是nginx/h4>
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的 页服务器中表现较好,中国大陆使用nginx 站用户有:百度、京东、新浪、 易、腾讯、淘宝等。
什么是RTMP/h3>
RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的 络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括Adobe Media Server/Ultrant Media Server/red5等。
NGINX-RTMP 流媒体服务器
基于NGINX模块,使用C语言编写的流媒体服务器,也是目前市场上使用最多的流媒体服务器。伴随着2012年CDN业务的扩展,直播业务需求暴涨,由于NGINX-RTMP中直播点播共用一套服务器,且用户熟悉信任NGINX;NGINX-RTMP逐渐处于行业垄断地位。
场景介绍
建议使用最新的树莓派镜像文件,我用之前做过一些东西在上面的树莓派系统在安装nginx服务器时出现了找不到很多需要的依赖,后来又换成了树莓派最新的raspbian系统。
树莓派搭建nginx+rtmp流媒体服务器步骤
先执行更新一下当前系统的软件列表,再进行以下操作。
1、安装所需要的依赖;
2、安装nginx和rtmp,依此执行以下每一行命令;
3、执行 修改nginx配置文件,添加以下内容。
4、启动nginx+rtmp流媒体服务器
5、安装ffmpeg,默认树莓派最新的raspbian系统中已经带有ffmpeg;
6、将usb音频采集卡插到树莓派的usb口,启动ffmpeg从usb音频采集卡实时采集实时的外部收音机电台音频,并推流到树莓派上搭建好的nginx+rtmp流媒体服务器。
参数说明:主要参数:
-f 设定输出格式
-i 设定输入流(hw:1,0为外接的usb音频采集卡设备,hw:1,0的1指的是第一个外部设备,因为树莓派内部没有声卡,所以只能使用外部的usb音频采集卡);
-ar 设定采样率(因为输出为flv格式,所以采样率只能选择44100,22050,11025这三种);
另外,192.168.10.109为树莓派的IP地址。
7、在windows客户端中使用PotPlayer打开链接“rtmp://192.168.10.109/live/audio”,即可收听到实时的收音机电台音频,延时大概为2秒。
参考资料
1、树莓派使用nginx+rtmp搭建直播服务器 – zizi7的专栏 – CSDN博客
2、树莓派nginx+rtmp搭建直播流媒体服务 – 夜魂 – 开源中国
3、树莓派使用nginx+rtmp搭建直播服务器 – 程序园
4、树莓派使用nginx+rtmp搭建直播服务器 | Cyckerr
5、使用树莓派实现24小时不间断直播 – EdmondFrank’s 时光足迹
6、用树莓派做 RTMP 流直播服务器,可推送至斗鱼直播 | 树莓派实验室
7、FFmpeg 录制桌面、麦克风、摄像头 – 勤能补拙 – CSDN博客
8、ffmpeg 音视频集大成者之学习-iibull-ChinaUnix博客
9、ALSA 音频工具 amixer、aplay、arecord – 卢小喵的学习笔记 – CSDN博客
10、Linux使用ffmpeg直播推流(很重要的一个参考资料)
11、ffmpeg 音视频集大成者之学习-iibull-ChinaUnix博客
12、FFmpeg 录制桌面、麦克风、摄像头 – 勤能补拙 – CSDN博客
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!