原创 JAVA對string進行按行分割

java 處理字符串的時候 需要將文本按行分割,一般使用string.split("\n"),但這樣會因爲不同平臺下文本換行的不同而造成分割的文本帶有‘\r’而出現錯誤。   正確的做法是: String lines[] = Strin

原创 centos7 通過yum命令安裝nginx

   centos服務器在實際應用中用的是非常多的,在服務器領域非常常見。同時nginx作爲市場佔有率最高的http服務器,並不包含在centos系統的默認軟件包中,需要單獨進行安裝。 在網上隨手一搜就是./configure  make

原创 ZLMediaKit在windows平臺下的編譯

ZLMediaKit是一個新出的流媒體服務器,與SRS功能基本一致,但是SRS不支持windows,ZLMediaKit是支持windows平臺的。 方便在windows平臺下進行學習和開發。   具體的編譯文檔中有,但是不夠詳細。本人綜

原创 對於RTSP協議目前最容易理解的講解

    首先參見: https://blog.csdn.net/weixin_42462202/article/details/98986535 這是某大牛寫的博客,地RTSP的過程講的非常清楚,也有例子,可以跑起來看看。估計勝過許多的介

原创 各類流媒體官方文檔大集合

搞多媒體的人需要了解各類媒體的標準,著名的流媒體服務器SRS已經將此類文件集合方便開發人員學習。 具體路徑位於 https://gitee.com/winlinvip/srs.oschina/tree/3.0release/trunk/d

原创 bash 循環生成nodeid(補0)

  需求: 用一個腳本,按序列生成連續的ID號,啓動模擬程序模擬多個節點 ID的樣子是下面這樣的,32個字符 A0000000000000000000000000000001 A000000000000000000000000000000

原创 c++ 自定義map的排序方法

對於map<string,string> proMap;這樣的變量,默認是採用string的<操作法,某些情況下,比如11會排在2的前面,此時需要自定義比較函數 如下例所示: struct StrCompare { bool oper

原创 windows獲取物理網卡的IP地址、MAC地址,(不要虛擬網卡)

windows有虛擬網卡或多個網卡的情況下,很難判斷本機IP到底用的哪一個網卡上的IP,也難以區分虛擬網卡和物理網上。 這裏我們使用windows的函數GetBestInterface(destIP,index), 系統會給一個到指定IP

原创 ffmpeg推流時循環播放不中斷, 強制關鍵幀間隔爲1秒

  ffmpeg循環播放某文件,進行推流 #!/bin/bash ./objs/ffmpeg/bin/ffmpeg -re -stream_loop -1 -i ./doc/jqr.mkv \ -vcodec copy -acodec

原创 通用的Makefile

  一個通用的Makefile寫法,可以自動將當前的.cpp作爲編譯目標,自帶clean,使用時只需將程序名稱、庫和頭文件等改一下即可正常工作。   XX = g++ CXXFLAGS = -std=c++11 -c -g C

原创 爲muduo添加openssl支持

在面試“xx出行”的時候,被問到ssl socket的實現,當時沒有做過,後來有機會接觸到這一點了,經過一段時間的學習和測試,終於將這一點做出來了。分享給大家。網上具體的資料並不多,不過好在有幾個好的demo可以參考。   一般來講,實現

原创 mysql 預處理stmt操作(寫入數據庫和從數據庫中取出)

stmt操作 stmt對於多次執行的語句比直接執行快,主要原因在於,僅對查詢執行一次解析操作。在直接執行的情況下,每次執行語句時,均將進行查詢。此外,由於每次執行預處理語句時僅需發送參數的數據,從而減少了網絡通信量 stmt主要的介紹可以

原创 asio學習之 UDP服務器

想找一個好的c++網絡庫,選來選去都不太滿意, mudo不支持windows,也不支持UDP, evpp 有點複雜, libevent是C語言的, 最後感覺還是asio最完善,支持最好,據說c++20標準中可能標準化,所以就進行一些學習。

原创 用flv.js實現html5網頁直播

    flv.min.js下載地址: https://download.csdn.net/download/v6543210/11972204   <!DOCTYPE html> <html lang="en"> <head>

原创 golang 處理網絡接收的UDP數據

  一、[]byte與struct互轉 type CDNDispatchReq struct{ flag bool Fromsegid int32 Tosegid int32 }; func handle_DISPAT