自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 gstreamer identity介绍

identity虽名为“恒等”,实为 GStreamer 中最灵活的调试与控制元件。默认是透明管道;开启dump变成数据嗅探器;设置成为网络损伤模拟器;使用ts-offset是时间戳校正器;连接handoff信号则是自定义监控探针。掌握identity,就掌握了 GStreamer 管道调试的核心技巧。

2025-12-19 15:30:49 764

原创 gstreamer rtspsrc介绍

GStreamer的rtspsrc元素是一个核心RTSP流接收组件,支持RTSP/RTSPS协议,能够自动处理握手、SDP解析和RTP/RTCP传输。它动态生成输出Pad,支持TCP/UDP/TLS等多种传输方式,提供丰富的配置参数包括连接设置、缓冲控制、时间同步和安全选项等。典型应用包括IP摄像头和流媒体服务器接入,使用时需注意动态Pad处理和信号回调机制。关键优化参数包括传输协议选择、延迟控制和缓冲策略,是构建稳定RTSP接收管道的核心组件。

2025-12-19 12:22:54 661

原创 gstreamer filesrc参数介绍

摘要: filesrc是GStreamer的核心文件源元素,用于从本地文件读取原始数据流。其关键属性包括必设的location(文件路径)、可调的blocksize(I/O缓冲区大小)、num-buffers(限制读取量)及do-timestamp(为RAW流添加时间戳)。支持Seek操作,需通过后续元素(如h264parse)解析格式。典型应用包括播放裸流(H.264)、RTSP推流等,但不支持网络协议(需用souphttpsrc等替代)。注意事项:路径格式需规范,大文件需平衡I/O性能,且仅处理原始字节

2025-12-11 16:14:50 843

原创 gstreamer opusenc参数介绍

摘要:opusenc是GStreamer中的Opus音频编码器,用于将原始音频高效编码为Opus格式,适用于VoIP、流媒体等场景。支持16-bit小端输入(推荐48kHz采样率),输出为audio/x-opus数据流。关键参数包括音频类型(语音/音乐)、码率控制模式(CBR/VBR)、帧大小(影响延迟)、抗丢包设置(FEC)等。典型应用示例涵盖文件编码、低延迟通信和高质量音乐处理,建议实时场景启用DTX和FEC,统一使用48kHz采样率以优化性能。

2025-12-02 12:09:43 566

原创 gstreamer appsink 参数介绍

摘要: appsink是GStreamer的核心接收端元素,用于将流水线处理的音视频数据传递给应用程序。支持事件驱动(信号回调)或主动拉取模式,可配置格式限制(caps)、缓冲策略(如max-buffers=1实现最新帧保留)及同步控制(sync=false提升吞吐)。适用于AI推理、实时预览等场景,需注意显式设置数据格式并合理管理内存。作为官方插件(LGPL许可),跨平台稳定,通过gst-inspect-1.0可查看详细属性与信号。

2025-12-01 16:51:41 659

原创 gstreamer rtspclientsink推流时间分析

阶段耗时原因优化建议1. 插件懒加载首次使用rtprtpmanagerapp等插件时才加载✅预加载插件或程序启动时调用触发扫描2. 动态元素创建~10ms在收到首帧后才创建rtph264pay和rtpbin⚠️ 难以避免,但可确保caps提前协商好3. RTSP 网络握手~1000msRTSP 服务器响应慢或网络延迟✅ 检查服务器性能✅ 使用 UDP 降低连接开销(若允许)✅ 预连接(keep-alive)4. Caps 协商~1msH.264 parser 推断参数✅ 在。

2025-11-27 21:52:13 948

原创 gstreamer multifilesrc 参数介绍

multifilesrc是GStreamer中用于顺序读取多个文件的源元素,主要用于将图像序列合成视频流。其核心参数包括:location(文件名格式模板,需含%d占位符)、index(当前读取索引)、start/stop-index(循环范围)、loop(循环开关)、caps(必须指定帧率格式)等。典型应用场景是将PNG序列转为MP4视频,需注意文件必须连续存在,且需通过caps明确设置帧率。该元素支持有限范围循环播放,但需配合stop-index使用。对于图像文件,整个文件会被作为一帧处理,而原始数据流

