前言
做linux开发时很多人会选择在windows系统上安装linux虚拟机,然后在windows系统编辑代码,在linux系统编译代码。这就需要linux系统和windows系统共享文件了。本文先介绍把linux系统的文件共享给windows系统,反过来把windows系统的文件共享给linux系统的方法请参考我的另一篇文章《linux挂载windows共享目录》。
做linux开发时很多人会选择在windows系统上安装linux虚拟机,然后在windows系统编辑代码,在linux系统编译代码。这就需要linux系统和windows系统共享文件了。本文先介绍把windows系统的文件共享给linux系统,反过来把linux系统的文件共享给windows系统的方法请参考我的另一篇文章《windows访问linux samba目录》。
(以下是百度百科的解释)
网段(network segment)一般指一个计算机网络中使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯的那一部分。例如,从192.168.0.1到192.168.255.255这之间就是一个网段。
在中文的网络知识入门中,这个词更经常地被误用来指代“子网”,也就是网络层中由网关或路由器等设备隔开的不同部分。例如IP为 192.168.0.1 ~ 192.168.0.254 的设备就位于掩码 255.255.255.0 的同一子网中,这句话经常被说成“位于192.168.0.x ‘网段’中”,如果不涉及网络层之下的结构,这么说不会引起混淆,但是在深入探讨互联网底层结构的时候,应该避免使用“网段”来指代“子网”。
长久以来,安防领域的网络摄像机(IPC)的WEB视频直播都依赖于浏览器插件,IE浏览器使用ActiveX插件,Chrome和Firefox浏览器使用NPAPI插件。
之所以开发浏览器插件来收流、解码、播放IPC的实时视频,是因为早期HTML的发展过于缓慢,在纯web代码无法实现的情况下开发者只能使用插件来辅助。
此方法的弊端显而易见,比如用户使用不方便,打开web之后需要点击下载并安装插件才可以播放IPC的实时视频,而且很多用户会担心第三方插件的安全性。
原本出于安全考虑,浏览器把web代码的运行限制于沙箱之中,并限制web代码很多本地接口的权限,营造出比较安全的网络环境。
浏览器插件的设计违背了这个初衷,因为插件可以获得和桌面应用程序几乎一样的权限,安装完插件之后打开web时,web代码可以调用插件肆意的读写电脑本地数据。
这几年微软、谷歌、苹果、Mozilla等各大浏览器厂商也意识到了浏览器插件的安全问题,开始在新发布的浏览器中限制第三方插件的使用。
现在Edge、Chrome、Safari、Firefox等浏览器已经不支持NPAPI插件,只剩下IE浏览器还在支持ActiveX插件,导致IPC的web页面只能在IE内核的浏览器播放实时视频。
所以实现web无插件实时播放IPC的H264/H265视频十分重要。
ffmpeg的开源代码自行在ffmpeg的官方下载(http://ffmpeg.org/)
编译之前需要先安装gcc编译器,本文使用的是arm-linux的交叉编译器,这里简称arm-linux-gcc
ONVIF Profiles是什么?
ONVIF提供很多的profile概要文件,用于规范ONVIF设备端与ONVIF客户端的通信标准。目前已发布的profile文件主要包括profile S、G、C、Q、A,不同的profile文件应用于不同的领域,不同profile文件可以组合使用。Profile文件的一致性是确保符合ONVIF产品的兼容性的唯一方法,因此,只有符合profile文件的注册产品才被认为是兼容ONVIF的。
Profile S、G、C、Q、A分别应用于什么领域呢?
Profile S应用于网络视频系统,Profile G应用于边缘存储与检索,Profile C应用于网络电子门禁系统,Profile Q应用于快速安装,Profile A应用于更广泛的访问控制配置。