星期二, 4月 25, 2023

纯C嵌入式webrtc开发库metaRTC VS AWS KVS

 

纯C嵌入式webrtc开发库metaRTC VS AWS KVS

https://github.com/metartc/metaRTC
https://gitcode.net/mirrors/metartc/metartc?utm_source=csdn_github_accelerator
  1. /metaRTC
    1. https://gitee.com/metartc/metaRTC#demo-compile
  2. /ZLMediaKit
  3. /janus-gateway
  4. /webrtc


Javascript

星期五, 4月 21, 2023

Profilers

 


https://valgrind.org/downloads/


https://www.twblogs.net/a/5b8c06c22b717718832fe544

  • Acumem SlowSpotter and Acumem ThreadSpotter are tools from Acumem, which diagnose performance problems related to data localitycache utilization and thread interactions. Supports most compiled languages on Linux and Solaris.
  • AQtime is a performance profiler and memory/resource debugging toolset for .NET 1.0, 1.1, 2.0, 3.0, 3.5 applications (including ASP.NET applications), Windows 32- and 64-bit applications including Delphi for Win32 and VBScript and JScript functions.
  • CodeAnalyst as a free GUI based code profiler for AMD hardware x86 based machines from AMD.
  • Caliper is a profiling tool from HP for application running on HP-UX with Intel Itanium Integrity platform (IA-64).
  • DevPartner is Micro Focus's test suite for both .NET and Java that automatically detects and diagnoses software defects and performance problems.
  • DynInst is an api to allow dynamic injection of code into a running program.
  • gprof, the GNU Profiler, is part of GNU Binutils (which are part of the GNU Project). A set of visualization tools,VCG tools, uses the Call Graph Drawing Interface (CGDI) to interface with gprof. Another visualization tool which interfaces with gprof is KProf. gprof works for any language supported by the GNU Compiler Collection (gcc).
  • HPCToolkit, open-source integrated suite for measurement and analysis of program performance.[1]
  • Linux Trace Toolkit, the Linux Trace Toolkit, collects data on processes blocking, context switches, and execution time. This helps identify performance problems over multiple processes or threads.
  • MyARM, is a transaction performance measurement tool for ARM-instrumented applications supporting C/C++, Java, CSharp .NET and Python.[2]
  • OProfile is a sampling profiler for Linux that counts cache misses, stalls, memory fetches, etc. It profiles everything running on the Linux system, including hard-to-profile programs such as interrupt handlers and the kernel itself.[3]
  • PAPI is a portable interface (in the form of a library) to hardware performance counters on modern microprocessors.
  • Periscope is an automatic performance analysis toolkit that searches for performance problems related to stall cycles, cache misses, MPI, OpenMP, and scalability issues.[4]
  • Rational PurifyPlus is a performance profiling tool for Windows, Linux, Solaris and AIX, in addition to being amemory debugger and code coverage tool.[5]
  • 'Shark is Apple's free performance analyzer for Macintosh executables. Works on x86 and power. Can use hardware perfmons.
  • Sysprof is a sampling CPU profiler for Linux that uses a kernel module to profile the entire system, as opposed to a single application. It displays the time spent in each branch of the applications' calltrees.[6]
  • Valgrind is a GPL'd system for debugging and profiling x86-Linux programs. It supports tools to either detect memory management and threading bugs, or profile performance. It works for any language and the assembler. KCacheGrind, valkyrie and alleyoop are front-ends for valgrind.
  • VTune Performance Analyzer is Intel Corporation's tool for call graph or analyzing a set of tuning events. It works with C/C++/Fortran/.NET/Java and other applications on Linux or Windows, but only when running on selected Intel hardware.
  • WARPP Parallel Application Simulator and Performance Toolkit, developed by the University of Warwick High Performance Systems Group for analysing the performance of high performance parallel/distributed applications
  • Zoom is a graphical and command-line statistical (event-based) profiler for Linux from RotateRight. It supports most compiled languages on both PowerPC and x86 processors.
  • XPerf Part of the Windows Performance Tools suite that comes with the Windows SDK, XPerf relies on the Event Tracing for Windows (ETW) infrastructure to provide rich support for symbol decoding, sample profiling and capture of call stacks on kernel events. Works on Windows Vista, Server 2008 and above versions.

C and C++

  • CodeAnalyst is a free performance analyzer from Advanced Micro Devices for programs on AMD hardware. It also does basic timer-based profiling on Intel processors.
  • DTrace dynamic tracing tool for Solaris, FreeBSD, Mac OS X and other operating systems.
  • GlowCode is a commercial profiler for C++, C# and other .NET languages. It also does code coverage and memory fault analysis.
  • Insure++ is Parasoft's runtime memory analysis and error detection tool. Its Inuse component provides a graphical view of memory allocations over time, with specific visibility into overall heap usage, block allocations, possible outstanding leaks, etc.
  • Parallel Studio from Intel contains Parallel Amplifier, which tunes both serial and parallel programs. It also includes Parallel Inspector, which detects races, deadlocks and memory errors. Parallel Composer includes codecov, a command line coverage tool.
  • Visual Studio Team System Profiler is Microsoft's commercial profiler offering

星期二, 4月 18, 2023

NALU TYPE

https://zhuanlan.zhihu.com/p/147019759

 主要在拉到设备端原始码流后,对NALU TYPE的判断有不同。

其中收到H.264判断方法如下:

int nalu_type = buf[0] & 0x1F;

其中nalu_type为5则表示IDR帧,6表示SEI、7表示SPS、8表示PPS;

对HEVC的NALU类型判断:

int nalu_type = (buf[0] & 0x7E)>>1;

//or

int nalu_type = (buf[0] >> 1) & 0x3F;

其中nalu_type19代表IDR帧,32位VPS、33位SPS、34为PPS、39为SEI;