本文作者:admin

有哪些靠谱网络视频直播(服务器端)解决方案?

芯岁网络 2024-08-28 00:22 0 0条评论

一、有哪些靠谱网络视频直播(服务器端)解决方案?

前言

最近一星期一直在研究直播原理和推流操作,网上的教程十分零散,你会发现每个搜索页面点进去都是同个文章,这... 经过我独立研究和网上学习,终于终于走完了基本的直播推流操作。我将互联网零散的知识和自己的理解全部集成在这。此文章为原创,当中会引用不少大佬伟大的项目

感谢以下伟大的项目

https://github.com/ossrs/srs

https://github.com/bilibili/flv.js

https://github.com/FFmpeg/FFmpeg

此教程在一台德国HZ 2C8G 的vps模拟 OS:centos 7

准备硬件要求

一台服务器 配置需求:CPU:1核心以上 内存:2G以上 硬盘:10G以上 宽带:双向5M以上(如果是国外尽量100M以上)

选要

推流服务器:CPU:1核心以上(推荐2核心以上)内存:2G以上 硬盘:20G以上 宽带:上行5M以上(国外尽量100M以上)

一台电脑,可以用于测试obs直播和性能调试

一台中转服务器(主要应用于国外主服务器线路不佳中转流量):CPU:1核心以上 内存:256M以上 宽带:5M以上精品回国线路(cn2-gt cn2-gia)

【更多音视频学习资料,点击下方链接免费领取↓↓,先码住不迷路~】

音视频开发交流群

安装SRS直播服务器

安装docker环境

yum install docker

安装screen

yum install screen

创建screen

screen -S live

PS:如果像返回主root,按ctrl+A+D 即可,返回此窗口运行以下命令

screen -r live

运行SRS

docker run -p 1935:1935 -p 1985:1985 -p 8080:8080 ossrs/srs:3

说明:1935端口为直播推流点 1985端口为控制台 8080端口后面会说到,是直链m3u8和flv输出点

如果你的vps在国内,可能会下载比较慢,可以参考此命令

docker run registry.cn-hangzhou.aliyuncs.com/ossrs/srs:3

具体可看 https://github.com/ossrs/srs-docker#srs3

PS:记得在宝塔或者防火墙等地方开放端口,如果报错,可能需要重启docker

systemctl restart docker

这时最简单最便捷的方法安装完成了,当然你想折腾,可以去github看官方编译步骤 https://github.com/ossrs/sr

如果你不需要ffmpeg自动推流本地视频,你到此就可以结束了

以下为连接方式

rtmp推流连接:rtmp://ip:1935/live/ livestream为密匙

rtmp拉流:rtmp://ip:1935/live/livestream

m3u8直链提取:http://ip:8080/live/livestream.m3u8

flv直链提取:http://ip:8080/live/livestream.flv

播放需要特殊播放器,网页播放下面会讲

安装ffmpeg

FFmpeg搭建一个简单的rtsp推流方案 - 零声Github分享官的文章 - 知乎 https://zhuanlan.zhihu.com/p/595289738

运行以下命令

    wget http://www.ffmpeg.org/releases/ffmpeg-3.4.2.tar.gz
    tar -zxvf ffmpeg-3.4.2.tar.gz
    cd ffmpeg-3.4.2
    ./configure
    make
    make install

过程较久,如果报错以下

yasm/nasm not found or too old. Use –disable-yasm for a crippled build.

需要安装yasm,运行以下命令

    wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz&&tar -zxvf yasm-1.3.0.tar.gz&&cd yasm-1.3.0&&./configure&&make&&make install

然后继续安装即可

利用ffmpeg推流到服务器

运行以下命令

ffmpeg -re -i 视频位置 -vcodec copy -acodec copy -f flv -y rtmp://ip:1935/live/livestream

其中可以自己调整,然后用播放器拉流看,会发现成功了,如图

obs直播

下载obs

windows: https://cdn-fastly.obsproject.com/downloads/OBS-Studio-25.0.8-Full-Installer-x64.exe

Mac: https://cdn-fastly.obsproject.com/downloads/obs-mac-25.0.8.dmg

linux: https://obsproject.com/wiki/install-instructions#linux

安装完后自动会设置为中文,如图设置推流

在马赛克地方填入服务器rtmp,上面提到了,密匙也说了,填进去就行了,可以在输出地输入合适码率,根据实际应用和服务器状况调整

在这仅作个简单的推流操作,具体obs操作可以看b站up的教程

如何在web播放

这里自研出集成flv.js html单页

可以直接播放flv流直播源

参考 https://github.com/bilibili/flv.js

请下载此文件放在根目录 flv.js文件夹内

https://pro-file.xiaoheiban.cn/202008/b15118b0-da9a-4c31-8821-14c848a177c3.zip

