简单的 H5 视频推流解决方案

导语

随着直播平台爆发式增长,直播平台从 PC 端转战移动端,紧跟着直播的潮流,自己学习实现了一套简单的 H5 视频推流的解决方案,下面就给小伙伴们分享一下自己学习过程中的经验。

环境部署

1、 配置、安装 Nginx;

# ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.39 --with-zlib=/usr/local/src/zlib-1.2.11 --with-openssl=/usr/local/openssl/
# make
# make install
# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  //启动Ngnix
# netstat -ano | grep 80

2、扩展 Nginx-rtmp-module

# ./configure --add-module=/usr/local/src/nginx-rtmp-module-master --with-openssl=/usr/local/openssl/
# make
# make install
# vim /usr/local/ngnix/conf/ngnix.conf
include /usr/localcinx-rtmp-module-master/testinx.conf;
# vim /usr/localcinx-rtmp-module-master/testinx.conf
rtmp {
    server {
        listen 1935;

        application myapp {
            live on;

            #record keyframes;
            #record_path /tmp;
            #record_max_size 128K;
            #record_interval 30s;
            #record_suffix .this.is.flv;

            #on_publish http://localhost:8080/publish;
            #on_play http://localhost:8080/play;
            #on_record_done http://localhost:8080/record_done;
        }

            application hls {
            live on;
            hls on;
            hls_path /tmp/hls;
            hls_fragment 10s;     #每个视频切片的时长。
            hls_playlist_length 60s;  #总共可以回看的事件,这里设置的是1分钟。
            #hls_continuous on; #连续模式。
            #hls_cleanup on;    #对多余的切片进行删除。
            #hls_nested on;     #嵌套模式。
        }
    }
}

http {
    server {
        listen      8080;

        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }

        location /stat.xsl {
            root /usr/local/src/nginx-rtmp-module-master/;
        }

        location /control {
            rtmp_control all;
        }

        location /rtmp-publisher {
            root /usr/local/src/nginx-rtmp-module-master/test;
        }

            location /hls {
            #server hls fragments
            types{
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }
            #alias /tmp/app;
            root /tmp;
            expires -1;
        }

        location / {
            root /usr/local/src/nginx-rtmp-module-master/test/rtmp-publisher;
        }
    }
}
# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
# netstat -ltn  #查看端口的监听情况

3、 安装 ffmpeg

# ./configure --prefix=/usr/local/ffmpeg
# make
# make install

至于 ffmpeg 是啥?详细介绍可以参考:《【经验分享】音频、视频利器——FFmpeg

模拟推流

  • 先来看一个简单的直播推流流程图 :

  • 用 flv 视频文件模拟 RTMP 视频流:
 # ffmpeg -re -i test.flv -vcodec copy -acodec copy -f flv rtmp://ip:1935/myapp/mystream

注:RTMP(Real Time Messaging Protocol),实时消息传输协议,用于视频直播协议,和 HLS 一样都可以应用于视频直播;

  • 用 mp4 视频文件模拟 HLS 视频流:
ffmpeg -re -i test.mp4 -c copy -f flv rtmp://ip:1935/hls/mystream

注:HLS(HTTP Live Streaming), Apple 的动态码率自适应技术,主要用于 PC 和 Apple 终端的音视频服务;

  • HLS 的请求流程:

H5 如何在页面上播放视频

<video autoplay webkit-playsinline>
        <source src="http://ip/hls/mystream.m3u8" type="application/vnd.apple.mpegurl" />
        <p class="warning">Your browser does not support HTML5 video.</p>
    </video>

总结

根据以上的流程,简单的实现了一个视频直播的流服务器来推送直播流,并且可以在 H5 页面上播放视频流。有兴趣的小伙伴们也可以尝试一下~

时间: 2024-12-08 23:03:27

简单的 H5 视频推流解决方案的相关文章

阿里云新品轮番轰炸 发布物联网、专有云、混合云、视频云解决方案

 随着计算日益成为水电煤一样的公共服务,在阿里云的客户名单里,出现了越来越多像12306.中石化.中石油.海关总署.国家电网.国税总局.中国气象局等等大中型政企客户,云计算不再专属互联网创业者.企业对云计算又有哪些新的需求? 4月20日,在云栖大会·深圳峰会上,阿里云重磅发布物联网.专有云(Apsara Stack).混合云.视频云四大解决方案,同时亮相的还有存储.数据库.安全.云市场.域名交易平台.阿里邮箱等多个领域的数十款为企业创造新价值的新品. 物联网平台赋能传统企业 互联网完成人与人的连

瑞蓝RL-NDVM-A16网络视频解码器 视频上墙解决方案专家--数字视频解码矩阵

瑞蓝网络数字视频解码矩阵(简称RL-NDVM)是依据第三代开放式网络视频监控系统的实际需求,专为视频上墙显示而研制的一款新型数字解码上墙设备.RL-NDVM解码矩阵是集解码器和HDMI/DVI/VGA切换矩阵功能于一身,可将前端的信号源(如:计算机屏幕显示信息.IP网络摄像机.NVR.DVR.DVS等)通过解码输出到显示设备上,显示设备无需借助拼接控制器只需通过RL-NDVM解码矩阵就可实现任意图像的任意部分在任意显示单元以任意的方式显示,可实现拼接.漫游.跨屏.分割.放大等主流功能,真正做到了

