puppeteer入门指南 Puppeteer 是一个 Node 库,它提供了一个高级 API 来通过。协议控制 Chromium 或 Chrome。2、安装puppeteer-core。1、安装nodejs最新版。3、编写main.js。
Opus前向纠错 官网:https://opus-codec.org/Github:https://github.com/xiph/opus一、简介Opus 可以处理广泛的音频应用,包括 IP 语音、视频会议、游戏内聊天,甚至远程现场音乐表演。它可以从低比特率的窄带语音扩展到非常高质量的立体声音乐。支持的功能有:比特率从 6 kb/s 到 510 kb/s 采样率从 8 kHz(窄带)到 48 kHz(全带) 帧大小从 2.5 ms 到 60 ms 支持恒定比特率 (CBR) 和可变比特率 (VBR)
WebRTC RTCP XR RTCP扩展报告(XR)用于补充RTCP 的发送方报告 (SR) 和接收方报告 (RR) 数据包的报告块中的六个统计信息。Value Name Long Name Description Reference 1 RRT Receiver Reference Time 接收方参考时间 rfc3611#section-4.4 2 DLSR Delay since the last Sender Report 自上次发送方报告以来的延迟
WebRTC RTCP PS Feedback 作为WebRTC RTCP消息中的一种,PS Feedback包含的内容同样也很多。在RTCP Header中,这类消息的负载类型Payload Type=206,反馈消息类型FMT如下:FMT Name Long Name Description Reference 1 PLI Picture Loss Indication 图片丢失指示 RFC4585 2 SLI Slice Loss Indication 切片丢失指示
WebRTC RTCP RTP Feedback 作为WebRTC RTCP消息中的一种,RTP Feedback包含的内容很多,所以这里单独介绍。在RTCP Header中,这类消息的负载类型Payload Type=205,反馈消息类型FMT如下:FMT Name Long Name Description Reference 1 NACK Generic negative acknowledgement 丢包重传请求 RFC4585 3 TMMBR Temporary Maxi
WebRTC RTCP RTCP作为RTP控制协议,对于弱网下音视频质量和会话控制具有重要的作用。RTCP header 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
WebRTC RTP Header Extension 一、RTP Header扩充在RFC3550中, 一个通用的RTP头部如下: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |V=2|P|
WebRTC RTP 一、简介实时传输协议(RTP)为数据提供了具有实时特征的端对端传送服务,如在组播或单播网络服务下的交互式视频音频或模拟数据。应用程序通常在 UDP 上运行 RTP 以便使用其多路结点和校验服务;这两种协议都提供了传输层协议的功能。但是 RTP 可以与其它适合的底层网络或传输协议一起使用。如果底层网络提供组播方式,那么 RTP 可以使用该组播表传输数据到多个目的地。RTP 本身并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于底层服务去实现这一过程。 RTP 并不保证传送或防止无序传送,也不
Linux平台CEF离屏渲染 一、简介Chromium 嵌入式框架 (CEF)。是一个简单的框架,用于将基于 Chromium 的浏览器嵌入到其他应用程序中。CEF 支持广泛的编程语言和操作系统,并且可以轻松集成到新的和现有的应用程序中。它的设计从一开始就兼顾了性能和易用性。基本框架包括通过本机库公开的 C 和 C++ 编程接口,这些库将主机应用程序与 Chromium 和 Blink 实现细节隔离开来。它提供了浏览器和主机应用程序之间的紧密集成,包括对自定义插件、协议、JavaScript 对象和 JavaScript 扩展的
Linux平台Mediasoup客户端开发指南 1、下载depot_toolsgit clone https://chromium.googlesource.com/chromium/tools/depot_tools.git2、设置环境变量export PATH=$PATH:/home/user/depot_tools3、下载webrtcmkdir webrtccd webrtcfetch --nohooks webrtcgclient synccd srcgit checkout -b m94 refs/rem..
搭建Ubuntu-Server20.04图形界面 一、Ubuntu服务器搭建图形界面1、更新软件源apt-get update2、安装桌面环境所需的软件包,包括系统面板、窗口管理器、文件浏览器、终端等桌面应用程序apt install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal ubuntu-desktop3、安装VNCapt-get install tightvncserver4、启动VNCvncserver5、第一次启动
ubuntu安装最新版本cmake 一、卸载系统老版本cmakesudo apt autoremove cmake二、下载最新版本cmakecmake官网:Download | CMake三、安装sudo ./cmake-3.22.1-linux-x86_64.sh --prefix=/usr/bin/ --skip-license
FFmpeg内存模型 内存模型简介从av_read_frame读取到一个AVPacket后怎么放入解码器队列? 从avcodec_recevice_frame读取到一个AVFrame后又怎么放入解压后的帧队列? 从现有的Packet拷贝一个新Packet的时候,有两种情况: ①两个Packet的buf引用的是同一数据缓存空间,这时候要注意数据缓存空间的释放问题。 ②两个Packet的buf引用不同的数据缓存空间,每个Packet都有数据缓存空间的copy。 内存模型更为精确的模型.
Linux平台Libyuv使用指南 官网:https://chromium.googlesource.com/libyuv/libyuv一、简介libyuv是一个google的开源项目,支持包括 YUV 缩放和转换功能。二、下载及编译git clone https://chromium.googlesource.com/libyuv/libyuvcd libyuvcmake .makemake install...
FFmpeg常用命令大全 1、mp4文件转flv文件ffmpeg -i tiktok.mp4 -pix_fmt yuv420p -c:v libx264 -r 30 -profile:v baseline -b:v 2000k -acodec aac -ab 128k -ac 2 -ar 48000 -f flv tiktok.flv2、flv文件转rtp流ffmpeg -re -stream_loop -1 -i test.flv -an -vcodec copy -payload_type 107 -f rtp
基于usrsctp接入webrtc服务器中的DataChannel功能 1.DataChannel简介在webrtc中通过DataChannel,可以实现点对点的消息通信,这些消息和音视频数据是通过同一udp socket被发送给对方的,因此也是具备NAT穿透功能的。DataChannel可以用来进行聊天消息的发送、点对点传送文件等,作为音视频通信外的另一种通信方式,DataChannel的意义还是很重要的。2.方案概述待续...参考:1、SCTP通用报文格式2、https://github.com/sctplab/usrsctp/blob/.