tag rust

標籤
貢獻95
180
05:15 PM · Oct 25 ,2025

@rust / 博客 RSS 訂閱

Yeauty - Rust 如何輕鬆實現 RTMP 流媒體推送?深入解析直播推流場景與解決方案

引言 隨着直播行業迅猛發展,RTMP(Real-Time Messaging Protocol)作為廣泛使用的實時流媒體協議,已經成為推送直播流的標準選擇。然而,使用底層工具直接實現 RTMP 推流通常複雜且容易出現內存安全問題,給開發者帶來了不少挑戰。 本文將以 Rust 為背景,結合實際業務場景,探討一種更簡單、安全、高效地實現 RTMP 推流的方法,並給出具體的解決方案和代碼示例。 為什麼使

視頻 , media , rust , rtmp , ffmpeg

收藏 評論

Yeauty - 使用 Rust 代碼實現 FFmpeg 濾鏡:簡化音視頻處理的新方法

引言 FFmpeg 是一個功能強大的多媒體處理工具,廣泛應用於視頻和音頻的編碼、解碼、轉碼以及濾鏡應用。然而,在 Rust 項目中直接使用 FFmpeg 的 C API 時,開發者可能會面臨內存管理複雜、安全性隱患等問題。特別是實現自定義濾鏡,傳統方法需要編寫 C 代碼並深入理解 FFmpeg 內部結構,這對許多開發者來説門檻較高。Rust 憑藉其內存安全和簡潔的特性,提供了一種新的可能性:通過

視頻 , media , rust , 音頻 , ffmpeg

收藏 評論

vivo互聯網技術 - FunProxy - 使用 Rust 構建跨平台全鏈路測試抓包代理工具

作者:vivo 互聯網大前端團隊- Song Jiachao 在軟件開發過程中,軟件測試對於保障軟件質量和用户滿意度起着關鍵作用。為最大程度上提升軟件品質,我們積極開展全鏈路測試實踐,打造了用Rust語言開發的自研一站式抓包代理工具FunProxy,基於其跨平台、高性能、易於擴展、安全性高等特性,讓全鏈路抓包和環境代理如絲綢般絲滑。 一、背景介紹 1.1 什麼是全鏈路測試 全鏈路測試就是"

工具 , 效率 , rust , 測試 , 前端

收藏 評論

雲夢量化科技 - Rust交叉編譯自動化實戰

🦀 告別手動編譯地獄!用GitLab Runner讓Rust程序跨平台自動構建 還在為不同平台手動編譯Rust程序而煩惱?還在為環境配置不一致而抓狂?今天帶你解鎖Rust交叉編譯的自動化大法,讓你的CI/CD流水線飛起來! 🎯 痛點在哪裏? 作為一個Rust開發者,你是否遇到過這些讓人頭疼的問題: 平台差異:在Mac上開發,部署到Linux服務器,每次都要手動交叉編譯 環境配置:依賴庫版

rust , 自動化部署 , gitlab , 交叉編譯 , Docker

收藏 評論

硅上觀道 - Haskell 心法 (1):初識 - 為何學、學什麼和怎麼學

Haskell 是一門風格極其獨特的語言。網絡上我們往往能夠看到各式各樣對其函數式特性的評價,我相信不少人對其的印象就是一門“函數式純度高、學術風格濃厚、學習曲線陡峭”的語言。 最近機緣巧合下我嘗試了一下這個語言。從我個人的感覺而言,這門語言其實並沒有想象中那麼難,很多特性的引入不僅在我看來很自然,對於代碼抽象程度和表達能力的提升也是肉眼可見的。 這篇文章我將以一個有其他函數式語言經驗的 Hask

函數式編程 , rust , haskell , 教程 , 編程語言

收藏 評論

RustFS - GitLab CI/CD 作業緩存如何使用 RustFS?

GitLab CI/CD 作業緩存(cache)是加速 CI/CD 流水線(Pipeline)執行的重要手段,緩存可以配置使用遠端對象存儲。本文分享如何將新一代高性能分佈式存儲系統配置為 GitLab CI/CD 作業的緩存存儲對象。 關於 RustFS RustFS 是國內研發團隊開源的一款兼容 S3 的分佈式存儲系統,用 Rust 編寫,經過實測,性能優於 MinIO,能夠平替 MinIO。R

gitlab-ci-runner , minio , rust , gitlab , 對象存儲

收藏 評論

RustFS - GitLab X RustFS,CI/CD 作業的對象存儲配置教程

GitLab CI/CD 作業緩存(cache)是加速 CI/CD 流水線(Pipeline)執行的重要手段,緩存可以配置使用遠端對象存儲。本文分享如何將新一代高性能分佈式存儲系統配置為 GitLab CI/CD 作業的緩存存儲對象。 關於 RustFS RustFS 是國內研發團隊開源的一款兼容 S3 的分佈式存儲系統,用 Rust 編寫,經過實測,性能優於 MinIO,能夠平替 MinIO。R

