《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2.2 FFmpeg向网络推流”介绍了轻量级流媒体服务器MediaMTX,通过该工具可以测试RTSP/RTMP等流媒体协议的推拉流。 librestreaming是一款基于Android的实时滤镜RTMP推流库,它使用MediaCodec API进行视频和音频编码,并使用librtmp库执行rtmp流式传输。 确保手机和电脑连接了同一个WiFi,再往librestreaming的App配置界面填上MediaMTX的完整推流地址如“rtmp://192.168.*.*:1935/stream”,接着点击START 然后电脑打开VLC media player,依次选择菜单:媒体→打开网络串流,在弹窗的URL栏输入对应的MediaMTX拉流地址“rtmp://192.168.*.*:1935/stream”如下图所示
在《使用国产操作系统作为开发系统》一文中,我介绍了将开发系统从 Ubuntu 替换为 Deepin 系统的过程。 经过一个多月的使用,Deepin 系统已然成为我的主力开发平台,其顺手程度让我对国产操作系统的信心大增。于是,我开始将目光瞄向公司的办公电脑。 例如我在工作中使用的 OA 系统、PMS(项目管理系统)、Gerrit、文档协作系统等,均无需安装客户端,只需通过浏览器即可访问。 如今,腾讯会议对国产系统的支持力度很大,提供了原生版本。 打印机 虽然国产系统在打印机支持方面曾经备受诟病,但经过多年的努力,支持情况已有显著改善。 小结 以上就是我将 Windows 办公电脑改造成国产芯片和操作系统组合的方案。如果你在办公中还使用了其他软件,或者使用了其他国产系统或软件,有任何心得或疑问,欢迎留言交流!
在《国产芯片+国产操作系统打造办公系统》一文中,我分享了使用国产系统替代 Windows 办公电脑的体验。这是一台迷你主机,有一点方便,就是可以装在包里,带回家使用。 经过一段时间的使用,我发现这套国产芯片搭配国产操作系统在办公方面无可挑剔,能够满足我的办公需求。那么在休闲娱乐方面,它的表现又如何呢?让我们一探究竟。 蓝牙连接 说到休闲娱乐,音影播放是必不可少的。 都说国产系统对外设不友好,那在蓝牙连接上会不会遇到麻烦? 打开 UOS 系统的控制中心,可以看到设备中有蓝牙这一项。 开启后,很快就发现我的蓝牙音箱。 点击之后,很快就连接上。 这台国产电脑芯片,虽然显卡很是一般,但对于在线的 1080P 和 4K 视频,播放起来毫无压力。下面是我分别在爱奇艺、优酷和B站上播放高清视频。 我之前写过一篇文章《在国产系统上安装 Windows 应用程序》,介绍了我是如何将野狐客户端(Windows版)打包成 UOS 版本安装包,在 UOS 系统上安装并运行的方法。
Pi 树莓派系统 许多操作系统可用于 Operating system images – Raspberry Pi,包括 Raspberry Pi OS,我们的官方支持的操作系统,以及来自其他组织的操作系统 Raspberry Pi Imager 是为 microSD 卡安装操作系统的一种快速简便的方法,可以与您的 Raspberry Pi 一起使用。或者,从下面的操作系统中选择,可以手动下载和安装。 Raspberry Pi Desktop for PC and Mac 使用 Raspberry Pi 的 Debian 桌面系统是我们的 PC 和 Mac 操作系统。 它提供 Raspberry Pi 操作系统桌面,以及大多数推荐的 Raspberry Pi 操作系统软件,适用于任何 PC 或苹果 Mac 电脑。 ,还支持苹果 MACOSX 系统上运行。
国产操作系统多以Linux为基础二次开发,今天我们为大家盘点一下二零一八年值得用户使用的国产Linux桌面操作系统。 1.深度操作系统 作为国产最受欢迎的Linux开源系统,深度以其“极致体验,美观高效”的特点吸引了大批Linux爱好者的使用,并获得了一致好评。 2.中标麒麟 中标麒麟作为国产操作系统的引领者,针对X86及龙芯、申威、众志、飞腾等国产CPU平台进行自主开发,率先实现了对X86及国 产CPU平台的支持。 在国产操作系统领域市场占有率稳居第一。 4.一铭桌面操作系统 一铭操作系统的特点是“以用户的真实需求进行完善,在用户使用习惯、安装操作、系统界面、安全防御等多个方面进行了优化和升级。”是真正“让国产操作系统用起来”的操作系统。
在使用 Deepin/UOS 系统时,我注意到应用商店新增了一个“玲珑应用”的类别。经过一番了解,发现这是一种最新研发的国产软件包格式——如意玲珑。那么,什么是如意玲珑? 1 许多从 Windows 转向国产 Linux 系统的用户会困惑:为什么 Linux 应用程序没有像 Windows 那样的安装包? 这两个包管理系统为 Linux 社区提供了长期稳定的解决方案,现在依然被包括国产系统在内的 Linux 系统所采用。 这个时候,国产系统新开发一种软件包格式,是重复造轮子吗? 5 玲珑包格式的引入,会不会又是国产系统引入的壁垒? 技术架构上,玲珑最大的特点就是支持跨发行版。 然而,DEB 和 RPM 包仍将在系统级软件和服务器软件的管理中扮演重要角色。玲珑包与传统包管理方式并不是相互取代,而是为不同应用场景提供了更灵活的选择,共同推动国产系统的生态发展。
我觉得龙芯一直在芯片研发领域稳步前进,并且做龙芯指令系统,兼容MIPS指令。在实现芯片国产化的道路上,不断的突破,不断的做一些尝试。 RT-Thread作为一个开源的国产物联网操作系统,也是在积极的推进着国内开源事业的发展,目前RT-Thread的生态还是比较活跃,用过rt-thread的人可能都会被其生态所吸引,一大批的社区开源活跃的大佬在分享自己的东西 还支持armv8体系架构,支持龙芯,君正这类的mips架构,也在支持很多国产的RISC-V芯片。国产的操作系统,配上国产的芯片,才能发挥出最大的实力。 例如芯片产业,或者国产化的一些操作系统,或者国产化的一些eda,CAD之类的工程软件。 ,操作系统的国产化的道路。
长期以来,我一直是在 Ubuntu 系统上做开发。近一年来,由于为信创系统(统信 UOS、银河麒麟等)开发应用软件,免不了使用国产操作系统。 使用下来,发现国产系统在易用性、稳定性方面已经相当不错,而且用户界面比起 Ubuntu 还美观很多。系统集成的应用商店,里面的应用非常全面,基本上满足了作为系统开发的需求。 某一天,一个念头出现在我的脑海,何不使用国产操作系统作为开发机系统?说干就干。我立即上京东买了一块 500G 的固态硬盘,作为系统盘。至于数据盘,和原来的 Ubuntu 系统共用。 之前在 Ubuntu 系统下下载了不少大模型和源码(Chromium、Android等),在新系统可以直接使用。 你会选择国产系统作为开发系统吗?欢迎留言讨论。
在国内竞争激烈的汽车市场里,尽管各家车企都有自己的定制系统,也有多家从事车载系统研发的厂商,但在与谷歌等大厂的竞争中,国产车载系统却显得困难重重。 据悉,为了在新系统中添加AEB自动紧急制动系统功能,理想停止了和Mobileye的合作,并基于国产地平线J3芯片开展智能驾驶的全栈自研,而这款名为AD Max的智能驾驶系统将被搭载于今年发布的理想L9上 如果放弃“黑盒子”采用国产自动驾驶系统,那么第二条道路就是选择华为、百度等科技巨头的自动驾驶方案。 作为消费者最直观感受汽车智能化功能的入口,车载系统已经在车企宣传中占到愈发重要的地位,国产车载系统自然不会错过这个蛋糕。 但截至目前,国产车载系统的优势并不明显,想要打造如同安卓一样的汽车生态,任重道远。
介绍 Wizard是一款开源文档管理系统,支持三种格式类型的文档管理,分别是Markdown、Swagger和Table,以便于满足不同场景和不同需求下的文档管理,Markdown类型是当下比较常用的文档类型 gitee.com/orionis/wizard Github:https://github.com/mylxsw/wizard 功能清单 目前Wizard已经包含了以下功能,相对于很多单调的文档管理系统 总结 Wizard是一个值得使用的文档管理系统,独立部署,支持MD、Swagger、Table以及其它很多实用的功能,如果你正需要这样一个系统,那么Wizard将是一个不错的选择!
前言 学校引进该系统,本人体验时间仅3小时!!! 系统版本为:银河麒麟V10 SP1 2203版本 操作系统 基于Ubuntu(实际上是Debian)制作[售后工作人员说的(自称软硬件工程师???)] 虽然是Linux但占用不比Winodws要低,相对更高一些(对比该电脑原系统Winodws7旗舰官方版本) 性能占用 由于学校电脑硬盘有大问题(IDE启动读50写20MB | AHCI启动较好读70写30MB 激活价格 操作系统激活需要600RMB单购(不知道批量的价钱如何)暂时伪激活方法 (工作人员回答:)激活或者不激活没啥区别就是开机多个提示弹窗已经权限开放问题 实际未测试所以不知道(懒) 软件商店 软件商店中软件均为正版付费
现在linux系统已经发展的比较完善,内核及其图形界面也很稳定,当要说真的可以当做个人操作系统来使用的,我认为是deepin系统。 deepin是一款国产系统,基于debian开发的linux操作系统,它拥有linux系统的所有优势,而且完美结合deepin-wine可以使用windows相关应用,个人上个网聊个微信,编辑个文件绝对不在话下 随着系统的不断完善和发展,我相信deepin以后肯定可以支持更多的应用。 系统界面 界面简洁大方,特别美观,其美观与易用程度绝对不亚于苹果系统。界面下方的操作栏可以自定义,随心控制。 安装 deepin系统相比其他linux系统的安装简单了不少,只需去deepin官网下载系统镜像和启动U盘制作软件即可,保证小白也可以很容易操作。 而且deepin还能识别windows系统,安装过程中不会损坏windows系统及其相关文件。有兴趣换个系统的小伙伴可以试试deepin系统,保证你会爱上它。
rtmp的协议的数据包,总的来讲分为两大部分,一部分是Rtmp Header,另一部分为Rtmp Body,这一篇我们来主要讲解一下Rtmp Header的组织形式。 RTMP header的长度不固定,可能的长度为12字节,8字节,4字节,1字节。具体长度为多少个字节,由RTMP header数据包的第一个字节的高2位决定。 ? 抓包看下,RTMP HEADER的长度。 图中,RTMP Header的第一个字节为0x03,高两位的值为00,所以,整个RTMP Header的长度就是4个字节了。 知道了RTMP header的第一个字节的作用以后,接下来我们看下几种不同长度的RTMP Header。 12字节的RTMP Header ?
上一篇讲了RTMP数据包中关于Header的数据组织格式,不过一个完整的RTMP数据包除了Header之外,紧跟着的是RTMP Body,这一篇就继续来说一下RTMP Body的数据组织结构了。 说到RTMP Body的数据包组织格式,就不得不提到AMF。 那么AMF和RTMP Body又有什么关系呢,不才,RTMP数据包的序列化就是按照AMF的格式进行的。 说完AMF,再回到我们的RTMP Body,RTMP Body就是按照AMF0规范,将数据包进行组织,然后再通过网络发送的。 好了,接下来就结合wireshark实际抓到的RTMP数据包,一起熟悉AMF0,同时也熟悉RTMP Body的数据包组织方式。 先看一下_result的数据包。 ?
大牛直播SDK(Github)多路RTMP/RTSP转RTMP转发软件,系原有转发SDK基础上,官方推出的Windows平台定制版。 运维方面,官方定制版转发系统支持7*24小时不间断运行,自带守护进程,转发程序被误关等各种操作后,会自动启动运行,此外,还支持开机自动启动转发或录像。 SmartStreamRelayToolDaemon,转发程序方可正常关闭): [image] 添加转发项配置信息 [image] 配置说明: 添加配置项:点击页面“添加”按钮: ² 序号:无需关注,系统自动生成 ; ² 名称:该路转发配置项的描述信息; ² 拉流地址(必须填):需要转发的RTSP或RTMP地址; ² 推流RTMP地址:需要转推的RTMP地址; ² 推流播放地址:需要预览的播放地址; ² 音视频转发选项 [image] 系统配置: ² 支持程序启动后自动开启转发; ² 支持程序启动后自动开启录像(考虑到Windows平台磁盘读写性能,Windows平台不做多路录像承诺); ² 开机后自动启动(可配置开机自动启动配置名
技术背景 无论是Windows平台还是Linux,多路播放诉求非常普遍,比如针对智慧工地、展馆、教育等宏观场景下的摄像头展示,关于RTSP或RTMP直播播放器开发需要注意的点,可参考之前博客,总的来说有以下一些点 代码实现 本文以大牛直播SDK(官方)的Linux平台为例,介绍下RTMP或RTSP流多路播放集成。 总结 多路RTMP或RTSP播放,涉及到性能和多路之间音视频同步、长时间播放稳定性等问题,Linux平台可参考的资料比较少,可选的方案比较少,感兴趣的可酌情参考。
前言 最近在学习rtmp协议,在看官方文档的时候总是懵懵懂懂,硬生生看了两天,现在基本上了解rtmp协议了,想用自己觉得比较清晰的方式来讲解rtmp协议,希望能够对向我一样的初学者有所帮助。 本文将通过以下四部分讲解rtmp协议。 1、消息 2、块 3、rtmp的消息类型 4、实例分析rtmp传输过程 一、消息 消息是rtmp的基本数据单元,服务端和客户端通过在网络上发送RTMP消息进行通讯。 消息格式 RTMP消息头和载荷两部分。 上面已经详解讲解了rtmp的数据格式了,下面来讲解具体的rtmp协议内容。 载荷 块的载荷就是消息的载荷内容。 总结一下:消息是rtmp的基本数据单元,块是用于将消息重新封装在网络上传输。
推流只能用rtmp协议,拉流可以使用rtmp协议和hls协议。rtmp协议时adobe公司开发的开放协议,hls是苹果公司推出的直播协议。 我们使用nginx的rtmp插件来搭建推流服务器 基于nginx的rtmp直播服务器 安装加载nginx-rtmp-module模块的nginx 首先下载nginx 到 https://github.com /arut/nginx-rtmp-module 下载rtmp模块(git clone https://github.com/arut/nginx-rtmp-module.git) 分别解压nginx和rtmp /nginx-rtmp-module.1.1.4 --with-http_ssl_module make && make install 安装 配置rtmp模块 rtmp { server 移动端使用rtmp协议拉流 因为苹果不支持flash所以使用rtmp拉流肯定是不行的,但是可能客户给我们的就只有rtmp协议,那么我们就可以用到上面的另外一个地址,把rtmp协议转成hls协议。
RTMP消息块流和RTMP一起适用于多样性音视频应用程序,从一对一和一对 多向视频点播服务器直接广播到交互式会议应用程序。 RTMP协议是应用层协议,是要靠底层可靠的传输层协议(通常是TCP)来保证信息传输的可靠性的。 在基于传输层协议的链接建立完成后,RTMP协议也要客户端和服务器通过“握手”来建立基于传输层链接之上的RTMP Connection链接。 2. 3. rtmp协议握手过程 要建立一个有效的rtmp连接,首先经过”握手”阶段,规则如下: 客户端被指定依次向服务器发送C0,C1,C2三个chunk,服务器向客户端发送S0,S1,S2三个chunk ,大小1字节 版本:8比特,C0:客户端需求的rtmp版本,S0:服务器选择的rtmp版本,如图: 4.2 握手第二阶段: 客户端发送C1包,C1包大小1536字节,格式如下图: time:包含了一个时间戳
RTMP 基础 RTMP 概念 与 HTTP(超文本传输协议)同样是一个基于 TCP 的 Real Time Messaging Protocol(实时消息传输协议)。 变量 file(GLOB rtmp_source *.c) # 编译静态库 add_library(rtmp STATIC ${rtmp_source} ) 在 中导入这个 CMakeLists.txt #XXX需要链接rtmp库 target_link_libraries(XXX rtmp ...) RTMP 视频数据 RTMP 视频流格式与 FLV 很相似,通过查看 FLV 的格式文档,就能够知道 RTMP 视频数据应该怎么拼接。 在 H.264/AVC 视频编码标准中,整个系统框架被分为了两个层面:视频编码层面 (VCL)和网络抽象层面(NAL)。