⑨云上场景:趣拍,短视频一站式解决方案

趣拍SDK的梦想是将视频能力开放,让更多开发者使用这个功能.从诞生日起,在没有任何市场推广的情况下,趣拍SDK的讨论群从无到有,瞬间聚集了数百开发者,吸引数百应用接入,覆盖过亿用户.   早期,趣拍就已经开始使用阿里云的产品,从媒体转码.对象存储OSS.云数据库RDS到负载均衡SLB.云服务器ECS.这些云上产品帮助趣拍解决了很多后续的技术问题,帮助其夺得竞争优势.例如,在没有使用阿里云的媒体转码应用前,趣拍8秒的视频大小约为1.5-2M,而使用媒体转码应用后,视频可以在清晰度不变的情况下,压缩

阿里云推视频云解决方案 窄带高清省流量

有多少人已经很久没有看电视了?当下,互联网视频内容的火爆已经悄然改变了年轻人的生活方式,电视已经成为可有可无的物件.但各类视频的爆发性增长,视屏网站的竞争除了是内容的竞争,同时也是背后IT技术的竞争.谁能更好处理高并发访问.减少延迟,实现高清晰度低流量,谁就赢了. 据阿里云视频云研发总监介绍,视频用户80%的成本都用于流量,在同等清晰度下,视频流量越低,用户的成本就越低.而视频直播产品更是考验技术积累的试金石,直播对就近接入.CDN加速.实时转码以及存储的可靠性都提出了更高的要求. 为此,在4月

【FFMpeg视频开发与应用基础】一、使用FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑

<FFMpeg视频开发与应用基础--使用FFMpeg工具与SDK>视频教程已经在"CSDN学院"上线,视频中包含了从0开始逐行代码实现FFMpeg视频开发的过程,欢迎观看!链接地址:FFMpeg视频开发与应用基础--使用FFMpeg工具与SDK 工程代码地址:FFmpeg_Tutorial 1.基本介绍 对于每一个从事音视频技术开发的工程师,想必没有一个人对FFmpeg这个名称感到陌生.FFmpeg是一套非常知名的音视频处理的开源工具,它包含了开发完成的工具软件.封装好的函

科达H.265视频监控解决方案,全力为深圳湾科技生态园安保服务

在生态环境压力不断增大的情形下,地处深圳湾区核心地带的深圳湾科技生态园,以生态为核心,集生态产业.生态环境.生态经营为一体,注重经济.社会与环境三大效益的平衡,打造全新的第三代绿色产业园区. 在绿色生态和可持续发展的大背景下,园区在选用监控产品上也对节能环保方面有了较多的考量,科达全系列端到端的H.265视频监控解决方案,高效节能,最终获得了一致好评,有幸为这个现代化产业园区安保服务. 端到端的H.265全系列解决方案 园区高楼林立,装修精致,监控密度高,要求产品精致小巧,节能环保.方案最终选择

智能护航 尽在掌控 戴尔“企业级”视频监控解决方案

引言   企业级视频监控往往部署多个监控点,采集量大.存储量大--   后端系统构架的不合理和智能化程度低,极容易造成网络堵塞.故障频发:   追求企业级视频监控无盲点.无断线.戴尔智能化视频监控承载平台为您带来一站式解决方案       一站式的智能平台 戴尔整体视频监控解决方案   戴尔提供整套包括从采集.传输.处理.存储.分析和视频云相关的视频监控解决方案.结合高可靠.高兼容和性能强大的企业级承载平台,除了可满足基本的视频采集和存储需求外,戴尔整体视频监控解决方案还可有效的.随时随地的提供

告别5毛特效,华媒传播使用阿里云构建网络视频一站式解决方案

"只要你有内容,我们就能给你带来价值",这并非天方夜谭也不是创业者的自吹自擂.在浙江华媒信息传播有限公司技术中心总经理王卫星看来,未来是内容为王的时代,但如何把内容变成大众乐于接受的视频,并快速实现视频内容的货币化,这正是成立不到一年的华媒传播所要实现的目标. 点几下鼠标,电影男主角手里的苹果手机立马变身黑莓,而且"PS"得毫无痕迹;同一档影视节目在不同地区发行,男主角的跑车竟然也可以从法拉利秒变成玛莎拉蒂:真人秀节目,餐桌上的食物明明是包子,而上海的观众看到的可以

国家农业部网站视频直播解决方案

项目背景: 当前,深化农业和农村经济结构调整,稳定增加农民收入,比以往任何时候都更为迫切,"三农"问题是当前各项问题的重中之重,实施农业部网站视频直播系统建设,大力推进项目的科学化和信息化进程,对促进农业和农村经济发展,促进农村繁荣稳定和社会进步,全面建设小康社会具有极其重要的意义. 解决方案: 1.统一规划,分布实施.系统要求既考虑系统初期建设的可行性,又要考虑系统未来的规模和业务拓展.对农业部网站视频直播系统的建设采取分布骤实施.确保直播服务每天三小时的稳定运行. 2.提供完整的后