- 博客(386)
- 资源 (55)
- 收藏
- 关注
原创 ServerMediaSession 类
摘要: ServerMediaSession是Live555中管理媒体会话的核心类,代表一组可被RTSP客户端访问的媒体流(如视频/音频文件或实时源)。主要功能包括:生成SDP描述、管理会话生命周期(通过引用计数)、维护多个子会话(ServerMediaSubsession)以及控制媒体流。使用时需创建会话实例,添加子会话(每个对应一个媒体轨道),并注册到RTSPServer以关联RTSP URL路径。当客户端访问时,服务器通过会话生成SDP并传输数据,无引用时自动销毁。示例展示了如何创建H.264视频会话
2025-10-11 11:12:40
321
原创 BasicTaskScheduler类
BasicTaskScheduler是Live555流媒体框架的核心调度器,采用单线程事件循环机制,通过select()监听socket事件并处理三类任务:1)一次性延迟任务;2)持续性的Socket处理任务;3)立即触发的事件触发器。每类任务有对应的管理方法,其中延迟任务执行后自动移除,Socket任务需显式移除,事件触发器需及时销毁。调度器通过doEventLoop()驱动事件处理,支持外部变量控制循环退出。该设计实现了高效的网络通信和事件协调功能。
2025-10-11 11:08:32
338
原创 Live555MediaServer
Live555MediaServer是一个开源的RTSP流媒体服务器,支持多种音视频格式的实时传输。它实现了完整的RTSP协议栈,包括OPTIONS、DESCRIBE、SETUP、PLAY等标准命令。日志显示服务器成功处理了H.264视频流的RTSP会话,包括建立连接、解析SDP描述、设置传输参数以及播放控制等完整流程。服务器通过文件扩展名自动识别媒体格式,并支持多客户端并发访问。其核心工作流程包括会话查找、媒体子会话创建和RTSP命令处理等模块,采用动态创建ServerMediaSession的方式来管理
2025-10-11 10:54:24
471
原创 live555库文件简介
Live555是一套C++开源流媒体库,包含四个核心组件:libliveMedia处理流媒体协议和编解码格式,libgroupsock提供网络通信支持,libUsageEnvironment负责事件调度和环境管理,libBasicUsageEnvironment是其具体实现。这些库协同工作,共同实现RTSP/RTP等流媒体协议支持及音视频处理功能。
2025-10-11 09:53:09
227
原创 主流视频各种压缩码对比
摘要:视频编解码器对比显示,AV1压缩率最高(比H.265高20-30%),开源免专利费,但硬件要求高;H.265压缩率次之,需专利授权但兼容性好;VP9免专利费但压缩率略低;H.264兼容性最佳但效率较低。选择建议:追求高压缩率选AV1或H.265,平衡兼容性选H.265或VP9,免专利选AV1/VP9。硬件支持方面,AV1需新设备,H.265/VP9主流设备支持,H.264全兼容。(150字)
2025-10-11 09:47:02
1233
原创 live555介绍
Live555是一个开源的跨平台流媒体处理库,主要用于构建流媒体服务器、客户端和代理服务。它支持RTSP/RTP等主流协议及H.264、AAC等多种媒体格式,可实现媒体文件的流化传输、实时流采集转发和协议转换。其核心优势在于模块化设计、协议兼容性和高效性能,被广泛应用于网络摄像头、视频监控、在线直播等场景,同时作为流媒体技术研究和开发的基础平台。典型应用包括搭建RTSP点播服务器、openRTSP客户端录制及嵌入式流媒体解决方案等。
2025-10-11 09:44:15
500
原创 C++智能指针概念理解的面试题
为什么这里是必要的?如果改用lambda表达式作为删除器,代码应该如何修改?比较和在自定义删除器存储方式上的差异必要性unique_ptr的删除器是类型的一部分必须明确指定删除器类型lambda删除器存储方式差异unique_ptr:删除器作为模板参数,直接存储shared_ptr:删除器类型擦除,存储在控制块。
2025-04-25 17:30:38
990
原创 NVIDIA vGPU虚拟机显卡分片技术
虚拟 GPU,也称为 vGPU,是通过将数据中心 GPU 进行虚拟化,用户可在多个虚拟机中共享该 GPU。 NVIDIA vGPU 技术利用 NVIDIA GPU 和虚拟 GPU 软件产品的强大功能,使每个虚拟机(VM)都能像物理桌面一样获得出色的 GPU 性能,为用户提供更好的体验。 NVIDIA vGPU 技术还可以加速虚拟化计算工作负载,例如人工智能、深度学习、数据科学和高性能计算。
2024-12-25 20:07:17
1472
原创 ubuntu安装迅雷、微信、QQ、钉钉
微信:sudo apt-get install com.qq.weixin.deepin。钉钉:sudo apt-get install com.dingtalk.deepin。完整列表见 https://deepin-wine.i-m.dev/
2024-11-27 15:39:59
1823
原创 RGB转LVDS芯片
3通道RGB转LVDS芯片:SN75LVDS84SN75LVDS85SN65LVDS84DS90CF363DS90C365DS90CR217国产:GM8184GM8263C
2021-04-10 16:18:16
3200
1
转载 内核参数列表
内核参数列表(环境:Linuxlocalhost2.6.9-67.ELsmp)(整理日期:2010-3-10)一、调整内核参数的方法:a)在运行期间调整1、可以用echo“valule”>/proc/sys/内核核文件的方法调整系统内核的参数,运行的时候是存放在/proc/sys下的各个目录下,每个参数对应一个文件,可以用echo来修改它,但是重启系统后参数将丢失。2、也可以使用sysctl–wvariable=value来设置参数的值b)设置到文...
2020-07-29 16:41:00
2818
转载 CH372或CH375的USB通讯问题解答
1、如果是在没有单片机的情况下,进行简单的I/O输入输出,那么可以参考CH341的资料,CH341不需要单片机就能独立工作,可以提供串口、并口、兼容IIC或I2C的2线接口、兼容SPI及JTAG的4线接口、5线接口等,可以提供多个GPIO通用I/O,可以用于控制低速模数转换AD、DA、数字I/O、I/O扩展等。2、如果是单片机/DSP等与计算机相连接,也就是USB设备方式的应用,那么参考CH372的资料。可以下载CH372+CH451评估板/演示板的资料CH372EVT.ZIP,有PDF文档和例子程序,例
2020-06-17 22:55:03
3992
原创 BCM43438 android6.0移植
编译的全部源码位于drivers/net/wireless/bcmdhd目录下。初始化流程: dhd_linux.c中dhd_module_init()调用dhd_wifi_platform_register_drv() dhd_linux_plat.c中dhd_wifi_platform_register_drv()调用platform_driver_register(...
2019-10-30 21:45:03
2560
原创 android audio/linux alsa音频-应用层基础
snd_pcm_open 1. 参数和返回值int snd_pcm_open(snd_pcm_t **pcmp, const char *name, snd_pcm_stream_t stream, int mode)pcmp 打开的pcm句柄name 要打开的pcm设备名字,默认default,或者从asound.conf或者asoundrc里面选择所要打开的...
2019-10-30 09:21:54
3391
原创 TI Am335LCD驱动
drivers/video/da8xx-fb.cplatformdriver的名称是#define DRIVER_NAME "da8xx_lcdc"arch/arm/mach-omap2/devices.c中:int __init am33xx_register_lcdc(struct da8xx_lcdc_platform_data *pdata){ int id =...
2019-10-29 22:39:26
899
原创 s5p4418显示驱动
arch/arm/plat-s5p4418/drone2/include/Cfg_main.h有关显示的定义:/*------------------------------------------------------------------------------* Display (DPC and MLC)*//* Primary */#define CFG_DI...
2019-10-29 22:31:57
1184
原创 s5p4418分区
include/configs/s5p4418_drone2.h:#ifdef SPEC_PARTS#define FASTBOOT_PARTS_DEFAULT \ "flash=mmc,2:2ndboot:2nd:0x200,0x7000;" \ "flash=mmc,2:bootloader:boot:0x8000,0x200000;" \ "flash=mm...
2019-10-29 22:23:16
632
原创 AM335 uboot启动参数
include/env_default.h中:#elif defined(DEFAULT_ENV_INSTANCE_STATIC)static char default_environment[] = {#elseconst uchar default_environment[] = {#endif代码略#ifdef CONFIG_EXTRA_ENV_SETTINGS CONF...
2019-10-29 22:14:47
892
原创 linux内核文档汇集
链接:https://01.org/linuxgraphics/gfx-docs/drm/The Linux Kernel documentationThis is the top level of the kernel's documentation tree. Kernel documentation, like the kernel itself, is very much a wo...
2019-09-09 09:19:08
3016
1
转载 systemctl 命令详解及使用教程
转自:http://linux265.com/news/3385.html在本教程中,我们将向您介绍在运行systemd的linux系统上如何使用systemctl命令工具有效的控制系统和服务.Systemctl 介绍Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V...
2019-07-28 12:43:27
52641
1
原创 virtual audio cable 虚拟声卡
virtual audio cable 是一款windows虚拟声卡软件,可以一端做输入,另一端输出。应用场景1:例如从远端TCP/UDP接收数据包转成本地声卡的输出信号(录音),在本地播放器播放声音通过TCP/UDP发送数据到远端播放。应用场景2:实现混音功能。...
2019-07-08 20:23:48
8697
原创 视频均衡器、HDMI/DVI信号放大器应用
TI芯片DS16EV5110https://www.ti.com/product/DS16EV5110/technicaldocumentshttp://www.ti.com/lit/an/snla095b/snla095b.pdfhttps://www.ti.com/lit/ds/symlink/ds16ev5110.pdf另一款芯片PI3HDMI412AD:https...
2019-07-08 20:14:52
1918
原创 EDID
EDID (Extended Display Identification Data),被广泛用于VGA、DVI、HMDI显示器的识别,它包含了显示器的厂商名称、支持的显示分辨率及其时序、HDMI音频信息等内容。EDID的发展历史:August 1994, DDC standard version 1 – EDID v1.0 structure. April 1996, EDID sta...
2019-06-24 14:52:13
2037
原创 USB/IP Project --- support windows and linux
The USB/IP Project aims to develop a general USB device sharing system over IP network. To share USB devices between computers with their full functionality, USB/IP encapsulates "USB I/O messages" int...
2019-04-03 14:20:32
1134
原创 传递可变参数
(1)#define Print(...) printf(__VA_ARGS__)(2)#include <stdio.h>#include <stdarg.h>#include <ctype.h>static void __cdecl odprintf(const char *format, ...){char ...
2019-02-21 15:26:03
1285
原创 framebuffer and VGA
VGA emulation in qemu - where do we want to go?https://www.kraxel.org/blog/2018/10/qemu-vga-emulation-and-bochs-display/ Framebuffer HOWTO:https://www.tldp.org/HOWTO/html_single/Framebuffer-HO...
2018-12-18 10:31:41
688
转载 ubuntu设置开机默认进入字符界面方法
ubuntu 12.04 桌面版关闭图形界面注意]改GRUB 的配置文件(不建议直接改 grub.conf) file:/etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"替换为 GRUB_CMDLINE_LINUX_DEFAULT="text" 保存后 sudo update-grub 重启即可...
2018-05-30 14:46:25
8341
原创 音频编解码speex
Speex是开源的语音引擎,能够实现高质量和低比特率的编码。Speex还具有压缩后的比特率低(2~44 kbps)的特点,并支持多种比特率。这些特点使得Speex特别适合VoIP的系统。资料链接:点击打开链接...
2018-05-10 15:47:45
1946
转载 Graphics User Guide(Rockchip Linux)
November 27, 2017 | CN rockchip linux平台的graphic,和以往大家所习惯所不同的是,我们应该是最先全面应用上drm和dmabuf的arm linux平台。优势是,通用的架构,在上面客制化会很容易,可以利用很多现有组件,现在有很多基础开源项目的开发,都开始基于rockchip平台来作为arm端的适配平台。但缺点是,确实大家都不...
2018-04-17 09:15:16
8887
4
原创 DRM KMS资料
最近在调试Intel 显卡I915,学习了linux下的DRM驱动。网络上有关DRM的资料很少,发现这个资料讲得非常好,解释DRM/KMS的知识,推荐下载:https://download.youkuaiyun.com/download/xgbing/10341942另附上devicetree工具(devicetree___WMD学习工具V2.3(支持I386, AMD64, IA64)):https://d...
2018-04-11 17:17:54
2707
转载 计算机底层是如何访问显卡的?
1. 显卡驱动是怎么控制显卡的, 就是说, 使用那些指令控制显卡, 通过端口么?2. DirectX 或 OpenGL 或 CUDA 或 OpenCL 怎么找到显卡驱动, 显卡驱动是不是要为他们提供接口的实现, 如果是, 那么DirectX和OpenGL和CUDA和OpenCL需要显卡驱动提供的...
2018-04-10 16:57:37
1307
原创 libdrm-----linux显卡应用层代码库
DRMThe Direct Rendering Manager (DRM) is a subsystem of the Linux kernel responsible for interfacing with GPUs of modern video cards. DRM exposes an API that user space programs can use to send co...
2018-04-10 15:24:15
12114
转载 android系统裁剪方法
android系统裁剪优化一直是各个厂商定制产品的关键步骤,包括浅层次的去除不必要的apk(android apk裁剪定制 )和深层次的裁剪整个编译系统和框架层. android作为开源系统,各个产品同质化严重,只有深层次的裁剪定制自己的系统,才能充分体现各自产品的特性,也是优化各自产品的关键步骤,此篇文章主要关注编译系统和框架层的裁剪,抛砖引玉, 还有很多地方可以改进的地方,基于工作中时间限...
2018-03-16 11:56:12
2801
原创 android audio/linux alsa音频-数字音频接口DAI
数字音频接口,即The Digital Audio Interface,简称DAI。相关代码分析:DAI driver在codec驱动中注册驱动函数int snd_soc_register_codec(struct device *dev, const struct snd_soc_codec_driver *codec_drv, struct snd_soc_dai_dr...
2018-03-16 10:49:43
2238
1
原创 android audio/linux alsa音频-Master Clock和DAI Clocks
1. Master ClockEvery audio subsystem is driven by a master clock (sometimes referred to as MCLKor SYSCLK). This audio master clock can be derived from a number of sources(e.g. crystal, PLL, CPU clock)...
2018-03-16 10:30:34
789
1
原创 android audio/linux alsa音频-硬件
接着以前的文章继续写音频方面的分析,因为学得快忘得也快,如果不加以总结和记录,很快自己也不记得了。要完全了解一个音频器件,如ES8396, wm8998,首先得了解它的硬件原理。一般在嵌入式领域,音频的编解码芯片主要有两种:(1)在单片机应用方面,一般接的单纯的1路编解码,一般通过I2S或SPI接口连接,通过发送命令的方面对音频芯片进行操作,再读取或写入数据;(2)在linux,android(w...
2018-03-16 10:09:19
1955
windows vc声卡编程基础知识
2016-06-13
U盘实现代码分析
2014-02-16
yaffs2文件系统介绍
2014-03-01
Triple-Speed Ethernet(tse)FPGA软核MAC官方实例
2013-04-22
VirtualSMV, VirtualPT IEC61850测试工具(2012-4-17版本)
2012-04-17
VC调用matlab7.10的接口程序实例
2013-05-06
Qt实现使用QAxObject在word中实现文本替换和插入图片
2025-01-07
ubuntu下安装微信完美方案
2023-04-06
windows/linux分区误删恢复工具
2022-07-25
VirtualMonitor数字签名程序
2022-06-01
DRM KMS学习资料
2018-04-11
Xorg_2007-EDID-JMiseli.pdf
2019-06-24
rtl8188EUS_linux_v5.2.2.4.zip
2020-04-05
Qt+x11+xcb的例子
2018-03-08
kylin ft2000 arm aarch64 boot uImage initrd dtb
2020-04-18
rtlwifi.tar.bz2
2020-02-17
rtl8188eu.tar.bz2
2020-04-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