ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何动手搭建一套简单的直播系统

2022-03-31 11:02:43  阅读:278  来源: 互联网

标签:ffmpeg 学习 动手 直播 推流 搭建 SDK


实时视频直播是这两年非常火的技术形态,已经渗透到教育、在线互娱等各种业务场景中。但要搭建一套实时视频直播系统,并非易事,当然相关的直播技术理论在论坛的其它文章里已经写的非常详细,本文不再展开。

基于对新技术的好奇心,我立马实践了下,所以首先给大家分享下整个搭建的流程。本人的操作系统为mac,其他系统的同学可以根据提示,自行安装软件。

一个简易的直播系统,大致可以由三部分组成:

搭建一个rtmp媒体服务器;

推流端;

拉流端。

现在目标是快速搭建起来,所以当然是借助开源项目和一些软件:

rtmp媒体服务器:这里使用srs;

推流端:这里使用obs;

拉流端:这里使用播放器vlc。

首先选择点击+选择来源,这里我选择了窗口捕获,然后点击右侧的设置:

选择流,串流类型选择自定义,然后url,填写:

1rtmp://你的ip/你喜欢的url

流名称可以按照上述自由输入。

这样,我们的OBS推流就开启啦,软件的更多使用自行探索吧。最后就剩下我们的拉流了。

点击Open Network,输入我们刚才的url+流名称,点击确定即可:

最左侧是VLC,中间是OBS,右侧是我窗口捕获对象。

到这里,就算我们搭建了一个直播系统啦~~自己搭建成功的感觉,无比爽快,也能很大的激发我们后续的学习兴趣。

后面我们可以根据自己的需求去选择学习拉流或者推流,逐步替换掉软件。拉流的方式很多,很多开源播放器都支持。这里我们考虑替换掉推流,希望可以使用手机来推流。

使用第三方推流SDK

最简单的方式,就是可以借助于第三方的推流SDK,大多情况下第三方SDK完整方案都是收费的,不过他们的推流Android SDK倒是可以下载无需付费情况下来学习使用的。即时通讯开发

还是以vlc拉流即可,整个过程很缓慢,耐心等待,效果也不是很好,不过能跑通即可,主要是学习。然后你可以举一反三试试其他的SDK。当然了,很多开源项目其实比SDK作为学习资料更好,比如源码都有,下面以一个开源项目举例。

利用ffmpeg推流

大家可以自己下载ffmepg的源码,然后按照网上的方式去编成so,简单的一点而且比较实用的,就是编出可以执行ffmpeg 命令的so,这样就能干很多事情了。

 

ffmpeg命令很多,例如下面这些命令。

将.avi转成gif动画(未压缩):

ffmpeg -i video_origine.avi gif_anime.gif

合成视频和音频:

ffmpeg -i son.wav -i video_origine.avi video_finale.mpg

其中有一个命令就是支持推流,这里将手机上的zixia.mp4作为输入:

ffmpeg -re -i /storage/emulated/0/zixia.mp4

-vcodec libx264

-acodec aac

-f flv

-strict -2 rtmp://192.168.1.102/zhy/mylive=

好了,这样我们的大致学习了如何搭建一个小直播系统,如何利用SDK,开源项目,以及简单的使用ffmpeg来进行推流。

很多时候,学习一个比较大的技术方向就是开头难,无从下手,那么本篇应该是一篇非常易懂的教程,希望对想要学习直播技术的小伙伴有所帮助,也希望以此能够激发大家一定的学习兴趣,当然直播技术远不止于此,大家可以根据自己的情况继续深入学习。

标签:ffmpeg,学习,动手,直播,推流,搭建,SDK
来源: https://www.cnblogs.com/keyunshiwo/p/16080760.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有