自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 资源 (7)
  • 收藏
  • 关注

原创 webrtc scoped_refptr、C++智能指针(防忘记录)

C++智能指针有三种:shared_ptr、unique_ptr、weak_ptr。具体说明参见:防忘链接(https://www.cnblogs.com/wxquare/p/4759020.html)webrtc的scoped_refptr类似于shared_ptr

2018-12-26 10:40:02 1598

原创 查看某个端口被线程占用方法

Windows上开启coturn服务时,偶尔会出现端口被占用异常。下面介绍如何根据端口号,查询被占用线程的方法。1、打开cmd窗口开始->运行->cmd。2、输入netstat -ano命令列出所有被占用端口信息。(选做,仅供参考)3、输入netstat -aon|findstr "7890"命令查询指定7890端口被占用情况。红色10072就是占用...

2018-12-20 15:37:18 7265

原创 物理cpu数、cpu核数、逻辑cpu数笔记

一、物理CPU数机器的主板上实际插入插槽的CPU个数。二、CPU核数单块CPU上面集成一个或者多个处理器芯片(称为Core,核心)。CPU最初发展的时候是一个CPU一个处理核心,CPU的性能主要靠提高核心工作频率来提高,但是仅仅提高单核芯片的速度会产生过多热量且无法带来相应的性能改善。为了提升处理器的能效,于是发展出来了双核心CPU(Dual-core processor)和多...

2018-12-14 14:38:21 4456

使用std::optional替换absl::optional需要包含的头文件

使用std::optional替换absl::optional需要包含的头文件。替换对abseil-cpp开源软件的依赖。

2023-04-04

H5网页标准SDP协商日志

WebRTC Internals H5网页标准SDP协商日志信息

2022-09-07

x265.exe demo

x265.exe --input black.yuv --input-res 1280x720 xxx.265 --log-level debug 可以查看numa架构打印

2021-08-16

webrtc_demo_withlog.tar

webrtc客户端和信令服务器demo,client客户端自动生成日志

2021-07-07

graphstudio.rar

查看和配置windows下设备管理器属性

2021-06-03

vmafossexec.rar

命令行:vmafossexec yuv420p 640 480 ref.yuv test.yuv vmaf_v0.6.1.pkl --psnr --ssim --log test.txt

2019-05-17

psnr_ssim_analyzer.exe

一、命令行 psnr_ssim_analyzer.exe --height=480 --width=640 --reference_file=ref.yuv --test_file=test.yuv --results_file=test.csv 二、代码来源及修订记录: 1、该工具是根据webrtc的psnr_ssim_analyzer.cc源码修改,webrtc源码有bug,没有判断文件是否结束。导致计算结果异常。 2、优化写结果格式,可以在excel中打开,进行统计分析。 三、修改webrtc代码点: bool ExtractFrameFromYuvFile(const char* i420_file_name, int width, int height, int frame_number, uint8_t* result_frame) { int frame_size = GetI420FrameSize(width, height); int64_t offset = frame_number * frame_size; // Calculate offset for the frame. bool errors = false; FILE* input_file = fopen(i420_file_name, "rb"); if (input_file == NULL) { fprintf(stderr, "Couldn't open input file for reading: %s\n", i420_file_name); return false; } fseek (input_file, 0, SEEK_END); int64_t file_size = ftell(input_file); if (offset > file_size) { fprintf(stderr, "the end %s frame_number:%d frame_size:%d file_size:%lld offset:%lld\n", i420_file_name, frame_number, frame_size, file_size, offset); return false; } // Change stream pointer to new offset. fseek(input_file, offset, SEEK_SET); size_t bytes_read = fread(result_frame, 1, frame_size, input_file); if (bytes_read != static_cast(frame_size) && ferror(input_file)) { fprintf(stdout, "Error while reading frame no %d from file %s\n", frame_number, i420_file_name); errors = true; } fclose(input_file); return !errors; }

2019-05-16

写日志文件代码

实现日志写文件功能,并且优化日志打印内容,增加时间、文件名、行号信息。

2018-12-28

webrtc vp8_rtp抓包样例

在webrtc系统上捕获的VP8无FEC、SRTP的RTP报文,用于VP8协议分析。

2018-10-29

空空如也

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

TA关注的人

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