在同事的鼓勵下,這是我第一次參加鐵人賽,想說自己對於分享軟體知識也是挺有熱忱的,就給自己來一點挑戰。
當初我會接觸到DeepStream是因為這是我跨足AI領域的第一個被交代的任務:學會如何使用這個框架,對於在設備商打滾數年的我來說相當艱辛,當時的我連Tensor到底是什麼都還沒有一個明確的答案,只知道他是模型要用的東西、多維度的向量。
想必大家也常遇到在不得不去閱讀一個陌生領域的文章時,大量的陌生名詞、縮寫、術語,讓你的起步不是看懂這些文章,而是先去查海量的單字,而當時的我就是這麼走過來的。因此我的文章會盡量以讀者沒有DeepStream知識的角度去做說明,或許會有些攏長,但希望可以幫助到下一位在陌生領域迷惘的人。
DeepStream是NVIDIA為了硬體加速導入串流應用而開發的一套SDK,並且深度整合至開源串流框架GStreamer中,提供了非常多的GStreamer插件。(說直白一點就是方便賣他們家的硬體)
你可以透過DeepStream簡易地去使用硬體編/解碼器、TensorRT(NVIDIA的推論框架)、Triton Inference Server(模型調度伺服器),並透過框架實現批次推論(Batch Inference)、物件偵測(Detection)、物件分類(Classification)、物件追蹤(Tracking)、影像渲染。
這就要提到為什麼我會被指派研究DeepStream這個任務,就是那萬惡的官宣文章跟範例

![]()

理想很美好,現實很殘酷。這些華麗的圖片只存在於他設計好的應用中(甚至有的範例根本跑不起來),如果你家產品的設計方式跟框架存在著顯著的落差,那很抱歉,SDK只能幫上你一點忙,剩下的業障還是得由你來消。
這系列文章會帶大家「深入」了解這個SDK的的運作方式及原理,以及到最後有預估大約10天的篇幅教大家怎麼搭配DeepStream開發自己的GStreamer插件,讓你的AI串流應用不只有停留在美好的範例裡。