1、安装samba服务:
新建用户,用于账号密码、
useradd share //添加前系统里必须有这个用户,要不会提示错误
smbpasswd -a 用户名 //建立用户名 //-a = 添加,-d=禁用,-e=启用,-x=删除。
smbpasswd //修改密码
上面是基本方法,由linux基础的都会
apt-get install samba -y //安装 samba
cp /etc/samba/smbconf /etc/samba/bak-smbconf //备份配置文件mkdir /media/
vim /etc/samba/smbconf //调整设置//编辑器出现问题时,请执行rm ~/viminfo
/etc/initd/samba restart //重启Samba生效
2、安装samba服务后,配置共享:
linux samba :设置:
[nvr]
comment = ipc share
path = /media
browseable = yes
writable = yes
public = yes
valid users = nvr
admin users = nvr
上面是配置文件。完成后 /etc/initd/samba restart //重启Samba生效
samba部分也属于一节课目,不会的话需要学习哦。
3、在 摄像头配置→储存→储存管理→网络硬盘 :
4、然后进入硬盘管理,格式化即可。
摄像头采集;
1、音视频编解码;
2、流媒体协议;
3、音视频流推送到流媒体服务器;
4、流媒体网络分发;
5、用户播放器;
6、音视频同步;
7、网络延迟自适应;
8、需要录制,多种视频文件的格式和封装;
9、语言:C、C、html、php、mysql
10、开发环境:嵌入式,Linux,Windows,Web
还有就是视频播放解决方案(卡顿、延迟):
1、CDN加速;
2、自己架服务器;
3、用别人的云服务。
用CDN加速,可以尽量减少延迟。目前业内水准来看,视频延迟都在3-6秒之间。也就是在视频直播时,你看到的是几秒以前的画面。
自己架服务器,如果部署的数据中心不够多,那么遇上跨网、跨省的传输,还是得用CDN加速。那么为了尽可能降低延迟,你就需要在全国各省市都部署数据中心,来解决跨网、跨省的传输。用云服务的话,就是别人把服务器给你架好了,你只要傻瓜式的用就行了。当然,不管用哪种方式,综合权衡利弊,找到适合的方案就是最好的方案。
开发视频直播的流程有哪些:
1、采集;
2、前期处理;
3、编码;
4、传输;
5、解码;
6、渲染。
采集:iOS是比较简单的,Android则要做些机型适配工作。PC最麻烦各种奇葩摄像头驱动,出了问题特别不好处理,建议放弃PC只支持手机主播,目前几个新进的直播平台都是这样的。
前期处理:现在直播美颜已经是标配了,80%的主播没有美颜根本没法看。美颜算法需要懂图像处理算法的人,没有好的开源实现,要自己参考论文去研究。算法设计好了还要优化,无论你打算用CPU还是GPU优化,算法优化本身也需要专业知识支持。GPU虽然性能好,但是也是有功耗的。GPU占用太高会导致手机发烫,而手机发烫会导致摄像头采集掉帧。而这一切都是需要经验支撑。
编码:如果你要上720p,肯定要采用硬编码。软编码720p完全没希望,硬件编码不灵活。兼容性也有问题。如何适应纷繁复杂的网络和纷繁复杂的上下行设备?安卓和芯片的坑,开发过的人都知道。那有人问,要求不高,上软编码低分辨率360p行不行?就算上低分辨率,软编码还是会让CPU发烫,CPU过热烫到摄像头,长期发烫不仅直接反应是费电。既然是手机直播,插着电源和充电器实在说不过去吧。还有,CPU发烫会降频,怎么办?这还是只说性能方面。和前处理只影响图像质量和功耗不同,视频编解码技术还关联成本计算和网络对抗。考虑性能、功耗、成本、网络这四个之后你编码的码率、帧率、分辨率。软硬件开发该如何选择?
传输:自己做不现实,交给第三方服务商吧。
解码:如果你用硬解码,一定要做容错处理,一定要做适配。突然一个crash导致手机重启不好吧。安卓的硬解码,不说了。如果你加了网络目前手机的硬解码还不一定支撑用软解码,功耗发热的问题又来了。
渲染:为什么手机明明解码出好多帧数据。就是渲染不出来。为什么画面就是不同步。
以上是媒体模块,还有信令控制,登录、鉴权、权限管理、状态管理等等,各种应用服务,消息推送,聊天,礼物系统,支付系统,运营支持系统,统计系统等。后台还有数据库,缓存,分布式文件存储,消息队列,运维系统等。
以上技术要点的小结,确实能说明开发一个能用于生产环境的实时视频直播平台确非易事,跟IM里传统的实时音视频一样,这样的技术都是音视频编解码网络传输技术的综合应用体。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)