2025-11-27 16:12:48 275

原创 gstreamer h264parse 参数介绍

元素名称h264parse所属插件包功能:解析原始 H.264 码流(如 Annex B 格式的.h264文件),提取 SPS/PPS、帧类型(I/P/B)、时间信息等,并输出结构化、带完整 caps 的 H.264 流。典型用途将裸 H.264 转为可被 muxer(如mpegtsmux)识别的格式;插入周期性 SPS/PPS(对 RTSP/HTTP-Live-Streaming 至关重要);修复或标准化 H.264 流结构。

2025-11-27 15:17:23 842

原创 gstreamer input-selector 源码解读

GStreamer的input-selector元素是一个N-to-1输入流选择器,用于从多个输入流中选择一个转发到输出端口。该元素支持动态切换输入流、时间同步和缓存机制,适用于多路音视频切换、主备流切换等场景。 核心功能包括: 支持动态请求多个sinkpad作为输入,固定一个srcpad作为输出 通过active-pad属性控制当前激活的输入流 提供sync-streams和sync-mode属性实现流同步 支持cache-buffers缓存机制防止切换丢帧 关键特性: 线程安全设计,使用GMutex和G

2025-11-20 20:59:49 767

原创 gstreamer input-selector参数介绍

GStreamer的input-selector是一个核心元素,用于在多个输入流中动态选择并转发一个到输出端。它支持按需创建sinkpad,具有active-pad属性控制当前输入源,可配置缓存和同步模式。适用于直播切换、冗余流备份等场景,常与output-selector配合使用。使用时需注意输入流的兼容性,切换时可能因缓存设置影响流畅度。该元素不处理时钟或缓冲队列,仅负责路由功能。

2025-11-20 19:46:47 873

原创 gstreamer appsrc 介绍

appsrc。

2025-11-14 17:58:26 682

原创 java.lang.IllegalArgumentException: No enum constant java.lang.annotation.RetentionPolicy.ôÚÌü...

摘要:本文分析了一个基于GStreamer的视频流推送Java程序中存在的两个核心问题:多线程并发操作导致的GStreamer Pipeline线程安全问题,以及Buffer生命周期管理不当引发的native内存破坏。主要风险包括:1)多个线程同时操作非线程安全的GStreamer对象;2)Buffer对象在Java和native层之间的错误传递可能引发内存越界。针对这些问题,提出了三个修复方案:确保PipedInputStream线程安全关闭、正确构造Buffer对象,以及将推流逻辑封装到独立线程。这些修

2025-11-14 03:51:19 245

原创 avenc_aac 参数

GStreamer的avenc_aac是基于FFmpeg的AAC编码器,支持1-6声道和常见采样率。核心参数包括:编码算法选择(aac-coder)、立体声优化(aac-ms)、噪声处理(aac-pns)等,默认配置适合多数场景。通用参数控制比特率(bitrate)、采样率(ar)等基础音频属性。使用建议包括:设置flags=+global_header兼容MP4容器,bitrate=128000实现标准音质。该编码器默认采用AAC-LC格式,不支持HE-AAC,需注意专利授权问题。性能与质量可通过aac-

2025-11-13 15:43:36 259

原创 gstreamer queue参数介绍

gstreamer queue参数介绍。

2025-11-10 16:45:20 670

原创 gstreamer rtspclientsink参数介绍

rtspclientsink参数介绍。

2025-11-10 16:09:03 929

原创 gstreamer设置日志级别

摘要:GStreamer通过GST_DEBUG环境变量控制调试日志输出,可设置全局或组件级别日志(0-7级,级别越高越详细)。常用方法包括全局设置级别、单次命令生效、针对特定组件设置,以及重定向到文件。组件名可从日志开头获取。通过灵活配置日志级别,便于调试RTSP推拉流等场景的连接、格式兼容性问题。