列出代码

    <!DOCTYPE html><html><head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
    <title>ACfox 直播间</title>
    <style>
        .mainContainer {            display: block;            width: 1024px;            margin-left: auto;            margin-right: auto;
        }        .urlInput {            display: block;            width: 100%;            margin-left: auto;            margin-right: auto;            margin-top: 8px;            margin-bottom: 8px;
        }        .centeredVideo {            display: block;            width: 100%;            height: 576px;            margin-left: auto;            margin-right: auto;            margin-bottom: auto;
        }        .controls {            display: block;            width: 100%;            text-align: left;            margin-left: auto;            margin-right: auto;
        }    </style></head><body>
    <div class="mainContainer">
        <video id="videoElement" class="centeredVideo" controls autoplay width="1024" height="576">Your browser is too old which doesn't support HTML5 video.</video>
    </div>
    
    
    <script src="./flv.js/flv.min.js"></script>
    <script>
        var player = document.getElementById('videoElement');        if (flvjs.isSupported()) {            var flvPlayer = flvjs.createPlayer({                type: 'flv',                "isLive": true,
                url: 'xxxx',//这里填你的直播源flv格式

            });
            flvPlayer.attachMediaElement(videoElement);
            flvPlayer.load(); 
            flv_start();
        }        function flv_start() {
            player.play();
        }        function flv_pause() {
            player.pause();
        }        function flv_destroy() {
            player.pause();
            player.unload();
            player.detachMediaElement();
            player.destroy();
            player = null;
        }        function flv_seekto() {
            player.currentTime = parseFloat(document.getElementsByName('seekpoint')[0].value);
        }    </script></body></html>

保存为html文件即可。可以实现免flash播放

推流中转配置

此中转针对国外网络环境不好的状况。中转的服务器可以配置低点,但是网络要好,可以尝试试试gia bgp 香港 台湾地区的nat机

使用nginx转发

安装完nginx后,在配置文件中加入

    stream {
        server {
            listen xxxx;
            proxy_connect_timeout 5s;
            proxy_timeout 20s;
            proxy_pass ip:port;
        }
    }

端口号与你的直播拉流端口对应,如:一台直播服务器ip为9.9.9.9的 flv m3u8端口号为8080 转发到中转机9090端口,那代码为

    stream {
            server {
                listen 9090;
                proxy_connect_timeout 5s;
                proxy_timeout 20s;
                proxy_pass 9.9.9.9:8080;
            }
    }

注意记得开放端口,开放安全组

作者:yimi233

原文链接:https://cloud.tencent.com/developer/article/2136460

感谢关注,更多脱水干货,敬请期待!

【文章福利】免费领取更多音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTCrtmp hlsrtsp ffplay srs 等等)有需要的可以点击994289133加群领取哦~

二、视频素材存储解决方案?

一个视频素材存储解决方案可以包括以下几个步骤:

1. 确定需要存储的视频素材的类型和规模。不同类型的视频素材,如高清、4K、8K等,需要的存储空间不同。

2. 选定适当的存储设备,如外置硬盘、云存储、网络存储等,并考虑存储设备的稳定性、速度和安全性。

3. 确定一个备份计划,避免数据丢失,建议至少备份到两个存储设备,并定期检查备份的完整性和可读性。

4. 对视频素材进行分类存储,建议按照时间、项目、类型等分类,有助于快速查找和使用需要的素材。

5. 使用专业的视频管理软件,如Adobe Bridge、DAM等,管理和浏览素材。同时,可以利用元数据管理系统,对素材进行标记和分类,便于搜索和筛选。

6. 设置访问权限,对不同用户进行权限管理,如只读、读写、删除等,防止误操作或数据泄露。

7. 定期清理不需要的素材,避免冗余数据占用存储空间。

三、视频会议解决方案?

卡屏:遇到卡屏问题,首先要分辨卡屏原因。如果是所有参会者观看都卡屏,那应该是主讲人的网络上行带宽不足造成的;这时可以尝试重新打开共享,不出意外的话,重试能解决99%的卡屏问题。

如果重新共享桌面并没有解决问题,Windows客户端请尝试选择【共享文档】,因为【共享文档】的带宽占用比【共享桌面】要低。

大部分参会者观看都正常,只有个别参会者反馈卡屏,应该是该参会者的网络下行带宽不足造成;可以试试切换网络,或使用手机入会。声音问题

静音:为保证会议秩序,入会时及时静音,需要发言时,在共享池内打开自己麦克风和视频即可。

回音和啸叫:使用电脑参加视频会议,一定要注意不要把麦克风和音响摆放过近,否则对方的声音从音箱里传出后会再经过话筒传回去形成非常明显的回音或啸叫。因此在电脑上使用视频会议时,建议佩戴耳机,如果没有耳机,应及时将自己电脑麦克风静音。同一会议室已经有其他人开启了声音,入会时也可以不选择语音,避免引起回声。

没有声音:对方听不到我方声音时,首先确认入会时是否选择了语音,其次检查电脑或者外接设备的麦克风是否正常。听不到对方语音时,首先确保不是自身设备问题,再联系主持人方检查设备环境。

声音卡顿:网络问题引起声音断续卡顿,可以切换电话语音入会。点击页面上方语音按钮,选择改用电话语音,输入手机或座机号码即可。

四、网络视频直播解决方案?

关于网络视频直播解决方案是为企业和个人提供实时、流畅、稳定的视频直播服务。以下是一个简化的解决方案:

