自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 webrtc代码走读三(视频数据处理流程汇总)

一、概述二、视频采集到发包 创建RTP发送视频流 创建编码器 VideoStreamEncoder::EncodeTask::RunVideoStreamEncoder::EncodeVideoFrameVideoStreamEncoder::ReconfigureEncoderVideoSender::RegisterSendCodecVCMCode...

2019-06-21 16:54:04 5698

原创 mark:x264编译选项

一、编译命令行详解命令行参数列表 命令行参数理解参数名 参数说明 备注 extra-asflags 汇编编译选项参数 extra-cflags gcc编译选项参数 《微软编译选项》 extra-ldflags 链接外部库使用 extra-rcflags ...

2019-06-18 17:11:41 2529 1

原创 代码级性能优化方法小结

一、概述另外针对Ffmpeg多进程转码时,可以根据编码进程、解码进程、调度进程进行分类,绑核处理。减少核间数据传输消耗。webrtc需要根据收发包数据量,选择时间片轮转或者中断收发包。Linux有NAPI机制,会自适应根据数据量,调整收包模式。二、搜集资料译器内部函数的配置:《Generate Intrinsic Functions》预读指令读内存参考:《memory ...

2019-06-14 15:41:19 1478

原创 windows平台视频渲染技术小结

一、概述在Windows平台下的视频播放技术主要有以下三种:GDI,Direct3D和OpenGL;也经常看到DirectDraw这个技术,根据维基介绍,DirectDraw是微软弃用的一个API,曾经是DirectX API的一部分。 二、GDI图形设备接口(英语:Graphics Device Interface,缩写GDI)是微软视窗系统提供的应用程序接口,也...

2019-06-11 13:42:30 4161

原创 CPU state小结

一、概述调整BIOS时,看到眼花缭乱的各种CPU X state就晕过去了,还好搜到了这个。来源:《CPU的电源状态分类》二、参数介绍英文简称 英文全称 中文简称 功能描述 G-States Global States 全局状态 ACPI规范定义了一台兼容ACPI的计算机系统可以有七个状态(所谓的全局状态)。 S-States ...

2019-06-04 16:20:08 4607

原创 CPU温度小结

一、概述整理最近关于CPU温度过热一些学习。目前总结影响CPU温度有如下几方面:CPU自身产生的功耗。 热设计中CPU的散热能力。CPU自身产生的功耗是给CPU芯片加温、热设计中CPU散热是给CPU降温,只有这两个能力相匹配或者散热能力大于功耗,CPU才不会过热。二、CPU功耗CPU产生的功耗主要来源主要有两大块:硬件设计的动态耗能、软件设计的指令耗能。 动...

2019-06-04 09:50:12 3412

使用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关注的人

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