如何用芒果派做一个直播流媒体服务器

电子说

1.3w人已加入

描述

拿到手里面的芒果派首先看一下他的CPU信息和内存信息:

直播直播

还挺好,4核CPU,1G内存,在机器上跑一下ssh服务,然后剩下的远程登录操作就行了:

 

sudo service ssh start

 

然后就是用另一台常用的电脑远程登录就行了,登录界面还是挺用心的:

直播

登录完成后,接下来就开始尝试着构建自己的直播流媒体服务器的环境了。

 

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

 

在这里可以放心大胆的configure和make,因为亲片是allwinner的,也就是ARM的,srs的关键核心组件statethread已经支持arm下面跑协程了。

编译完成之后看一下基本上会用到的文件:

直播

编译完成了,因为我在这里只想试一试srs服务器是否跑起来了,如果能顺便试试RTMP转RTC就更好了,所以选择了rtmp2rtc.conf。

这里有一点需要注意,想跑RTC的话,需要设置一下CANDIDATE环境变量,而且还需要注意运行服务的权限。然后再跑服务,就可以了。

直播直播

从上面两张图可以一看到,srs的直播流媒体服务已经在板子上面跑起来了,接下来就可以开始尝试从别的地方像板子上面推流了。我推的是自己生成的测试内容:

 

(base) MacBook-Pro$ ffmpeg -re -f lavfi -i testsrc=s=176x144 -vcodec libx264 -f flv rtmp://192.168.3.18/app/test1
ffmpeg version N-111491-g31979127f8 Copyright (c) 2000-2023 the FFmpeg developers
  built with Apple clang version 14.0.3 (clang-1403.0.22.14.1)
  configuration: --enable-libass --enable-opengl --enable-libx264 --enable-libmp3lame --enable-gpl --enable-nonfree --prefix=/usr/local --enable-libtesseract --enable-libspeex --enable-libfreetype --enable-libfontconfig --enable-libfdk-aac --enable-videotoolbox --enable-libxml2 --enable-version3 --disable-stripping --disable-optimizations --enable-openssl
  libavutil      58. 14.100 / 58. 14.100
  libavcodec     60. 22.100 / 60. 22.100
  libavformat    60. 10.100 / 60. 10.100
  libavdevice    60.  2.101 / 60.  2.101
  libavfilter     9.  8.102 /  9.  8.102
  libswscale      7.  3.100 /  7.  3.100
  libswresample   4. 11.100 /  4. 11.100
  libpostproc    57.  2.100 / 57.  2.100
Input #0, lavfi, from 'testsrc=s=176x144':
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0: Video: wrapped_avframe, rgb24, 176x144 [SAR 1:1 DAR 11:9], 25 fps, 25 tbr, 25 tbn
Stream mapping:
  Stream #0:0 - > #0:0 (wrapped_avframe (native) - > h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x7f893a706800] using SAR=1/1
[libx264 @ 0x7f893a706800] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
[libx264 @ 0x7f893a706800] profile High 4:4:4 Predictive, level 1.1, 4:4:4 8-bit
[libx264 @ 0x7f893a706800] 264 - core 133 r2334M a3ac64b - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=4 threads=18 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, flv, to 'rtmp://192.168.3.18/app/test1':
  Metadata:
    encoder         : Lavf60.10.100
  Stream #0:0: Video: h264 ([7][0][0][0] / 0x0007), yuv444p(tv, progressive), 176x144 [SAR 1:1 DAR 11:9], q=2-31, 25 fps, 1k tbn
    Metadata:
      encoder         : Lavc60.22.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
frame=  419 fps= 22 q=28.0 size=      85kB time=00:00:16.68 bitrate=  41.9kbits/s speed=0.892x

 

已经推成功了,用播放器播放一下试试看:

直播

播放页成功了。到这里可以看到用板子做个流媒体直播服务器还可以用的。接下来看一下流媒体服务器的看板和信息。

直播

看板看上去也没有什么问题,接下来可以从看板里面看到更多的服务器相关的信息和推的流的信息和内容。

到这里,使用芒果派构建一个直播流媒体服务器的体验就完成了,可以在家里面玩直播喽。
        责任编辑:彭菁

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分