0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_06445065 来源:jf_06445065 作者:jf_06445065 2023-07-22 09:16 次阅读

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

wKgaomS6nLqAbv7sAFwy5J-kPHc662.pngwKgZomS6nLuAcInyAF75z8BS518086.png

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

sudo service ssh start

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

wKgZomS6nLWAWbpqAACQMG2Xvq8496.png

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

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

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

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

wKgaomS6ni2AaYo5AAGvJ64FuvU684.png

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

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

wKgaomS6nxKAZMCHAAOdRfRoMa0976.pngwKgZomS6nxKAavLTAAW1nN3VRsM468.png

从上面两张图可以一看到,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

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

wKgZomS6n4iAAQDdAADWxUjOuJE270.png

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

wKgaomS6n8SANk_YAAFNIwzF2O0308.png

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

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

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

    关注

    1

    文章

    246

    浏览量

    21374
  • 服务器
    +关注

    关注

    12

    文章

    9024

    浏览量

    85187
收藏 人收藏

    评论

    相关推荐

    嵌入式流媒体服务器的设计与实现

    嵌入式流媒体服务器的设计与实现
    发表于 08-20 10:09

    流媒体视频直播技术加快电力行业信息化建设

    的音、视频信号进行实时编码,并通过网络传输至发布服务器,再由发布服务器软件经过系列处理,在网络中实时发布出去,起到现场直播的效果。 流媒体
    发表于 08-23 10:13

    树莓媒体服务器——MiniDLNA

    成为可能。在这个教程我将向你展示如何用MiniDLNA做一个树莓媒体服务器,让你的照片、音乐和视频在网络流动。这里直接跳过树莓
    发表于 01-19 14:35

    树莓搭建基于DLNA的家庭流媒体服务器

    本方案主要由两部份组成:媒体服务器和笔记本电脑。第部份:用MINIDLNA搭建媒体服务器、移
    发表于 08-06 00:42

    Linux下视频流媒体直播服务器搭建详解

    目标: 搭建网络直播流媒体服务器系统(Linux操作系统) 背景:用于OTT-TV大并发的直播和点播的
    发表于 06-02 14:35

    树莓做一个网络摄像头上传实时视频到云服务器,云服务器推流到客户端可以实现吗

    树莓做一个网络摄像头,不想在树莓派上直接搭建流媒体服务器,因为它没有公网ip,虽然可以通过路由映射,但不便于用户直接使用,所以想上传实时
    发表于 08-16 01:23

    什么是流媒体服务器

    。  作为新代的互联网应用技术,近几年发展是非常快的,是些运营商为用户提供视频服务的关键因素。要知道,平台的视频播放,调度及传播是取
    发表于 06-30 09:28

    怎样去编译完整的流媒体服务系统呢

    流媒体技术在安防监控、网络电视、视频会议等应用领域都起着重要的作用,为人们的工作生活带来了便利。嵌入式流媒体服务器不同于传统的基于 PC 架构的流媒体
    发表于 12-14 08:18

    何用C++做一个TCP的服务器进行数据观察及采集呢

    何用C++做一个TCP的服务器进行数据观察及采集呢?有哪些设计步骤?
    发表于 12-23 09:41

    webrtc流媒体转发服务器是如何定义的

    webrtc流媒体转发服务器定义难点建立连接如何转发媒体流如何高效转发媒体流转发后如何保证视频质量定义由于webrtc是基于P2P技术的
    发表于 02-11 06:16

    流媒体服务器大比拼

    流媒体服务器大比拼 网络流媒体服务在最近已经成为非常热门的话题,无论是电信、广电、还是新兴
    发表于 01-13 11:16 1286次阅读

    常见流媒体服务器应用性能比较

    常见流媒体服务器应用性能比较 1.1 nCUBE4   nCUBE系统具有较高的性能,单个节点(MediaHUB)的网络输出性能为1723Mb/s
    发表于 01-13 11:18 5554次阅读

    webrtc流媒体转发服务器

    webrtc流媒体转发服务器定义难点建立连接如何转发媒体流如何高效转发媒体流转发后如何保证视频质量定义由于webrtc是基于P2P技术的
    发表于 12-07 19:21 11次下载
    webrtc<b class='flag-5'>流媒体</b>转发<b class='flag-5'>服务器</b>

    如何搭建企业个人直播流媒体服务器,使用 OBS 推送 PC 桌面流到 SRS

    目前,全球带货的趋势愈演愈烈,比如海内外某音、某手等让很多企业跟个人都从中获利。实际上,如果你想搭建企业个人直播流媒体服务器,可以考虑使
    的头像 发表于 08-22 21:30 1335次阅读
    如何搭建企业个人<b class='flag-5'>直播</b><b class='flag-5'>流媒体</b><b class='flag-5'>服务器</b>,使用 OBS 推送 PC 桌面流到 SRS

    ElfBoard技术贴|如何在ELF 1开发板上搭建流媒体服务器

    流媒体服务器种专门用于传输实时数据流的服务器软件,广泛用于视频直播、视频会议、音频播放等应用场景。在嵌入式开发领域,将
    的头像 发表于 08-20 14:48 522次阅读
    ElfBoard技术贴|如何在ELF 1开发板上搭建<b class='flag-5'>流媒体</b><b class='flag-5'>服务器</b>