自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

桃花岛主的博客

编程笔记

  • 博客(114)
  • 收藏
  • 关注

原创 彻底修复 EPEL 仓库连接问题,强制替换为国内镜像

无法连接到 EPEL 仓库,导致依赖包安装失败。

2025-05-26 16:45:06 105

原创 直播推流拉流Token验证流程(直播服务器:SRS,验证服务器:EGGS(nodejs))

用Egg.js框架来写,SRS的HTTP Callback Token认证,SRS的HTTP Callback机制:SRS在推流和拉流的时候会向配置的HTTP服务器发送请求,根据返回的状态码决定是否允许操作。比如,推流时,SRS会发送一个POST请求到指定的回调URL,如果返回HTTP 200,就允许,否则拒绝。所以,用户需要编写一个能够处理这两个回调的接口,并进行Token验证。

2025-05-03 08:34:45 630

原创 源码安装SRS4

Ubuntu20安装好SRS后,(源码安装)

2025-05-02 21:04:01 298

原创 WebRTC媒体流信息以及‌兼容性代码

支持版本:11+(iOS 11+ 和 macOS High Sierra+),旧版需前缀 webkitGetUserMedia。‌例外‌:localhost 和 file:// 协议下允许 HTTP(Safari 对 file:// 限制更严格)。‌所有现代浏览器‌(Chrome、Firefox、Safari、Edge)要求‌非本地环境必须使用 HTTPS‌。支持版本:53+(标准 API),旧版需前缀 webkitGetUserMedia。Chromium 内核版(79+):同 Chrome,无前缀。

2025-04-30 06:56:02 378

原创 如何使用WebRTC

WebRTC比较容易使用,只需要很少的步骤,有些消息在浏览器和服务器之间流动,有些则直接在两个浏览器之间流动,

2025-04-26 08:09:16 261

原创 WebRTC基于网页的视频会议,手写WebRTC流程(html)

WebRTC实现了基于网页的语音对话或视频通话技术,目的是无插件实现Web端的实时通信的能力,WebRTC提供了视频会议的核心技术,包括音视频的采集、编码、网络传输、展示功能,并且还支持跨平台,包括linux、windows、mac、android,以上为一个服务器,用来放置应用程序,以下为两个服务器,一个web服务器,一个媒体服务器,用来美颜’特效之类,进行混流。

2025-04-26 07:30:41 462

原创 信令与流程分析

WebRTC项目是开源的,我们可以借助WebRTC,构建自己的音视频聊缇娜功能。WebRTC是h5支持的重要特征之一,有了它,不再需要借助音视频相关的客户端,直接通过浏览器的Web页面就可以实现音视频聊天功能。WebRTC并不提供Stun服务器和Signal服务器,服务器需要自己实现,

2025-04-25 22:05:27 256

原创 STUN协议 与 TURN协议

STUN(Simple Traversal of User Datagram Protocol through Network Address Translators (NATs),NAT的UDP简单穿越)是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。是STUN协议的扩展,当采用UDP打洞技术不能实现的时候,就必须要一台中间服务器扮演数据包转发的角色。STUN是一个客户机-服务器协议。

2025-04-25 20:22:19 406

原创 NAT穿透

NAT原理:内网主机向外网主机发送网络包,在经过nat时,IP和port会被替换为该主机分配的外网IP/port,也就是该内挖个主机的NAT上的出口 IP/PORT,外网主机收到该网络包后,会视该内网络包是从NAT发送的,外网主机只能通过该NAT为该内网主机分配的外网IP/PORT,向他发送网络包。这三个范围分别处于A,B,C类的地址段,不向特定的用户分配,被IANA作为私有地址保留,这些地址可以在任何组织或企业内部使用,和其他的internet地址的区别是:仅能在内部使用,不能作为全球路由地址。

2025-04-25 13:14:14 443

原创 Socket的概念,连接过程有三个步骤

Socket的建立连接至少需要一对套子节来完成,一个运行于客户端,ClientSocket,一个运行于服务端,ServerSocket。TCP与UDP的区别,TCP像打电话,对方都在接听,UDP像是发短信,直观发,对方什么时候接到、看到,是另外一回事。Socket,套子节,是通信的基石,是来自tcp/ip协议的网络通信操作的基本单元,连接的时候是三次握手,关闭的时候是四次挥手。

2025-04-24 06:43:36 82

原创 WebSocket是h5定义的,双向通信,节省资源,更好的及时通信

