gstreamer/DeepStream
柳鲲鹏
建立了编程学(编程基本功、平台化编程)、六石管理学等几个流派。
每涉及一个领域,都是顶级砖家。在这些领域中,如果遇到问题,最后肯定是搜索到本博客。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
gstreamer:通过线程动态切换帧率,用GST_OBJECT_LOCK卡死
gstreamer:通过线程动态切换帧率,用GST_OBJECT_LOCK卡死原创 2026-06-09 14:09:21 · 66 阅读 · 0 评论 -
全网首发:高通平台:gstreamer正确切换分辨率或帧率的代码
全网首发:高通平台:正确切换分辨率或帧率的代码原创 2026-06-05 09:43:34 · 60 阅读 · 0 评论 -
高通平台:切换分辨率或帧率,Camera service has died !
高通平台:切换分辨率或帧率,Camera service has died !原创 2026-06-04 16:51:44 · 188 阅读 · 0 评论 -
gstreamer:分辨率和帧率不能分开设置
gstreamer:分辨率和帧率不能分开设置原创 2026-06-04 13:36:41 · 53 阅读 · 0 评论 -
高通gst appsink相机插件,内存泄露严重的解决办法
高通gst appsink相机插件,内存泄露严重的解决办法原创 2026-01-12 16:23:14 · 149 阅读 · 0 评论 -
gstreamer播放:no element “omxh264dec“
gstreamer播放:no element "omxh264dec"原创 2025-11-06 10:53:14 · 287 阅读 · 0 评论 -
gstreamer:如何播放一个H264文件(命令、C代码)
gstreamer:如何播放一个H264文件(命令、C代码)原创 2025-11-06 10:44:39 · 175 阅读 · 0 评论 -
gstreamer:过早加探头改写数据,导致线程卡死;正确加探头时机
gstreamer:过早加探头改写数据,导致线程卡死;正确加探头时机原创 2025-11-05 14:58:43 · 225 阅读 · 0 评论 -
疑似全网首发?gstreamer:通过探头probe,获得元素的数据
gstreamer:通过探头probe,获得元素的数据原创 2025-09-15 10:19:05 · 191 阅读 · 0 评论 -
gstreamer:使用gst_parse_launch,在代码中执行命令
gstreamer:使用gst_parse_launch,在代码中执行命令原创 2025-09-12 17:50:49 · 306 阅读 · 0 评论 -
gstreamer:创建元素、管道的播放器(Makefile,代码测试通过)
gstreamer:创建组件、管道和总线,实现简单的播放器原创 2025-09-11 14:14:05 · 265 阅读 · 0 评论 -
gstreamer创建rtmp流
gstreamer创建rtmp流原创 2025-09-03 16:06:48 · 216 阅读 · 0 评论 -
修改gstreamer/test-launch.c:指定IP
修改gstreamer/test-launch.c:指定IP原创 2025-09-01 09:00:30 · 153 阅读 · 0 评论 -
高通平台上,gstreamer/test-launch:拉流一直失败
高通平台上,gstreamer/test-launch:拉流一直失败原创 2025-09-01 08:58:10 · 312 阅读 · 0 评论 -
ubuntu使用meson编译gstreamer/gst-rtsp-server
ubuntu使用meson编译gstreamer/gst-rtsp-server原创 2025-08-28 15:27:30 · 282 阅读 · 0 评论 -
gst-inspect-1.0列出有哪些gstreamer插件
gst-inspect-1.0列出有哪些gstreamer插件原创 2025-08-17 16:50:55 · 213 阅读 · 0 评论 -
Ubuntu:wvp-GB28181-pro安装、运行
数据库/2.7.3/初始化-postgresql-kingbase-2.7.3.sql。用户名、密码:admin:admin。我使用postgresql,安装。注意id/secret的配置。原创 2025-02-20 18:23:11 · 832 阅读 · 0 评论 -
碰到一个摄像头预览画面跳帧的安卓设备
最近有人向吾抱怨,摄像头画面卡顿,也就是隔几秒画面会卡一下然后再跳过。吾开始以为是分辨率太高、CPU高导致,后来发现:低分辨率(176x144),无编解码,也会卡。 预览画面并不卡。 从摄像头回调得到的数据,显示出来会卡。 同样代码,在其他设备上一切正常。 反复验证确认,跟吾代码是没有任何关系的,可以确定是设备问题。可能有:摄像头模组,ISP,CPU。 从帧率来看,也正常。...原创 2020-04-27 08:14:43 · 1581 阅读 · 0 评论 -
DeepStream不支持多 RTSP源(多个摄像头)
顺利调通各项功能之后,顺利的接入了摄像头。心想接多个摄像头不是理所当然的吗?于是要了几个摄像头进行测试,结果……嗝屁了……反复研究代码,都没有解决。 今天到NVIDIA论坛上,还真有人问这个事。结果也没有人回答。 怎样支持多个摄像头,要另外想办法了,因为这是工作需要。这可有点……...原创 2018-08-30 12:02:35 · 5876 阅读 · 10 评论 -
gstreamer的插件如何复制数据
工作中,使用了gstreamer和nvidia的DeepStream插件。如何从nvidia插件中获取数据,这个之前吾有博文专门论述。因为这个很少介绍,也不好找。吾当时也是运气好,从别的代码中得到启示,才找到了正确的解决办法。 那么,普通的gstreamer插件如何获取数据呢?比如说,从decoder(包括nvidia decoder插件)中,获取原始的h264数据代码是怎样的?这个很简...原创 2018-11-26 14:39:01 · 3203 阅读 · 0 评论 -
gstreamer插件无法加载,使用不了,黑名单Blacklist的解决办法
公司开发了三个gstreamer插件,结果有一个能用,另外两个死活用不了(即gst_element_factory_make结果为空).去/usr/lib/x86_64-linux-gnu/gstreamer-1.0目录下看,插件文件也是存在的。这是怎么回事?gst-inspect-1.0………………总数: 239 个插件 (2 个黑名单记录 not shown), 1326 ...原创 2018-12-02 18:35:02 · 7094 阅读 · 21 评论 -
解决办法:GLib-ERROR **: Creating pipes for GWakeup: Too many open files
程序运行出现错误:GLib-ERROR **: Creating pipes for GWakeup: Too many open files 网上一查,原因是:当前进程创建的线程个数,超过Ubuntu 限制的每个进程可创建线程个数导致. 推荐的解决办法如下:# 先看看当前设置情况?ulimit -a# 再改一下设置:ulimit -n 4096 可...原创 2019-01-03 18:14:35 · 4561 阅读 · 1 评论 -
gstreamer/deepstream崩溃记录及分析
今天专门测试了一下摄像头的断电问题.这个问题以前一直想做,今天终于下决心.这一套视频使用的gstreamer/deepstream.如前文所说的结束方法,结束代码如下:gst_element_set_state(pipeline, GST_STATE_NULL);gst_object_unref(pipeline); 如果摄像头已启动完成,再启动程序,这两句是可以正常执...原创 2019-03-08 20:58:25 · 1998 阅读 · 0 评论 -
gstreamer正确的结束办法
原来的方案:gboolean callback_bus_call (GstBus * bus, GstMessage * msg, gpointer data){ ...... gst_element_set_state(pipeline, GST_STATE_NULL); g_main_loop_quit(loop); return true;}...原创 2019-03-08 12:11:27 · 2817 阅读 · 3 评论 -
gstreamer之RTSP Server一个进程提供多路不同视频
柳鲲鹏rtsp-server本身没有提供类似功能。经过反复测试实验,终于找到了正确办法。直接提供源码,需要的朋友下载使用。此源码已反复测试过(在此基础上,可以实现多个进程、多个端口功能。这里就不重复了)。#include <string.h>#include <stdio.h>#include <stdlib.h>#include &l...原创 2018-10-10 16:34:19 · 6209 阅读 · 24 评论 -
gstreamer之RTSP Server test-mp4正确运行代码
柳鲲鹏 很多朋友运行了test-readme之后,就运行test-mp4,结果发现不能正确运行,也就是看不到画面。 经过搜索,找到了解决办法,测试通过:将其中的源字串,改为: str = g_strdup_printf ( "(" " filesrc location=\"%s\" ! qtdemux " " !queue ! h264pa...原创 2018-10-10 11:41:46 · 1828 阅读 · 9 评论 -
gstreamer之RTSP Server编译及注意事项
柳鲲鹏下载下载网址https://gstreamer.freedesktop.org/src/gst-rtsp-server/下载哪个版本?这个要跟自己的gstreamer配套(小于等于)。比如吾gstreamer版本是1.8.3,虽然最新的是1.14.4,吾必须下载1.8.3。否则编译会报错:configure: Requested 'gstreamer-1.0 >= 1....原创 2018-10-10 10:25:21 · 3545 阅读 · 0 评论 -
Nsight中给工程添加include目录
在LINUX上,使用Nsight打开一个工程,结果编译不过,找不到头文件。怎么办?加。 右键,属性,General->Code Analysis->Paths and Symbols。Includes下加入程序需要用到的头文件的路径。 Library Path下添加需要用到库文件的路径。...原创 2018-09-10 11:43:21 · 1235 阅读 · 0 评论 -
cudaMemcpy的性能问题
近来完成了一个功能,然后进行各项测试工作的。吾发现了一个cudaMemcpy有严重的性能问题。如果复制的数据量,不超过1920x1080*4(颜色)*4(画面),性能表现良好。 一旦超过,性能急剧恶化,消耗的时间大增。 有人奇怪了:汝怎么知道的? 这有什么奇怪的,测试多个摄像头的时候发现画面卡顿,再检查哪个步骤,就知道了。 怎么解决呢?当然是限制数据量的大小。...原创 2018-09-10 07:30:58 · 6078 阅读 · 0 评论 -
deepstream-app源码没有公开,预计3.0可能公开
管理员以为公开了,有人回复说找不到。于是一问,确实没有。3.0可能公开? 这不过是个一些接口的调用,怎么就不能公开?原创 2018-09-03 17:53:44 · 1112 阅读 · 0 评论 -
gstreamer支持多摄像头的思路
已知:gstreamer可以很好的支持多文件同时播放。 gstreamer无法正常支持多摄像头同时播放。偶尔可以,多数情况下直接崩溃。 两个现象对比,可以确定是因为摄像头建立链接、接受数据有延迟导致的。目前分析是在h264parse出错的。 解决思路:主线程使用appsrc。 每个摄像头一个线程。 对每个摄像头增加一个探头,保存读取到的数据。 当下游元素请求数据...原创 2018-09-03 15:57:02 · 2971 阅读 · 4 评论 -
gstreamer中查看有哪些元素以及元素的属性(参数)
将所有信息输出到文件中:gst-inspect-1.0 > gs.txt 查看包含相关字串的命令:gst-inspect-1.0 | grep h264 查看某个元素:gst-inspect-1.0 rtspsrc原创 2018-09-05 13:44:19 · 2163 阅读 · 0 评论 -
GstElement的sink/src有什么区别?
比如以下代码:static void probe_add(GstElement* element, char* tag){ GstPad* osd_sink_pad = gst_element_get_static_pad (element, "sink"); if (osd_sink_pad) { gst_pad_add_probe (osd_...原创 2018-09-02 08:38:02 · 1645 阅读 · 0 评论 -
全网首发:gstreamer如何接入RTSP流(IP摄像头)的代码范例
其实也是运气好,找到了网上的代码。之后反复测试,排列组合,跟自己的代码整合起来了。 这里把有用的部分共享出来。有朋友说跑不起来,这个时候先看看有哪些插件,参考:https://blog.csdn.net/quantum7/article/details/84723053static void on_pad_added (GstElement *element, GstPad...原创 2018-08-28 17:30:04 · 13142 阅读 · 86 评论 -
gstreamer向appsrc发送编码数据的代码
上一篇文章中,提供了发送视频帧数据的方法。有人问了,这是理想情况,对于编码数据,怎么办? 经过一番折腾,终于找到可用的办法。下面代码,测试通过:#include <gst/gst.h> static FILE * appSrcFile = NULL;static int read_counter = 0;static char read_buffer[4096...原创 2018-08-31 08:02:02 · 3318 阅读 · 15 评论 -
DeepStream中,获得并修改识别对象参数的代码
增加一个探头GstElement* osd_sink_pad = gst_element_get_static_pad (osd, "sink");gst_pad_add_probe (osd_sink_pad, GST_PAD_PROBE_TYPE_BUFFER, osd_sink_pad_buffer_probe, NULL, NULL);实现osd_sink_pad...原创 2018-08-28 08:25:37 · 4293 阅读 · 14 评论 -
全网首发:DeepStream中,获得视频帧数据的代码
根据工作安排,最近对gstreamer进行了研究。工作中要求,把播放的视频帧画面拿到,进行一些处理。这东西可是够偏门的,搜索的资料实在太少。经过反复搜索,连蒙带猜,终于解决了。 解决之后觉得自己真的好幸运:之前对gstreamer/cuda等等一无所知,临时上手。 并没有代码告诉说如何取得视频画面,完全是通过搜索到的一点蛛丝马迹,连蒙带猜找到正确的路子。 自己的反复测试、验证、分...原创 2018-08-28 08:13:24 · 9922 阅读 · 27 评论 -
jpegNPP编译为so
总算编译过去了。能不能用,还没测试。 编译命令如下:clearecho -------------------------------------------------------------nvcc jpegNPP.cpp \ --compiler-options "-Wall -Wfatal-errors -Ofast -DOPENCV -DGPU -DCUDNN...原创 2018-09-10 14:11:12 · 814 阅读 · 0 评论 -
gstreamer实现sink插件的代码,及无法结束的问题
同事写了一个 gstreamer插件,去掉显示之后,整个流不运行。吾视之,看不出问题。猜测是插件类型不对,于是改写了一个sink插件,试之,流运行了。然后,有一个问题没有解决: 如果是播放文件,文件结束后,无法结束(即使得GstBus收到GST_MESSAGE_EOS消息)。 虽然有此严重问题,整个系统运行起来了。这个问题以后看看怎么解决。这里把代码共享出来,希望能给朋友们们带...原创 2018-09-18 15:15:17 · 2074 阅读 · 0 评论 -
全网首发:gstreamer中正确使用avdec_h264插件
今天专门研究nvdec_h264的显存释放问题。首先要证明流程没有问题。怎么证明?就是换别的插件。结果换上avdec_h264死活不能正确运行。 于是网上到处搜索啊搜索,最后终于找到了一个范例,原来,需要配套使用xvimagesink插件: 两个插件之间不要有其他插件。 xvimagesink就是最后结束的插件,直接显示。 具体代码就不列出,遇到这个问题的都应该很了解。...原创 2018-10-16 16:24:09 · 6558 阅读 · 0 评论
分享