c++高性能264/265实时h5流媒体服务器前后端整体解决方案

这篇具有很好参考价值的文章主要介绍了c++高性能264/265实时h5流媒体服务器前后端整体解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

c++高性能264/265实时h5流媒体服务器前后端整体解决方案

1.效果展示

下图展示了前端播放效果。

  • 播放1路264视频流,4路265视频流

  • CPU占用率10%(测试机器上运行着c++服务端和其他工具程序)

  • GPU0占用率17%

c++高性能264/265实时h5流媒体服务器前后端整体解决方案,c++,开发语言,H265,HEVC,h5,gpu
c++高性能264/265实时h5流媒体服务器前后端整体解决方案,c++,开发语言,H265,HEVC,h5,gpu

1.1 作者测试机器配置

处理器 11th Gen Intel® Core™ i7-11800H @ 2.30GHz 2.30 GHz
机带 RAM 32.0 GB (31.6 GB 可用)
系统类型 WIN10 64 位操作系统, 基于 x64 的处理器
笔和触控 没有可用于此显示器的笔或触控输入
显示设备 GPU-0 : 集成显示芯片 GPU-1:RTX3070文章来源地址https://www.toymoban.com/news/detail-522506.html

2.特点

  • 利用新版chrome特性,无论是264还是265,都基于GPU硬件解码,性能卓越,可轻松实现16路/甚至64路 265视频播放,和本地播放器无差异,得益于chrome优秀的视频解码能力,甚至比很多本地播放器做的很好;
  • websocket传输实时流,极低延迟;
  • 前端代码基于h5原始“video”标签,方便集成到自己的前端项目中,并且提供简单播放器UI,方便修改,实现自己的前端逻辑;
  • 纯c++编写, 要求c++版本不低于14,少量c++14特性,具体特性见“4. 技术方案以及第三方库介绍 c++一栏”;
  • c/c++独有的高效内存使用,尽可能的避免内存拷贝;
  • 代码风格严格遵守google规范,从头文件包含顺序、变量命名到函数逻辑,遵循“一个函数只做一件事情”,谨慎对待每个警告,附上源码截图,文件列表截图。如有需要可提供单元测试代码,方便集成到自己的ci/cd环境中;
  • 跨平台,兼容window/linux, 可以运行在绝大多数嵌入式、x86环境下;
  • 媒体源为原始264/265裸流,方便集成到自己硬件环境中,如果采用mp4做源, ffmpeg读取,使用者需要额外考虑如何组帧、如何添加时间戳;

3.功能框架

4. 技术方案以及第三方库介绍

组件名称 说明 源码地址
c++ c++11 function、lambda等,c++14 optional
网络库 基于yasio/xxsocket修改 https://github.com/yasio/yasio
websocket库 wslay https://github.com/tatsuhiro-t/wslay
flv打包 libflv https://github.com/ireader/media-server
264/265码流分析 抽出webrtc库中的一部分做成库libvideo_stream_parser https://github.com/chromium/chromium
日志库 loguru https://github.com/emilk/loguru
字符串分析库 pystring https://github.com/imageworks/pystring
前端库 mpegts.js https://github.com/xqq/mpegts.js

到了这里,关于c++高性能264/265实时h5流媒体服务器前后端整体解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • H.265视频无插件流媒体播放器EasyPlayer.js播放webrtc断流重连的异常修复

    H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,可支持H.264与H.265编码格式,性能稳定、播放流畅,能支持WebSocket-FLV、HTTP-FLV,HLS(m3u8)、WebRTC等格式的视频流,并且已实现网页端实时录像、在iOS上实现低延时直

    2024年02月10日
    浏览(62)
  • C++那些事之高性能SIMD

    最近在看相关向量化的内容,看起来有点头大,借此机会,学习一下高性能SIMD编程。 SIMD全称single-instruction multiple-data,单指令多数据。 在传统的计算机架构中,CPU一次只能处理一个数据元素。但是,许多任务涉及对大量数据执行相同的操作,例如对数组中的所有元素进行加法

    2024年02月15日
    浏览(37)
  • 开放式高实时高性能PLC控制器解决方案-基于米尔电子STM32MP135

    随着工业数字化进程加速与IT/OT深入融合,不断增加的OT核心数据已经逐步成为工业自动化行业的核心资产,而OT层数据具备高实时、高精度、冗余度高、数据量大等等特点,如何获取更加精准的OT数据对数字化进程起到至关重要的作用,同时随着国内工业控制系统逐步进入中

    2024年03月24日
    浏览(46)
  • 【FAQ】H.265视频无插件流媒体播放器EasyPlayer.js播放webrtc断流重连的异常修复

    H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,可支持H.264与H.265编码格式,性能稳定、播放流畅,能支持WebSocket-FLV、HTTP-FLV,HLS(m3u8)、WebRTC等格式的视频流,并且已实现网页端实时录像、在iOS上实现低延时直

    2024年02月11日
    浏览(63)
  • C++高性能服务器网络框架设计与实现

    这篇文章将从两个方面来介绍,一个是服务器中的基础的网络通信部件;另外一个是,如何利用这些基础通信部件整合成一个完整的高效的服务器框架。注意:本文以下内容中的客户端是相对概念,指的是连接到当前讨论的服务程序的终端,所以这里的客户端既可能是我们传

    2024年02月04日
    浏览(54)
  • c++代码实现一个高性能内存池(超详细版本)

    写在前面 本文的内存池代码是改编自Nginx的内存池源码,思路几乎一样。由于Nginx源码的变量命名我不喜欢,又没有注释,看得我很难受。想自己写一版容易理解的代码。这应该是全网独一份的超详细版本了(笑~). 应用场景 写内存池的原理之前,按照惯例先说内存池的应用

    2024年02月06日
    浏览(50)
  • Linux C++性能优化秘籍:从编译器到代码,探究高性能C++程序的实现之道

    随着大数据、人工智能等技术的飞速发展,程序性能优化的重要性愈发突出。优化性能可以降低资源消耗、提高系统响应速度,从而在有限的硬件资源下,实现更高的吞吐量和处理能力。此外,性能优化也有助于降低能耗、减少散热问题,延长硬件使用寿命。 Linux操作系统具

    2023年04月09日
    浏览(51)
  • 安卓播放H264/H265实时流(安卓实时预览H264/H265 安卓实时预览AVC/HEVC)

       实际项目中经常遇到两种场景,第一种从无人机拿H264/H265码流转GB28181等协议,转协议的同时可能还需要实时预览无人机画面; 第二种是安卓接USB外置摄像头, 由于USB2.0传输带宽有限,对于高分辨率图像, 带宽无法满足YUV图像的传输, 摄像头只好先将图像编码成MJPEG,H264或H26

    2024年02月15日
    浏览(49)
  • 从零开始实现一个C++高性能服务器框架----Socket模块

    此项目是根据sylar框架实现,是从零开始重写sylar,也是对sylar丰富与完善 项目地址:https://gitee.com/lzhiqiang1999/server-framework 项目介绍 :实现了一个基于协程的服务器框架,支持多线程、多协程协同调度;支持以异步处理的方式提高服务器性能;封装了网络相关的模块,包括

    2023年04月08日
    浏览(58)
  • 从零开始实现一个C++高性能服务器框架----环境变量模块

    此项目是根据sylar框架实现,是从零开始重写sylar,也是对sylar丰富与完善 项目地址:https://gitee.com/lzhiqiang1999/server-framework 项目介绍 :实现了一个基于协程的服务器框架,支持多线程、多协程协同调度;支持以异步处理的方式提高服务器性能;封装了网络相关的模块,包括

    2024年02月02日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包