2025-11-10 01:37:45 284

原创 SRS配置各个端口作用

本文介绍了SRS流媒体服务器的基本配置、端口功能及故障排查方法。1)提供最小srs.conf示例,包含RTMP(1935)、HTTP API(1985)、HTTP服务(8080)和WebRTC(8000/UDP)的基础配置;2)详解各端口用途:1935用于RTMP推/拉流,1985用于管理API,8080提供HTTP-FLV/HLS服务,8000用于WebRTC媒体传输;3)分析端口不通的影响:RTMP不通导致推流失败,HTTP端口不通影响播放,UDP端口阻断导致WebRTC连接失败;4)给出排查建议:使用

2025-11-04 16:02:28 807

原创 gstreamer单容器多路(并发)推流

摘要:GStreamer支持单容器内实现多路并发推流,包括多输入源推送不同地址或同源多输出。实现方案包括:1)多进程命令行方式;2)单进程多GstPipeline对象(Python/C++);3)RTSPServer动态创建管线。关键注意事项包括线程管理、资源占用、端口冲突和生命周期控制。建议根据场景选择实现方式:少量固定流使用多线程、动态流用RTSPServer、高并发采用分布式部署。核心原则是每路推流需独立pipeline实例,并合理配置线程同步和系统资源。

2025-10-31 12:11:10 863

原创 gstreamer加载本地文件到推流前耗时分析

Measure-Command { Get-Content -Path "D:/rtsp_test/2025-9-1756881031817-demo720-java-1.ts" -Raw | Out-Null }

2025-10-29 14:23:09 870

原创 下载gstreamer的Ubuntu安装包

本文介绍了如何下载特定版本的Gstreamer安装包并打包到Docker镜像中。主要步骤包括:1)通过Ubuntu官方软件包查询网站(packages.ubuntu.com)或辅助站点(UbuntuUpdates、Launchpad)查找指定版本的Gstreamer安装包;2)创建挂载目录并运行Ubuntu 22.04的Docker容器;3)在容器内使用apt-get download命令下载所需Gstreamer组件;4)将下载的deb文件移动到挂载目录并拷贝到本地。该方法适用于需要将特定版本Gstrea

2025-10-28 19:34:54 1164

原创 音视频相关概念科普

如果你需要从摄像头等硬件设备拉流,或者进行超低延迟的实时通信,你会用到RTSP。如果你需要进行直播推流(用OBS等软件),你会用到RTMP。如果你需要让普通网页观众观看,你应该提供HLS 或 DASH格式的流。你的实验(用 FFmpeg 推流到 MediaMTX)中,虽然你推的是 RTSP,但 MediaMTX 的强大之处就在于它可以将这个 RTSP 流同时以 RTMP、HLS、WebRTC 等多种格式发布出去,满足不同客户端的需要。

2025-10-21 15:17:59 654

原创 win7测试本地rtsp推流

本文介绍了在Windows环境下安装和使用GStreamer进行视频播放及RTSP服务部署的方法。主要内容包括: GStreamer安装配置:安装开发包和运行包,并配置环境变量。 视频播放:使用gst-launch-1.0命令播放本地视频文件。 RTSP服务部署:通过MediaMTX和FFmpeg搭建本地RTSP服务器,包括服务启动和视频推流。 许可证说明:对比GPL和LGPL许可证的区别及其对FFmpeg的影响。 推流命令详解:解释FFmpeg推流命令的各个参数和输出信息,说明流复制模式的优点。 文章提供

2025-10-21 10:41:10 724

原创 2025 Java后端机试题

本文记录了2023年7-9月求职过程中遇到的典型机试题。主要题型包括:二叉树非递归遍历、大数据处理TopK问题、链表操作、版本号比较等算法题(如满帮、美团);博弈论、组合数学等逻辑题(如宇翔高远);多线程协同(小米汽车)、字符串处理(同花顺)以及设备布局优化(DFS应用)。部分题目直接来自LeetCode原题(如中序遍历、删除链表倒数第N节点等),部分考察分治思想和大数据处理能力。字节跳动等公司还涉及多线程资源分配的场景模拟题。整体反映出当前技术面试对算法基础、逻辑思维和工程实践能力的综合。