‌Sec-WebSocket-Accept‌:服务器将客户端的 Sec-WebSocket-Key 与固定 GUID 258EAFA5-E914-47DA-95CA-C5AB0DC85B11 拼接后,进行 SHA-1 哈希并 Base64 编码,返回此值供客户端验证。安全的websocket连接机制和https类似,首先,浏览器用wss://创建websocket连接,会先通过https创建安全连接,然后,该https升级为websocket连接,底层通信仍然走的是安全的SSL/TLS。

2025-04-23 21:20:56 477

原创 WINDOWS下使用命令行读取本地摄像头FFMPEG+DirectShow,ffplay直接播放摄像头数据

二、从摄像头读取数据并编码为H.264,最后保存为m001.mkv文件。三、ffplay直接播放摄像头数据。

2025-04-21 08:21:39 407

原创 VLC搭建本机的rtsp直播推流和拉流

输入:rtsp://127.0.0.1:8554/rtsp001,就可以观看了,延时10秒。媒体---流---捕获设备,选择摄像头,点击串流。选择Video -H 264 +mp3(TS)拉流,观看端:打开网络串流,选择rtsp,点击添加。点击流,就开始推流了。

2025-04-20 21:48:01 767

原创 Wireshark 抓本机的包

vlc做rtcp的直播推流端和拉流端,没有经过本机的网卡,所以wireshark抓不到,用完后要删除的,否则以后本机的包都要再本地网卡再循环一圈。管理员身份运行cmd。

2025-04-20 16:19:30 86

原创 FFmpeg:M3U8的AES加密

hls_playlist_type vod #vod是点播,表示PlayList不会变。hls_segment_filename "file%d.ts" #每个小段的文件名。-hls_time 10 #将test.mp4分割成每个小段多少秒。playlist.m3u8 #生成的m3u8文件。这样生成的hls视频文件,如果不开启服务器上的。2、目的是生成一个enc.key文件。enc.key文件一定要放在服务器上。生成后记录下来这个字符串。4、执行ffmpeg命令。

2025-04-20 16:12:53 327

原创 对于在线教育或知识付费类网站视频处理方案

ts。

2025-04-20 14:02:34 1230

原创 FFmpeg+Nginx+VLC打造M3U8直播

直播服务器端:收集主播端的视频推流,将其放大后推送给所有观众端,这个是核心功能,还有运营级别的诉求:比如鉴权认证,视频连线和实时转码,自动鉴黄,多屏合一,以及云端录制储存功能,另外对于一恶搞主播端的推流视频,中间需要经过一些环节才能达到播放端,因此对中间的质量进行监控,以及根据这些监控进行智能调度,也是非常重要的诉求,注意,这个最后的"test",可以改为test1,test2,......,可以开无数的直播流,1、录制---》编码---》网络传输---》解码---》播放。

2025-04-19 10:18:49 1230

原创 使用Linux之crontab -e创建定时任务,每天执行一次php脚本,清除7天没有审核通过的数据库记录

crontab -e 编辑定时任务 crontab -l 查看定时任务,select-editor 选择编辑器。

2024-12-16 08:05:43 291

原创 FFmpeg+Nginx+VLC打造M3U8M3U8点播

可以把这个部署在服务器上apche,ngnix等网络服务器上即可运行java,php,node上都可以运行这个FFmpeg命令,搭建点播服务器,web服务可以任意选择。-threads 1 开一个线程,不指认线程的话,开启所有线程,导致cpu飙升,如果指定为1,那么四核的cpu,只有一个进行工作,占25%-hls_lis_size 0 表示列表的长度,0表示所有,如果指定为3,切3个片,就不再继续切了。-g 60 60帧一个关键帧,如果改为30,则一秒一个关键帧,但浪费带宽和服务器,

2024-12-04 07:23:30 667

原创 M3U8直播,视频切片 AES加密,多码流自适应

在服务器上,流媒体文件被切割成一个个小分片,有相同的长度,没一个小分片是一个ts文件,同时生成一个索引文件m3u8,索引里放了ts文件的URL,最后一句是#EXT-X-ENDLIST,表示结束,但是在直播的时候,就没有这句了,并且里面的切片内容是时时更新的。客户端请求,有两种方式,一种是点播vod(Video on demand),一种是直播live。直播的原理就是动态更新这个索引文件,用户,无论什么时候打开这个文件,都是最新的。索引文件是可以嵌套的,一般嵌套一级索引,二级索引,比如分成高清,标清,超清。

2024-11-03 19:37:47 1669

原创 adb无线链接,安装apk命令

进入到apk文件所在目录:

2024-10-24 23:18:38 337

