开发一个带货直播系统,搭建SRS流媒体服务器的步骤

1.带货直播系统安装srs

git clone https://github.com/ossrs/srs.git
cd srs/trunk
./configure && make


2.开启带货直播系统srs服务

./objs/srs -c conf/srs.conf


3.安装ffmpeg

官网:http://ffmpeg.org/download.html
windows:下载解压后即可用(可根据需要配置环境变量)
linux:下载源码编译安装

4.ffmpeg推流

查看设备:

ffmpeg -list_devices true -f dshow -i dummy 


推带货直播系统本地视频文件:

ffmpeg  -re  -i F:/project/liu_zi_qi/liu_zi_qi.mp4 -c copy -f flv rtmp://39.106.207.193/live/cc


推摄像头捕获的视频流:

ffmpeg  -f dshow -i video="Integrated Webcam" -q 4 -s 640*480 -aspect 4:3 -r 10 -vcodec flv -ar 22050 -ab 64k -ac 1 -acodec libmp3lame -threads 4 -f flv rtmp://39.106.207.193/live/cc

参数:
(1).-f fmt (input/output)
强制指定输入或输出的文件格式。输入文件的格式通常是自动检测的,输出文件的格式由该文件的扩展名猜测,所以在大多数情况下不需要此选项。

(2).-c[:stream_specifier] codec (input/output,per-stream)
-codec[:stream_specifier] codec (input/output,per-stream)
用于对带货直播系统一个或多个数据流指定一个编码器(一个输出文件之前使用时)或一个解码器(一个输入文件之前使用时)。 codec是一个解码器/编码器的名称或特殊值copy (仅输出),copy表示该流不是被重新编码。

(3).-r[:stream_specifier] fps (input/output,per-stream)
设置帧速率(Hz值,分数或缩写)。
作为输入选项,忽略存储在带货直播系统文件中的任何时间戳,而是产生时间戳假设恒定的帧速率fps这与一些输入格式,诸如image2或者v4l2,中的-framerate选项是不同的(在老版本的ffmpeg中是一样的)。如有疑问,使用的输入选项-framerate代替-r。
作为输出选项,复制或删除输入帧以达到恒定的输出帧速率fps。

(4).-s[:stream_specifier] size (input/output,per-stream)
设置帧尺寸。
作为输入的选项,这是私有选项video_size的快捷方式,部分分流器可以识别该参数,这时帧大小或者未存储在文件中或不可配置,例如带货直播系统原始视频或视频采集卡。
作为输出的选择,这将插入scale视频滤镜到相应滤镜组的末端 。如需改变滤镜位置,请将scale滤镜直接插入到开头或其他地方。
格式是wxh(默认值是使用与源相同的尺寸)。

(5).-aspect[:stream_specifier] aspect (output,per-stream)
设置指定视频显示的宽高比aspect。
aspect可以是一个浮点数,或使用形如 num: den 的形式,其中num是分子,den是分母。例如,“4:3”,“16:9”,“1.3333”,和“1.7777”都是有效的参数值。
如果与-vcodec copy一起使用,这会影响储存在容器级别的宽高比,而不是存储在带货直播系统编码帧的宽高比,如果有的话。

(6).-q[:stream_specifier] q (output,per-stream) -qscale[:stream_specifier] q (output,per-stream)
使用固定编码率(VBR)。q/qscale的意思与编解码器定义相关。如果qscale不与stream_specifier联用,那么它仅适用于视频流,这是为了保持兼容性。另外将相同的编码器参数赋给两个不同的编解码器通常并不是用户想要的,因此若需要这样的功能,可以使用流标识符(stream_specifier)来指定。

(7).-i filename (input)
输入的文件名

(8).-ar[:stream_specifier] freq (input/output,per-stream)
设置带货直播系统音频采样频率。对于输出流,将默认设置为相应的输入流的采样频率。对于输入流该选项仅对音频抓取设备和raw格式分流器和映射到相应分流器上的选项有效。

(9).-ac[:stream_specifier] channels (input/output,per-stream)
设置带货直播系统音频通道的数目。输出流默认将设置为输入音频信道的数目。对于输入流该选项仅对音频抓取设备和raw格式分流器和映射到相应分流器上的选项有效。

5.安装vlc(取流)

官网:https://www.videolan.org/vlc/
支持:windows,MacOS,Android,IOS,Linux

下载安装打开:媒体->打开网络串流->输入:rtmp://39.106.207.193/live/cc(推流地址)

6.测试
使用PC向带货直播系统srs服务器推流(ffmpeg)
用手机从带货直播系统srs服务器取流(vlc播放器)
————————————————
声明:本文由云豹科技转发,如有侵权请联系作者删除

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值