把一件很难的事情拆分的足够小
把大象放进冰箱有三个步骤 打开冰箱门 把大象放进冰箱 关上冰箱门 显然, 这个拆分是不合格的, 第一步和第三步没问题, 第二步太粗. 拆分得尽量小, 顺序安排合理, 做起来就更容易
Category: Uncategorized
把大象放进冰箱有三个步骤 打开冰箱门 把大象放进冰箱 关上冰箱门 显然, 这个拆分是不合格的, 第一步和第三步没问题, 第二步太粗. 拆分得尽量小, 顺序安排合理, 做起来就更容易
其实也就一个 PDCA 循环 自己为自己设计课程 自己督促自己学习和训练 自己反省自己的问题 自己采取行动改进自己
Overview The scheduling mode of a pad defines how data is retrieved from (source) or given to (sink) pads. GStreamer can operate in two scheduling mode, called push- and pull-mode. GStreamer supports elements with pads in any of the scheduling modes where not all pads need to be operating in the same mode. So far, […]
Elements that synchronize buffers on the pipeline clock will usually measure the current QoS. They will also need to keep some statistics in order to generate the QOS event. 缓冲数据与管道时钟之间的同步通常可以用来衡量 QoS For each buffer that arrives in the sink, the element needs to calculate how late or how early it was. This is called the […]
TensorRT is a large and flexible project. It can handle a variety of conversion and deployment workflows, and which workflow is best for you will depend on your specific use case and problem setting. TensorRT provides several options for deployment, but all workflows involve the conversion of your model to an optimized representation, which TensorRT […]
refer to https://github.com/NVIDIA-AI-IOT/deepstream_python_apps
Goal The previous tutorial showed how to build a pipeline automatically. Now we are going to build a pipeline manually by instantiating each element and linking them all together. In the process, we will learn: What is a GStreamer element and how to create one. 什么是 GStreamer 元件,如何创建它 How to connect elements to each other. […]
GStreamer 是如此著名的多媒体框架,它的管道和插件模式令人印象深刻,眼界大开,原来管道模式可以玩得这么精妙。 目标 Nothing better to get a first impression about a software library than to print “Hello World” on the screen! 熟悉使用任何一种新的开发软件语言或者软件代码库的方法,最莫过于在屏幕上打印 "Hello world". 而对于多媒体框架来说,播放一段视频比 hello world 更合适于快速上手。 下面代码远多于一个标准的 Hello world, 不过多数是初始化和清理代码,真正起作用的也就四行代码。 废话不多说,还是看代码吧。 程序流程 @startuml start :初始化 gst_init; :构建管道 gst_gst_parse_launch; :开始播放 gst_element_set_state; :等待结束 gst_bus_timed_pop_filtered; :释放资源 gst_object_unref …; stop @enduml 源代码 #include <gst/gst.h> #ifdef __APPLE__ […]
std::reference_wrapper C++ Utilities library Function objects std::reference_wrapper Defined in header template< class T > class reference_wrapper; (since C++11) std::reference_wrapper is a class template that wraps a reference in a copyable, assignable object. Specifically, std::reference_wrapper is a CopyConstructible and CopyAssignable wrapper around a reference to object or reference to function of type T. Instances of std::reference_wrapper […]
refer to https://www.freedesktop.org/software/systemd/man/latest/libudev.html All functions require a libudev context to operate. This context can be create via udev_new(3). It is used to track library state and link objects together. No global state is used by libudev, everything is always linked to a udev context. Furthermore, multiple different udev contexts can be used in parallel by […]