原创 Nginx搭建直播服务器,并用rtmp,http-flv,hls三种模式拉流观看直播的流程

是指推流的目录在live,hls on是指开启切片,hls_path: html/hls是指切片直播的目录,手动创建,hls_fragment:3,每3秒创建一个切片。我们这个nginx推流服务器的http地址是:http://localhost:8080。环境widows,并且已经集成了 :nginx-http-flv-module模块。注意是两个nginx,一个是8080,负责直播推流,80的负责播放。1、vlc播放:(有以下三种播放方式:)我们再开一个nginx,端口为:80,这样就播放出来了视频。

2024-09-17 09:14:43 1715

原创 在服务器上,对直播进行录制的方法

把以上代码保存成文件,然后运行。

2024-09-16 18:26:30 289

原创 Wireshark 抓本机包的配置方法

2、route add 本机ip mask 255.255.255.255 网关ip。wireshark 使用过滤器:dst host 192.168.1.35。1、以管理员身份,运行CMD。3、使用完成后,删除路由。

2024-09-16 09:15:39 206

原创 ffmpeg中路径的写法与在drawtext中路径写法的区别

【代码】ffmpeg中路径的写法与在drawtext中路径写法的区别。

2024-09-11 09:05:50 288 1

原创 手机端自定义导航栏、导航栏占位的写法

uniapp开发,自定义导航栏,状态栏占位的写法

2024-09-10 19:16:38 141

原创 浏览器播放本地摄像头和麦克风的方发

【代码】浏览器播放本地摄像头和麦克风的方发。

2024-08-11 06:19:11 152

原创 uni-app当组件返回单个根节点时,非 prop attribute 将自动添加到根节点的

attribute 将自动添加到根节点的。当组件返回单个根节点时,非。

2024-08-06 12:06:25 193 1

原创 uni-app 无线真机调试的方法

以后,只需要使用:adb connect 192.168.1.188:37319命令进行连接即可。adb pair 192.168.1.188:43921是与手机无线配对,输入后,再输入配对码。

2024-04-06 12:55:27 1904 1

原创 uni-app vue3导入uni-app生命周期的方法

【代码】uni-app vue3导入uni-app生命周期的方法。

2024-04-05 18:53:33 497

原创 下载别人的虚拟机,上不了网的处理办法(kali,linux,网关)

最近下载了VMware虚拟机文件,直接打开,上不了网,ping 百度,提示域名无法解析。netmask 255.255.255.0 //配置eth0的子网掩码,根据需求配置。address 192.168.1.90 //设置eth0的IP地址,根据需求配置。iface eth0 inet static //配置eth0使用默认的静态地址。gateway 192.168.1.1 //配置当前主机的默认网关,根据需求配置。下载别人的虚拟机,上不了网的处理办法(kali,linux,网关)

2024-02-23 22:57:25 211

原创 JavaScript无限循环,每个一段时间执行某一任务,同步实现

【代码】JavaScript无限循环,每个一段时间执行某一任务,同步实现。

2024-02-14 11:23:19 254

原创 在JavaScript中,通过递归,进行同步延时操作

函数来创建一个定时器,从而实现异步的延迟效果。如果想要进行同步延时操作,则需要结合其他技术或者库来实现。在JavaScript中,可以使用。

2024-02-12 19:13:16 574

原创 原生Javascript同步执行数组任务

如果用for循环执行任务,由于任务都是异步,无法做到执行完第一个任务后再接着执行下一个任务,采取这种形式,就可以实现同步执行这些任务。

2024-02-12 18:53:10 192

原创 直播项目开发

uni-aapp,egg.js,直播服务器自己搭建,Node.js,socket.io实时送礼物,充值,兼容Android,iOS,小程序,充值时用到微信支付,直播分为主播端和用户端,主播端有摄像头切换,画质、美艳、美白等效果直播,暂停直播,退出直播间等。

2024-01-26 17:04:19 154

原创 社区交友项目

后端php,thinkPHP5.0,前端uni-app,

2024-01-26 16:54:05 195

原创 在线教育SSR网站项目

Nuxt3+ Vue3开发的在线教育SSR。

2024-01-26 13:20:42 1418 1

原创 在线教育App、H5、微信小程序项目

大型多端项目,uni-app开发。

2024-01-26 12:46:35 311

原创 九大项目主要页面预览

前后端开发均已完成,以后开发项目,从这些项目中拷贝源码就可以。

2024-01-26 11:46:01 184

原创 VUE中父组件的变量与子组件的props相同,带来的很奇怪的错误

奇怪的坑!变量名称问题

2023-09-26 18:44:38 436

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除