2025-10-08 16:34:02 712

原创 leetcode经典算法题

本文整理了LeetCode算法练习题分类及题解链接,主要包含以下内容: 数据结构:LRU缓存、链表操作、二叉树遍历与构造 算法技巧:滑动窗口、单调栈/队列、优先队列 经典算法:动态规划、DFS、排序算法 图论:最小生成树、最短路径、并查集 每类问题均附有labuladong的详细题解链接,包括二叉树序列化、滑动窗口框架、回溯框架等核心算法实现。重点涵盖了链表操作、树遍历、动态规划等高频考点,并提供了Dijkstra、Kruskal等图论算法实现参考。

2025-09-25 22:37:32 672

原创 AIGC相关概念学习

PSNR 的本质是通过计算 “信号”(原始图像的有效信息)与 “噪声”(失真带来的无效干扰)的功率比值,并转化为对数尺度(分贝 dB)来量化图像质量。其核心逻辑是:原始图像可视为 “纯净信号”,失真图像相对于原始图像的偏差可视为 “噪声”,信号越强、噪声越弱,图像质量越好。在图像领域,“峰值”(Peak)特指图像像素的最大可能取值 —— 例如,8 位灰度图像的像素值范围是 0-255,因此峰值像素值(通常用Imax​表示)为 255;10 位图像的Imax​则为 1023。

2025-09-24 22:22:21 1111

原创 AI面试题

它直接显式地定义了实体间的关联(如“A是B的母公司”、“C是D的组成部分”),这种关联不受文本描述方式的影响。:在真正的答案生成步骤之前,可以加一个步骤,让LLM先判断检索到的每段文档是否与问题相关,只保留相关的部分。例如:在医疗领域,微调后的模型会知道“心肌梗死”和“心梗”的相似度远高于“心肌梗死”和“心脏病”(泛称)。:为您的文档添加丰富的元数据(如:文档类型、发布日期、作者、类别、标签、来源等)。去向量数据库里检索真实的相似文档。:建立实体之间的关系(“苹果” --子公司--> “Beats”)。

2025-09-19 20:52:04 673

原创 Django笔记

url.py新增urlpatterns。

2025-09-11 22:00:33 109

原创 mysql新部署登录问题Access denied for user ‘root‘ (using password: YES)

而且发现,直接在服务器上进入docker容器(docker exec -it containerId /bin/bash),登录mysql(mysql -u root -p),同样会报错:Access denied for user 'root' (using password: YES)直接登录会报错:Access denied for user 'root'@'xx.xx.xx.xx' (using password: YES)进入容器,查询mysql.user。退出MySQL和容器。

2025-09-02 18:03:52 300

原创 2025Java后端面试题

文章摘要:本文从Spring框架、数据库、JVM、MQ、服务注册发现和性能优化等方面总结了常见面试问题及解决方案。重点包括:1)Spring循环依赖的三级缓存机制;2)MySQL索引失效场景和Redis数据一致性保障;3)JVM元空间溢出排查方法;4)Kafka重平衡机制和精确一次语义实现;5)服务注册发现的核心流程和Nacos健康检测机制;6)性能优化中的QPS提升方法和CPU突增排查技巧。全文提供了系统性的技术解决方案参考,适合面试准备和技术复盘。

2025-08-04 22:32:58 1060 1

搜狗拼音输入法rar压缩包

搜狗拼音输入法rar压缩包

2025-11-07

gstreamer 1.18 -win7安装后文件压缩包

gstreamer 1.18 -win7安装后文件压缩包,解压后将bin路径加到环境变量path中,尝试是否可以使用

2025-10-27

gstreamer相关安装包及java demo

gstreamer相关安装包及java demo,读取本地视频,推流到本地rtsp服务

2025-10-22

gstreamer安装包,win7

gstreamer安装包,win7

2025-10-22

空空如也

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

TA关注的人

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