Day: 2022年4月23日

Ubuntu离线安装软件包

一.应用场景
a.当我们需要在多台电脑安装同一个软件,并且这个软件很大,下载需要很长时间时
b.需要安装软件的ubuntu不能上网
二.离线安装包的制作
2.1.通过如下指令下载
XXXX软件所需要的deb包
sudo apt-get -d install XXXXX
执行完上述指令后,XXXX软件的安装包就下载到了/var/cache/apt/archives目录下
2.2.生成依赖关系

1.根目录下新建一个文件夹

$ sudo mkdir offlinePackage

2.将下载的deb包拷贝到上述新建的文件夹下

$ sudo cp -r /var/cache/apt/archives  /offlinePackage

3.修改文件夹的权限,可读可写可执行

$ sudo chmod 777 -R /offlinPackage/

4.建立deb包的依赖关系

$ sudo dpkg-scanpackages /offlinePackage/ /dev/null |gzip

    

网络摄像头RTSP视频流WEB端实时播放实现方案

IPC视频流怎么实时在WEB浏览器播放,视频流格式是RTSP。
下面我整理了自己实现的方案以及网上看到的一些方案

一、FFmpeg + nginx 将转 hls 通过 video.js 在支持h5浏览器播放(我实现的)

参见:Nginx+FFmpeg实现rtsp流转hls流,在WEB通过H5 video实现视频播放

不足:hls延迟较rtmp、http-flv大

二、FFmpeg + nginx-rtmp-module + h5 video,rtsp转rtmp播放

https://blog.csdn.net/gui66497/article/details/78590190
https://blog.csdn.net/LLittleF/article/details/81111713

注:通过video.js播放rtmp流。需要将代码放到服务器,本地windows电脑无法播放

不足:需要浏览器开启flash

三、FFmpeg + nginx-http-flv-module + flv.js,rtsp转rtmp,直接播放flv格式

基于nginx-rtmp-module,通过配置将rtmp转为flv,最后通过flv.js播放。
https://github.com/winshining/nginx-http-flv-module/blob/master/README.CN.md
https://segmentfault.com/a/1190000016043297
https://blog.csdn.net/qq_22633333/article/details/96288603#comments

这种方式是最理想的,我目前找到的方案。当然单指不想花钱买收费方案的。

四、WebRTC

https://github.com/lulop-k/kurento-rtsp2webrtc
https://www.jianshu.com/p/1ddfa72de165

            

使用 getUserMedia 和功能策略在跨域 iframe 中访问相机和麦克风

如果您尝试在最新版本的 Chrome 上getUserMedia()使用跨源 iframe访问相机和麦克风,默认情况下它将失败。

我们已经多次遇到过这种情况,因为Pipe 音频和视频录制平台的用户试图将 Pipe 嵌入到使用 iframe 嵌入外部 HTML 和 JS 代码的Wix网站或Google 站点中。

原因源于 2017 年和 2018 年对 Chrome 进行的一系列安全和隐私更改:

  1. Chrome 60 引入了功能策略,为开发人员提供了一种方法来控制其网站内敏感功能的使用
  2. 默认情况下, Chrome 64 会阻止跨源 iframe

网站升级为https后引用http报错:This request has been blocked; the content must be served over HTTPS

HTTPS 是 HTTP over Secure Socket Layer,以安全为目标的 HTTP 通道,所以在 HTTPS 承载的页面上不允许出现 http 请求,一旦出现就是提示或报错:

Mixed Content: The page at ‘https://www.taobao.com/‘ was loaded over HTTPS, but requested an insecure image ‘http://g.alicdn.com/s.gif’. This content should also be served over HTTPS.

HTTPS改造之后,我们可以在很多页面中看到如下警报:

很多运营对 https

supervisor 添加新配置不生效的问题,supervisor 提示:xxx: ERROR (no such process)

增加了新的配置文件xxx.conf后,使用supervisorctl start xxx 提示 “xxx: ERROR (no such process)”。

使用supervisorctl start all也不行。

解决:

 

在新增配置文件后,要使用

supervisorctl reread

supervisorctl reload (不运行这一步会导致启动不了)

supervisorctl update命令,使用此命令后会自动加载新的配置,并且启动该进程。