minio , rust , gitlab , cicd

收藏 評論

煩惱的沙發 - 這幾款Rust工具,開發體驗直線上升

還有誰,在寫rust的時候,是去官網複製 curl 命令來裝 rustup 的,着實有點土了。尤其是手頭項目一多,或者需要 Rust 配合數據庫、其他後端服務一起工作時,事情就更麻煩了。如何安裝rust環境這個問題,在2025年,就應該更現代、更簡單一點。 今天介紹的幾個工具,就是讓你的rust開發縱享絲滑。 ServBay:把 Rust 環境管理,從命令行搬進圖形界面 我們先來解決最頭疼的版本和

開發工具 , rust , 開發環境 , 後端

收藏 評論

decaday - 從EXTI實現看Embassy: 異步Rust嵌入式框架

從EXTI實現看Embassy: 異步Rust嵌入式框架 原文鏈接:https://decaday.github.io/blog/embassy-exti/ Embassy是一個基於Rust的異步嵌入式開發框架: Embassy: The next-generation framework for embedded applications Embassy不僅包含了異步運行時,還提供了STM32、

嵌入式 , async , rust

收藏 評論

Jordan_Haidee - 【Rust GUI開發入門】編寫一個本地音樂播放器(2. Rodio播放庫的使用)

本系列教程對應的代碼已開源在 Github zeedle 添加依賴 在Cargo.toml添加: [dependencies] rodio = "0.21.1" 添加/播放/暫停音頻 use std::{thread, time::Duration}; use rodio::Decoder; fn main() { // create an output stream let s

gui , music , audio-player , rust , ui

收藏 評論

煩惱的沙發 - 用 Rust 寫 Web,是殺雞用牛刀還是未來趨勢?

最近,聊 Rust 的人越來越多了。以前一提到 Rust,大家想到的都是操作系統、數據庫這種底層系統開發,感覺離我們做業務開發的很遙遠。但現在風向好像變了,國外已經有人開始正兒八經地討論用 Rust 來寫 Web 後端。 像 Actix Web、Axum 這些框架的名字也出現得越來越頻繁,甚至有人斷言 Rust 會成為 Web 開發的下一個風口。 這就讓我有點好奇了。咱們現在寫 Web

web開發 , rust , 後端 , Python

收藏 評論

ERP老兵_冷溪虎山 - Rust(IDEA/CLion外部工具)開發環境極速配置手冊:宏變量(參數詳解) +RustRover(jvm參數表)

🚫 大佬和氪金黨建議划走 🎯 動手黨、小白、想白嫖IDE功能的請繼續 💡 想體驗"一個IDE學多種語言"的快感嗎?這篇指南就是你的答案! 🙏 大家好! 最近一直在爆肝更新"四語言同步學"教程,Rust系列一直未來得及更(求輕噴😅)。今天特地為大家帶來一篇純白嫖向的實用指南—— 今天特地為大家帶來一篇實用指南——JetBrains IDE外部工具配置Rust開發環境。 這可能是最不起

rust , intellij-idea , clion , jetbrains

收藏 評論

ERP老兵_冷溪虎山 - 全網 Rust 開發者都在找的 vmoptions 配置!RustRover 2025 JVM 參數表

兄弟姐妹們大家好!為了迴應大家的需求,今天給大家帶來 Rust 開發 RustRover 最後的 JVM 調參指南。 此篇是本虎山 CTO 的 JetBrains 終極調參系列收官之作,以後不會再新增其他語言學習——保住髮際線要緊嘛! 💇‍♂️ 這次是我最後一次高頻率測試折騰環境,現在我的電腦中已形成「8語言共生」的穩定狀態:Python/JavaScript/Golang/Java/C/C

jvm調優 , 開發工具 , rust , jetbrains

收藏 評論

universe_king - python 通過文件內容判斷文件類型的方案: filetype 和 Magika

怎麼判斷文件類型?通過文件名後綴?這是完全不可靠的,有絕對可靠的方式嗎?沒有 相對可靠的方式就是通過文件文件內容(二進制流)來判斷(極少數文件類型沒有特殊的文件頭或者特徵,這種方式也判斷不出來) python 生態下,有什麼已經封裝好的,可以通過文件內容判斷文件類型的包嗎?有,經典的就是 filetype ,以及谷歌 2024年使用 AI 做的 magika filetype 的優點就不説了,缺點

算法 , google , rust , 人工智能 , Python

收藏 評論

非凸科技 - 非凸科技鼎力支持第50屆ICPC亞洲區域賽·武漢站,攜手共育計算機英才

11月1日-2日,第50屆ICPC國際大學生程序設計競賽亞洲區域賽·武漢站在武漢大學卓爾體育館成功舉辦。來自256餘所高校和組織的512支隊伍、1500多名選手齊聚珞珈山下,在這場計算機領域的“奧林匹克”盛會中展開激烈角逐。作為賽事的重要支持方,非凸科技此次深度參與武漢站,為ICPC在華中地區選拔與培育頂尖計算機人才注入了新的活力。 閉幕式上,非凸科技首席運營官鄭媛姿在致辭中表示,I

rust , 人工智能 , 程序員

收藏 評論

正在戰鬥中 - rust學習二十.3、RUST使用不安全代碼訪問靜態變量

一、前言 1.1、為什麼要使用不安全塊訪問可變靜態變量 根據rust設計人的理解:靜態變量是可以修改,所以在併發情況下是可能存在併發/並行時候的不一致問題(如果要修改),這可能就不安全了。 所以,rust規定訪問可變靜態變量需要使用不安全代碼塊(unsafe塊)。 1.2、比較靜態變量和常量 1.常量與不可變靜態變量的一個微妙的區別是靜態變量中的值有一個固定的內存地址。使用這個值總是會訪問相同的

rust

收藏 評論

正在戰鬥中 - rust學習二十.4、RUST使用不安全代碼訪問union(一存多表)類型

一、前言 看UNION的定義,頗為驚訝,居然有這樣的類型(以前沒有怎麼用過C)。 以下一段來自於文心一言: 1.定義和用途 union允許在相同的內存位置存儲不同類型的數據,但在任意時刻只能使用其中一個類型。 適用於需要在節省內存的情況下靈活存儲不同類型數據的場景。 2.內存佈局 所有字段共享相同的內存位置。 這意味着union的大小由其最大字段決定。 3.安全性與用

rust

收藏 評論

正在戰鬥中 - rust學習二十.5、RUST特質中的關聯類型

這是rust特質(trait)中頗有意思的一個特性。 一、前言 這個特性,在前面已經有接觸過,例如書本的第十三章節的迭代器特質就有這個例子: impl Iterator for BooksIterator { type Item = String; fn next(mut self) - OptionString { if self.current_index 3

rust

收藏 評論

正在戰鬥中 - rust學習二十.6、RUST通用類型參數默認類型和運算符重載

一、前言 為通用類型賦予一個默認的類型,大部分的語言是沒有這個特性的,但是也有例外的,例如TypeScript(可能還有其它)。 例如TypeScript可以這樣使用: class MyClassT = number { value: T; constructor(value: T) { this.value = value; } printValu

rust

收藏 評論

正在戰鬥中 - rust學習二十.8、RUST特質的限定,實為對類型的限定

有的時候,可能希望使用的特質已經實現了其它特質(看後面可以知道,實際是要求相關類型實現了其它特質)。 RUST支持為特質(trait)指定限定的特質。 例如我們定義特質A,之後定義了類型T,這個時候還希望T已經實現了特質TC。 在rust中就是這個語法: trait tx:t1 trait tx:t1+t2..+tn 根據相關數據的例子和説明,需要特別注意,具體的實現都是依賴於類型,而不是特質。

rust

收藏 評論

正在戰鬥中 - rust學習二十.7、RUST完全限定名以及靜態方法

rust中看不到java等一些OOP語言的中用於修飾方法的static之類的關鍵字眼。 注:rust有static關鍵字,目前是用於修飾生命週期的或者是變量的 例如: let leaked_str: 'static str = Box::leak(tmp.into_boxed_str()); static mut SIGN: u32 = 0;

rust

收藏 評論

狗十二 - rust之map和filter初探。

點擊查看代碼 fn main() { let v = vec![1, 2, 3, 4]; let a: Vec_ = v.iter().filter(|x: i32| *x % 2 == 0).map(|x: i32| x * 2).collect(); let b: Vec_ = v.iter().map(|x: i32| x * 2).filter(|x: i32

rust

收藏 評論

正在戰鬥中 - rust學習二十.9、RUST繞過孤兒規則實現特質和包裝器缺點

回憶下孤兒規則: 1.只有當一個trait或類型在當前的crate中定義時,才能為外部類型實現該trait。 沒有限定是特質還是類型 反過來,如果特質和類型都是外部,那麼不能在當前單元包實現 2.例外情況-std中特質是例外。大體驗證了凡事都有例外 孤兒規則的目的:避免編譯器無法確定應該用哪一個實現。 這個目的很容易理解。無論是否叫孤兒,絕大部分語言中都是類似的規則-不允許一個類型實現接口/特質的

rust

收藏 評論

正在戰鬥中 - rust學習二十.10、RUST高級類型之新類型模式和類型別名

這兩個內容都比較容易理解。 一、新類型(newtype)模式 注意,這裏説的是一種編程模式,不是説有一個叫newtype的類型。 這種編程模式的含義:為某個類型作個封裝,構建一個新的類型,以便繞過某些束縛,從而達成特定目的。 目的如下: a.用於抽象掉一些類型的實現細節 b.可以隱藏其內部的泛型類型 c.實現曲線救國 一個典型的例子,利用新類型繞過孤兒規則。 二、類型別名 語法 type xxx=

rust

收藏 評論