1. 采集和编码:视频直播的第一步是采集视频和音频信号,并对其进行编码以降低带宽占用。这可以通过摄像头、麦克风等设备实现。常用的编码格式有H.264、VP8等。

2. 推流:将编码后的视频流推送到服务器。这一步通常使用RTMP(Real-Time Messaging Protocol)等协议。推流软件可以是开源的(如OBS Studio、XSplit等)或定制开发的。

3. 直播服务器:直播服务器负责接收推流,并进行流媒体处理,如转码、录制、截图等。常用的直播服务器有商用的(如Akamai、阿里云等)或开源的(如Nginx-RTMP、VideoLAN Medooze等)。

4. 拉流:观众通过播放端(如网页、移动设备)从直播服务器拉取视频流。常用的拉流协议有HLS、DASH和RTMP。

5. 播放:播放端对拉取的视频流进行解码,并在屏幕上显示。常用的播放技术包括HTML5Video、Flash和原生移动SDK。

6. 互动与社交:为增强观众参与度,可以添加互动元素,如聊天室、弹幕、点赞、分享等。这可以通过集成第三方社交插件或开发定制功能实现。

网络视频直播解决方案可根据具体需求和预算进行扩展和定制。例如,增加CDN(Content Delivery Network,内容分发网络)以优化带宽分配,使用AI技术进行实时美颜、绿幕抠图等。

五、老人视频通话解决方案?

首先,要有通畅的网络环境以及可以用来视频的设备,智能手机或者平板。

然后,手把手一步步教会并重复视频通话步骤,必要时可辅助画流程图解析,让老人多试几次。

最后,可以跟邻居打好招呼,帮老人解决家里没年轻人时会遇到的上网问题。

六、dns服务器未响应解决方案?

1、重启电脑后将自己的dns地址改为“ 114.114.114.114 ”。

2、如果不行的话就按下快捷键“ win+r ”打开运行输入“ services.msc ”。

3、在服务敞口中找到dns,查看一下是否启动未启动就将其启动。

4、也可以尝试以管理员身份运行dos命令。

5、在命令行中运行“ arp-d ”命令。

6、检查是否使用了代理,进入ie的“ Internet选项 ”切换至连接卡即可。

七、刀片服务器风扇噪音解决方案?

可以将服务器的风扇进行中轴的润滑,然后加装隔音棉就会解决噪声

八、网络视频花屏的解决方案?

解决办法

首先查看我们的电脑驱动是否安装,点击控制面板,然后找到程序功能按钮,然后点击打开即可。

  在程序中,我们可以看到点的相关的驱动安装情况,检测下是否需要更新显卡驱动。

  对于使用电脑观看视频后,出现视频花屏的情况,也是可以通过电脑中的软件来帮助解决的,点击进入到腾讯电脑管家中。

在电脑中我们可以看到工具箱按钮,点击进入到后找到电脑门诊功能,然后点击打开进入。

  在搜索栏中输入花屏的关键词,然后进行搜索,通过搜索出来的结果,点击进入到相关的修复页面,然后修复。

九、腾讯视频会议解决方案?

一、腾讯会议上传PPT的方法

【手机端】方法

手机目前只可新建文档或者表格啊,无法导入本地文件

【电脑端】方法

1、首先需要先进入会议内,在下方选择“会员文档”

2、选择“导入文档”

3、然后选择我们需要上传的文档,点击打开即可

4、导入成功后打开即可

二、腾讯会议开美颜的方法

1、想要开启美颜时,打开腾讯会议开会界面点击“更多”。

2、打开选项菜单后点击“设置”。

3、打开腾讯会议设置界面点击“高级设置”。

4、打开高级设置界面点击“美颜”。

5、打开美颜设置界面,向右拖动白色滑块增大美颜效果,向左拖动白色滑块减小美颜效果,设置完毕后点击“返回”即可。

三、腾讯会议共享屏幕的方法

1.首先在手机上打开腾讯会议开会界面,然后点击“共享屏幕”。

2.打开提示弹窗后勾选“不再提示”,然后点击“立即开始”。

3.打开“可在其他应用上层显示的应用”设置界面,然后点击灰色“开关”按钮,按钮变成蓝色后点击“返回”图标。

4.打开开会界面共享屏幕功能同时开启,会议中的其他人均可通过电脑、手机观看自己的手机屏幕。想要停止屏幕共享时,则点击“停止共享”按钮即可。

四、腾讯会议改头像的方法

1、点击打开腾讯会议app,然后在个人页面上点击左上角的头像,点击打开。

2、然后点击上面的头像的框架即可选择图片进行更改头像。

3、更改完成之后会有“修改成功”的字样出现,不过更改完之后是需要稍等一段时间才能在会议中查看到我们的新的头像。

五、腾讯会议上传文档的方法

1.首先打开并登录【腾讯会议】客户端,然后进入会议界面,接着点击右下角【更多】选项,

2.点击【会议文档】,

3.再选择要上传的文档即可;

4.也可以在【预定会议】时,点击【会议文档】右侧的【点击添加】,再完成上传即可。

十、监控视频保留半年解决方案?

8个盘组成磁盘阵列,一个盘满了自动写入另外一个盘。