国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Golang 流媒體音視頻網(wǎng)絡(luò)傳輸開源項(xiàng)目-LAL

這篇具有很好參考價(jià)值的文章主要介紹了Golang 流媒體音視頻網(wǎng)絡(luò)傳輸開源項(xiàng)目-LAL。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一. lal 簡(jiǎn)介

lal是開源直播流媒體網(wǎng)絡(luò)傳輸項(xiàng)目,主要由三部分組成:

  • lalserver:流媒體轉(zhuǎn)發(fā)服務(wù)器。類似于nginx-rtmp-module等服務(wù),但支持更多的協(xié)議,提供更豐富的功能。
  • demo:一些小應(yīng)用,比如推、拉流客戶端,壓測(cè)工具,流分析工具,調(diào)度示例程序等。類似于ffmpeg、ffprobe等應(yīng)用。
  • pkg:流媒體協(xié)議庫(kù)。類似于ffmpeg的libavformat等庫(kù)。

lal github地址: https://github.com/q191201771/lal

以下是lal源碼架構(gòu)圖,從中你可以大致了解lal是如何劃分功能層次的:

Golang 流媒體音視頻網(wǎng)絡(luò)傳輸開源項(xiàng)目-LAL

二. lalserver 快速開始

1 編譯

方式1,從源碼自行編譯

$git clone https://github.com/q191201771/lal.git
$cd lal
$export GO111MODULE=on && export GOPROXY=https://goproxy.cn,https://goproxy.io,direct
$make

或者使用GoLand等IDE編譯。
如果沒有安裝Go編譯器,可參考《CentOS或macOS安裝GoLang》,windows操作系統(tǒng)可自行上網(wǎng)搜索教程。

方式2,直接下載編譯好的二進(jìn)制可執(zhí)行文件

點(diǎn)我打開《github lal最新release版本頁(yè)面》,可下載linux/macos/windows平臺(tái)編譯好的lal二進(jìn)制可執(zhí)行文件(zip壓縮包形式)。

方式3,使用docker

docker又分為兩種方式,一種是直接從Docker Hub下載已經(jīng)編譯好的鏡像并運(yùn)行:

$docker run -it -p 1935:1935 -p 8080:8080 -p 4433:4433 -p 5544:5544 -p 8083:8083 -p 8084:8084 -p 30000-30100:30000-30100/udp q191201771/lal /lal/bin/lalserver -c /lal/conf/lalserver.conf.json

另一種是根據(jù)本地代碼和Dockerfile文件生成鏡像并運(yùn)行:

$git clone https://github.com/q191201771/lal.git
$cd lal
$docker build -t lal .
$docker run -it -p 1935:1935 -p 8080:8080 -p 4433:4433 -p 5544:5544 -p 8083:8083 -p 8084:8084 -p 30000-30100:30000-30100/udp lal /lal/bin/lalserver -c /lal/conf/lalserver.conf.json

2 運(yùn)行

$./bin/lalserver -c conf/lalserver.conf.json

3 體驗(yàn)功能

lalserver服務(wù)啟動(dòng)后,就可以進(jìn)行推拉流了。

lal github地址: https://github.com/q191201771/lal

三. lalserver 簡(jiǎn)介

lalserver是流媒體轉(zhuǎn)發(fā)服務(wù)。類似于nginx-rtmp-module服務(wù),簡(jiǎn)單來說,這類服務(wù)的核心功能是將推流客戶端發(fā)送過來的音視頻數(shù)據(jù)轉(zhuǎn)發(fā)給對(duì)應(yīng)的拉流客戶端。
但lalserver支持更多的協(xié)議,提供更豐富的功能。

1 lalserver 特性

  • 全平臺(tái)
    • 支持linux/macOS/windows多系統(tǒng)開發(fā)、調(diào)試、運(yùn)行。支持多arch比如amd64/arm64/arm32/ppc64le/mipsle/s390x
    • 支持交叉編譯。可在任一平臺(tái)編譯出其他平臺(tái)的可執(zhí)行文件
    • 無依賴。生成的可執(zhí)行文件無任何環(huán)境、庫(kù)依賴,可單文件獨(dú)立運(yùn)行
    • (開放源碼的同時(shí))提供各平臺(tái)可執(zhí)行文件,可免編譯直接運(yùn)行
    • 支持docker
  • 高性能。多核多線程擴(kuò)展
  • 多種直播流封裝協(xié)議。支持RTMP/RTSP/HTTP-FLV/HTTP-TS/HLS,支持不同封裝協(xié)議間相互轉(zhuǎn)換
  • 多種編碼格式。視頻支持H264/AVC,H265/HEVC,音頻支持AAC
  • 多種格式錄制。支持FLV,長(zhǎng)MPEGTS,HLS錄制(HLS直播與錄制可同時(shí)開啟)
  • HTTPS。支持HTTPS-FLV,HTTPS-TS,HLS over HTTPS拉流
  • WebSocket/WebSockets。支持Websocket-FLV,WebSocket-TS拉流
  • HLS。支持實(shí)時(shí)直播、全列表直播。切片文件支持多種刪除方式。支持內(nèi)存切片
  • RTSP。支持over TCP(interleaved模式)。支持basic/digest auth驗(yàn)證。支持GET_PARAMETER。兼容對(duì)接各種常見H264/H265/AAC實(shí)現(xiàn)
  • RTMP。完整支持RTMP協(xié)議,兼容對(duì)接各種常見RTMP實(shí)現(xiàn)。支持給單視頻添加靜音音頻數(shù)據(jù),支持合并發(fā)送
  • HTTP API接口。用于獲取服務(wù)信息,向服務(wù)發(fā)送命令。
  • HTTP Notify事件回調(diào)。
  • 支持多種方式鑒權(quán)
  • 分布式集群。
  • 靜態(tài)pull回源。通過配置文件配置回源地址
  • 靜態(tài)push轉(zhuǎn)推。支持轉(zhuǎn)推多個(gè)地址。通過配置文件配置轉(zhuǎn)推地址
  • CORS跨域。支持HTTP-FLV,HTTP-TS,HLS跨域拉流
  • HTTP文件服務(wù)器。比如HLS切片文件可直接播放,不需要額外的HTTP文件服務(wù)器
  • 監(jiān)聽端口復(fù)用。HTTP-FLV,HTTP-TS,HLS可使用相同的端口。over HTTPS類似
  • 秒開播放。GOP緩沖

2 lalserver 支持的協(xié)議

封裝協(xié)議間轉(zhuǎn)換的支持情況

轉(zhuǎn)封裝類型 sub rtmp sub http[s]/websocket[s]-flv sub http[s]/websocket[s]-ts sub hls sub rtsp relay push rtmp
pub rtmp ? ? ? ? ? ?
pub rtsp ? ? ? ? ? ?
relay pull rtmp ? ? ? ? X .

各封裝協(xié)議對(duì)編碼協(xié)議的支持情況

編碼類型 rtmp rtsp hls flv mpegts
aac ? ? ? ? ?
avc/h264 ? ? ? ? ?
hevc/h265 ? ? ? ? ?

錄制文件的類型

錄制類型 hls flv mpegts
pub rtmp ? ? ?
pub rtsp ? ? ?

表格含義見: 連接類型之session pub/sub/push/pull

注意,如果只是rtsp流(確切的說是rtp包)相互間轉(zhuǎn)發(fā),不涉及到轉(zhuǎn)封裝成其他格式,理論上其他編碼類型也支持。

3 lalserver 特性圖

Golang 流媒體音視頻網(wǎng)絡(luò)傳輸開源項(xiàng)目-LAL

lal github地址: https://github.com/q191201771/lal

四. lalserver 各協(xié)議推拉流url地址列表

協(xié)議 url地址 協(xié)議標(biāo)準(zhǔn)端口
RTMP推流 rtmp://127.0.0.1:1935/live/test110 1935
RTSP推流 rtsp://localhost:5544/live/test110 554
. . .
RTMP拉流 rtmp://127.0.0.1:1935/live/test110 1935
HTTP-FLV拉流 http://127.0.0.1:8080/live/test110.flv
https://127.0.0.1:4433/live/test110.flv (https地址)
80
443
WebSocket-FLV拉流 ws://127.0.0.1:8080/live/test110.flv
wss://127.0.0.1:4433/live/test110.flv (websockets地址)
80
443
HLS(m3u8+ts)拉流 http://127.0.0.1:8080/hls/test110.m3u8 (直播地址格式1)
http://127.0.0.1:8080/hls/test110/playlist.m3u8 (直播地址格式2)
http://127.0.0.1:8080/hls/test110/record.m3u8 (全量錄播地址)
80
RTSP拉流 rtsp://localhost:5544/live/test110 554
HTTP-TS拉流 http://127.0.0.1:8080/live/test110.ts (http地址)
https://127.0.0.1:4433/live/test110.ts (https地址)
ws://127.0.0.1:8080/live/test110.ts (websocket地址)
wss://127.0.0.1:4433/live/test110.ts (websockets地址)
80
443
80
443

關(guān)于端口

如果使用協(xié)議標(biāo)準(zhǔn)端口,則地址中的端口可以省略,比如http的默認(rèn)端口是80,則http://127.0.0.1:80/live/test110.flv變成http://127.0.0.1/live/test110.flv

如果你不熟悉推拉流客戶端該如何配合使用,可參考 常見推拉流客戶端信息匯總

lal github地址: https://github.com/q191201771/lal

五. lalserver 配置文件說明

{
  "# doc of config": "https://pengrl.com/lal/#/ConfigBrief", //. 配置文件對(duì)應(yīng)的文檔說明鏈接,在程序中沒實(shí)際用途
  "conf_version": "0.2.8",                                   //. 配置文件版本號(hào),業(yè)務(wù)方不應(yīng)該手動(dòng)修改,程序中會(huì)檢查該版本
                                                             //  號(hào)是否與代碼中聲明的一致
  "rtmp": {
    "enable": true,                      //. 是否開啟rtmp服務(wù)的監(jiān)聽
                                         //  注意,配置文件中控制各協(xié)議類型的enable開關(guān)都應(yīng)該按需打開,避免造成不必要的協(xié)議轉(zhuǎn)換的開銷
    "addr": ":1935",                     //. RTMP服務(wù)監(jiān)聽的端口,客戶端向lalserver推拉流都是這個(gè)地址
    "gop_num": 0,                        //. RTMP拉流的GOP緩存數(shù)量,加速流打開時(shí)間,但是可能增加延時(shí)
                                         //. 如果為0,則不使用緩存發(fā)送
    "merge_write_size": 0,               //. 將小包數(shù)據(jù)合并進(jìn)行發(fā)送,單位字節(jié),提高服務(wù)器性能,但是可能造成卡頓
                                         //  如果為0,則不合并發(fā)送
    "add_dummy_audio_enable": false,     //. 是否開啟動(dòng)態(tài)檢測(cè)添加靜音AAC數(shù)據(jù)的功能
                                         //  如果開啟,rtmp pub推流時(shí),如果超過`add_dummy_audio_wait_audio_ms`時(shí)間依然沒有
                                         //  收到音頻數(shù)據(jù),則會(huì)自動(dòng)為這路流疊加AAC的數(shù)據(jù)
    "add_dummy_audio_wait_audio_ms": 150 //. 單位毫秒,具體見`add_dummy_audio_enable`
  },
  "default_http": {                       //. http監(jiān)聽相關(guān)的默認(rèn)配置,如果hls, httpflv, httpts中沒有單獨(dú)配置以下配置項(xiàng),
                                          //  則使用default_http中的配置
                                          //  注意,hls, httpflv, httpts服務(wù)是否開啟,不由此處決定
    "http_listen_addr": ":8080",          //. HTTP監(jiān)聽地址
    "https_listen_addr": ":4433",         //. HTTPS監(jiān)聽地址
    "https_cert_file": "./conf/cert.pem", //. HTTPS的本地cert文件地址
    "https_key_file": "./conf/key.pem"    //. HTTPS的本地key文件地址
  },
  "httpflv": {
    "enable": true,          //. 是否開啟HTTP-FLV服務(wù)的監(jiān)聽
    "enable_https": true,    //. 是否開啟HTTPS-FLV監(jiān)聽
    "url_pattern": "/",      //. 拉流url路由路徑地址。默認(rèn)值為`/`,表示不受限制,路由地址可以為任意路徑地址。
                             //  如果設(shè)置為`/live/`,則只能從`/live/`路徑下拉流,比如`/live/test110.flv`
    "gop_num": 0             //. 見rtmp.gop_num
  },
  "hls": {
    "enable": true,                  //. 是否開啟HLS服務(wù)的監(jiān)聽
    "enable_https": true,            //. 是否開啟HTTPS-HLS監(jiān)聽
                                     //
    "url_pattern": "/hls/",          //. 拉流url路由地址,默認(rèn)值`/hls/`,對(duì)應(yīng)的HLS(m3u8)拉流url地址:
                                     //  - `/hls/{streamName}.m3u8`
                                     //  - `/hls/{streamName}/playlist.m3u8`
                                     //  - `/hls/{streamName}/record.m3u8`
                                     //
                                     //  playlist.m3u8文件對(duì)應(yīng)直播hls,列表中只保存<fragment_num>個(gè)ts文件名稱,會(huì)持續(xù)增
                                     //  加新生成的ts文件,并去除過期的ts文件
                                     //  record.m3u8文件對(duì)應(yīng)錄制hls,列表中會(huì)保存從第一個(gè)ts文件到最新生成的ts文件,會(huì)持
                                     //  續(xù)追加新生成的ts文件
                                     //
                                     //  ts文件地址備注如下:
                                     //  - `/hls/{streamName}/{streamName}-{timestamp}-{index}.ts` 或
                                     //    `/hls/{streamName}-{timestamp}-{index}.ts`
                                     //
                                     //  注意,hls的url_pattern不能和httpflv、httpts的url_pattern相同
                                     //
    "out_path": "./lal_record/hls/", //. HLS的m3u8和文件的輸出根目錄
    "fragment_duration_ms": 3000,    //. 單個(gè)TS文件切片時(shí)長(zhǎng),單位毫秒
    "fragment_num": 6,               //. playlist.m3u8文件列表中ts文件的數(shù)量
                                     //
    "delete_threshold": 6,           //. ts文件的刪除時(shí)機(jī)
                                     //  注意,只在配置項(xiàng)`cleanup_mode`為2時(shí)使用
                                     //  含義是只保存最近從playlist.m3u8中移除的ts文件的個(gè)數(shù),更早過期的ts文件將被刪除
                                     //  如果沒有,默認(rèn)值取配置項(xiàng)`fragment_num`的值
                                     //  注意,該值應(yīng)該不小于1,避免刪除過快導(dǎo)致播放失敗
                                     //
    "cleanup_mode": 1,               //. HLS文件清理模式:
                                     //
                                     //  0 不刪除m3u8+ts文件,可用于錄制等場(chǎng)景
                                     //
                                     //  1 在輸入流結(jié)束后刪除m3u8+ts文件
                                     //    注意,確切的刪除時(shí)間點(diǎn)是推流結(jié)束后的
                                     //    `fragment_duration_ms * (fragment_num + delete_threshold)`
                                     //    推遲一小段時(shí)間刪除,是為了避免輸入流剛結(jié)束,HLS的拉流端還沒有拉取完
                                     //
                                     //  2 推流過程中,持續(xù)刪除過期的ts文件,只保留最近的
                                     //    `delete_threshold + fragment_num + 1`
                                     //    個(gè)左右的ts文件
                                     //    并且,在輸入流結(jié)束后,也會(huì)執(zhí)行清理模式1的邏輯
                                     //
                                     //  注意,record.m3u8只在0和1模式下生成
                                     //
    "use_memory_as_disk_flag": false //. 是否使用內(nèi)存取代磁盤,保存m3u8+ts文件
                                     //  注意,使用該模式要注意內(nèi)存容量。一般來說不應(yīng)該搭配`cleanup_mode`為0或1使用
  },
  "httpts": {
    "enable": true,         //. 是否開啟HTTP-TS服務(wù)的監(jiān)聽。注意,這并不是HLS中的TS,而是在一條HTTP長(zhǎng)連接上持續(xù)性傳輸TS流
    "enable_https": true,   //. 是否開啟HTTPS-TS監(jiān)聽
    "url_pattern": "/"      //. 拉流url路由路徑地址。默認(rèn)值為`/`,表示不受限制,路由地址可以為任意路徑地址。
                            //  如果設(shè)置為`/live/`,則只能從`/live/`路徑下拉流,比如`/live/test110.ts`
  },
  "rtsp": {
    "enable": true, //. 是否開啟rtsp服務(wù)的監(jiān)聽,目前只支持rtsp推流
    "addr": ":5544" //. rtsp推流地址
  },
  "record": {
    "enable_flv": true,                      //. 是否開啟flv錄制
    "flv_out_path": "./lal_record/flv/",     //. flv錄制目錄
    "enable_mpegts": true,                   //. 是否開啟mpegts錄制。注意,此處是長(zhǎng)ts文件錄制,hls錄制由上面的hls配置控制
    "mpegts_out_path": "./lal_record/mpegts" //. mpegts錄制目錄
  },
  "relay_push": {
    "enable": false, //. 是否開啟中繼轉(zhuǎn)推功能,開啟后,自身接收到的所有流都會(huì)轉(zhuǎn)推出去
    "addr_list":[    //. 中繼轉(zhuǎn)推的對(duì)端地址,支持填寫多個(gè)地址,做1對(duì)n的轉(zhuǎn)推。格式舉例 "127.0.0.1:19351"
    ]
  },
  "relay_pull": {
    "enable": false, //. 是否開啟回源拉流功能,開啟后,當(dāng)自身接收到拉流請(qǐng)求,而流不存在時(shí),會(huì)從其他服務(wù)器拉取這個(gè)流到本地
    "addr": ""       //. 回源拉流的地址。格式舉例 "127.0.0.1:19351"
  },
  "http_api": {
    "enable": true, //. 是否開啟HTTP API接口
    "addr": ":8083" //. 監(jiān)聽地址
  },
  "server_id": "1", //. 當(dāng)前l(fā)alserver唯一ID。多個(gè)lalserver HTTP Notify同一個(gè)地址時(shí),可通過該ID區(qū)分
  "http_notify": {
    "enable": true,                                              //. 是否開啟HTTP Notify事件回調(diào)
    "update_interval_sec": 5,                                    //. update事件回調(diào)間隔,單位毫秒
    "on_server_start": "http://127.0.0.1:10101/on_server_start", //. 各事件HTTP Notify事件回調(diào)地址
    "on_update": "http://127.0.0.1:10101/on_update",
    "on_pub_start": "http://127.0.0.1:10101/on_pub_start",
    "on_pub_stop": "http://127.0.0.1:10101/on_pub_stop",
    "on_sub_start": "http://127.0.0.1:10101/on_sub_start",
    "on_sub_stop": "http://127.0.0.1:10101/on_sub_stop",
    "on_rtmp_connect": "http://127.0.0.1:10101/on_rtmp_connect"
  },
  "simple_auth": {                    // 鑒權(quán)文檔見: https://pengrl.com/lal/#/auth
    "key": "q191201771",              // 私有key,計(jì)算md5鑒權(quán)參數(shù)時(shí)使用
    "dangerous_lal_secret": "pengrl", // 后門鑒權(quán)參數(shù),所有的流可通過該參數(shù)值鑒權(quán)
    "pub_rtmp_enable": false,         // rtmp推流是否開啟鑒權(quán),true為開啟鑒權(quán),false為不開啟鑒權(quán)
    "sub_rtmp_enable": false,         // rtmp拉流是否開啟鑒權(quán)
    "sub_httpflv_enable": false,      // httpflv拉流是否開啟鑒權(quán)
    "sub_httpts_enable": false,       // httpts拉流是否開啟鑒權(quán)
    "pub_rtsp_enable": false,         // rtsp推流是否開啟鑒權(quán)
    "sub_rtsp_enable": false,         // rtsp拉流是否開啟鑒權(quán)
    "hls_m3u8_enable": true           // m3u8拉流是否開啟鑒權(quán)
  },
  "pprof": {
    "enable": true, //. 是否開啟Go pprof web服務(wù)的監(jiān)聽
    "addr": ":8084" //. Go pprof web地址
  },
  "log": {
    "level": 1,                         //. 日志級(jí)別,0 trace, 1 debug, 2 info, 3 warn, 4 error, 5 fatal
    "filename": "./logs/lalserver.log", //. 日志輸出文件
    "is_to_stdout": true,               //. 是否打印至標(biāo)志控制臺(tái)輸出
    "is_rotate_daily": true,            //. 日志按天翻滾
    "short_file_flag": true,            //. 日志末尾是否攜帶源碼文件名以及行號(hào)的信息
    "assert_behavior": 1                //. 日志斷言的行為,1 只打印錯(cuò)誤日志 2 打印并退出程序 3 打印并panic
  },
  "debug": {
    "log_group_interval_sec": 30,          // 打印group調(diào)試日志的間隔時(shí)間,單位秒。如果為0,則不打印
    "log_group_max_group_num": 10,         // 最多打印多少個(gè)group
    "log_group_max_sub_num_per_group": 10  // 每個(gè)group最多打印多少個(gè)sub session
  }
}

lal github地址: https://github.com/q191201771/lal

六. Demo 簡(jiǎn)介

lal項(xiàng)目中,除了/app/lalserver這個(gè)比較核心的服務(wù)之外,在/app/demo目錄下還額外提供了一些小應(yīng)用,功能簡(jiǎn)介:

demo 說明
pushrtmp RTMP推流客戶端;壓力測(cè)試工具
pullrtmp RTMP拉流客戶端;壓力測(cè)試工具
pullrtmp2pushrtmp 從遠(yuǎn)端服務(wù)器拉取RTMP流,并使用RTMP轉(zhuǎn)推出去,支持1對(duì)n轉(zhuǎn)推
pullrtmp2pushrtsp 從遠(yuǎn)端服務(wù)器拉取RTMP流,并使用RTSP轉(zhuǎn)推出去
pullrtmp2hls 從遠(yuǎn)端服務(wù)器拉取RTMP流,存儲(chǔ)為本地m3u8+ts文件
pullhttpflv HTTP-FLV拉流客戶端
pullrtsp RTSP拉流客戶端
pullrtsp2pushrtsp 從遠(yuǎn)端服務(wù)器拉取RTSP流,并使用RTSP轉(zhuǎn)推出去
pullrtsp2pushrtmp 從遠(yuǎn)端服務(wù)器拉取RTSP流,并使用RTMP轉(zhuǎn)推出去
benchrtmpconnect 對(duì)rtmp做并發(fā)建連壓力測(cè)試
calcrtmpdelay 測(cè)試rtmp服務(wù)器收發(fā)數(shù)據(jù)的延時(shí)
analyseflv 從遠(yuǎn)端服務(wù)器拉取HTTP-FLV流,并進(jìn)行分析
dispatch 簡(jiǎn)單演示如何實(shí)現(xiàn)一個(gè)簡(jiǎn)單的調(diào)度服務(wù),使得多個(gè)lalserver節(jié)點(diǎn)可以組成一個(gè)集群
flvfile2es 將本地FLV文件分離成H264/AVC和AAC的ES流文件
modflvfile 修改flv文件的一些信息(比如某些tag的時(shí)間戳)后另存文件

(更具體的功能參加各源碼文件的頭部說明)

七. 聯(lián)系作者

  • 郵箱:191201771@qq.com
  • 微信: q191201771
  • QQ: 191201771
  • 微信群: 加我微信好友后,告訴我拉你進(jìn)群
  • QQ群: 1090510973
  • lal github地址: https://github.com/q191201771/lal
  • lal官方文檔: https://pengrl.com/lal

歡迎任何技術(shù)和非技術(shù)的交流。文章來源地址http://www.zghlxwxcb.cn/news/detail-415332.html

到了這里,關(guān)于Golang 流媒體音視頻網(wǎng)絡(luò)傳輸開源項(xiàng)目-LAL的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【配置環(huán)境】安裝Ffmpeg音視頻編解碼工具和搭建EasyDarwin開源流媒體服務(wù)器

    【配置環(huán)境】安裝Ffmpeg音視頻編解碼工具和搭建EasyDarwin開源流媒體服務(wù)器

    目錄 一,安裝Ffmpeg音視頻編解碼工具 1,簡(jiǎn)介 2,開發(fā)文檔 3,安裝部署 二,搭建EasyDarwin開源流媒體服務(wù)器 1,簡(jiǎn)介 2,主要功能特點(diǎn) 3,安裝部署 4,效果圖 三,簡(jiǎn)單測(cè)試 Ffmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計(jì)算機(jī)程序。采用LGPL或GPL許

    2024年02月07日
    瀏覽(122)
  • 用Qt開發(fā)的ffmpeg流媒體播放器,支持截圖、錄像,支持音視頻播放,支持本地文件播放、網(wǎng)絡(luò)流播放

    用Qt開發(fā)的ffmpeg流媒體播放器,支持截圖、錄像,支持音視頻播放,支持本地文件播放、網(wǎng)絡(luò)流播放

    本工程qt用的版本是5.8-32位,ffmpeg用的版本是較新的5.1版本。它支持TCP或UDP方式拉取實(shí)時(shí)流,實(shí)時(shí)流我采用的是監(jiān)控?cái)z像頭的RTSP流。音頻播放采用的是QAudioOutput,視頻經(jīng)ffmpeg解碼并由YUV轉(zhuǎn)RGB后是在QOpenGLWidget下進(jìn)行渲染顯示。本工程的代碼有注釋,可以通過本博客查看代碼或者

    2024年02月03日
    瀏覽(116)
  • JavaCV音視頻開發(fā)寶典:使用javacv讀取GB28181、??荡笕A平臺(tái)和網(wǎng)絡(luò)攝像頭sdk回調(diào)視頻碼流并轉(zhuǎn)碼推流rtmp流媒體服務(wù)

    JavaCV音視頻開發(fā)寶典:使用javacv讀取GB28181、海康大華平臺(tái)和網(wǎng)絡(luò)攝像頭sdk回調(diào)視頻碼流并轉(zhuǎn)碼推流rtmp流媒體服務(wù)

    《JavaCV音視頻開發(fā)寶典》專欄目錄導(dǎo)航 《JavaCV音視頻開發(fā)寶典》專欄介紹和目錄 本篇文章用于解決javacv接入h264/hevc裸流或者接入ps/ts流等字節(jié)流的非流媒體協(xié)議視頻源接入并推流到rtmp流媒體服務(wù)。 本篇文章適用于gb28181/??荡笕A網(wǎng)絡(luò)攝像機(jī)設(shè)備sdk對(duì)接以及??荡笕A等視頻平

    2023年04月09日
    瀏覽(36)
  • 探索:區(qū)塊鏈視頻流媒體平臺(tái)

    探索:區(qū)塊鏈視頻流媒體平臺(tái)

    如今,幾乎所有人都在關(guān)注視頻流媒體, 疫情加速了全球流媒體平臺(tái)的發(fā)展。 Netflix、Disney+和HBO Max等熱門視頻流媒體平臺(tái)受益于該行業(yè)的快速增長(zhǎng)。但也有很多失敗的嘗試,包括Quibi和CNN+。 歸根結(jié)底,其實(shí)是有兩種類型的視頻流平臺(tái):基于廣告的和基于訂閱的。基于廣告平

    2024年02月16日
    瀏覽(19)
  • [golang 流媒體在線直播系統(tǒng)] 1.直播的簡(jiǎn)單介紹以及借助騰訊云直播實(shí)現(xiàn)在線直播

    直播,應(yīng)該不陌生,有電視直播、網(wǎng)絡(luò)主播、游戲直播、體育直播、在線教育直播等等,那么要實(shí)現(xiàn)在線直播的話就 必須要有 “ 流媒體在線直播服務(wù)器 ”. “流媒體在線直播服務(wù)器 ”不僅可以 實(shí)現(xiàn)游戲、賽事、電商、媒體、教育等行業(yè)的直播, 還可以實(shí)現(xiàn) 農(nóng)場(chǎng) 監(jiān)控直播 、

    2024年02月10日
    瀏覽(19)
  • 網(wǎng)絡(luò)視頻監(jiān)控和流媒體技術(shù)-基礎(chǔ)知識(shí)整理

    ????????經(jīng)常有人問我網(wǎng)絡(luò)視頻監(jiān)控上的一些基本概念,以及流媒體技術(shù)相關(guān)的一些概念和基礎(chǔ)知識(shí),這里整理一下,與大家分享?,F(xiàn)在先整理這么多,可能還有不少?zèng)]有,大家可以提出意見,我再加進(jìn)去。 1)OSI?參考模型的層次是什么? 有?7?個(gè)?OSI?層:物理層,數(shù)據(jù)

    2024年02月02日
    瀏覽(35)
  • 流媒體服務(wù)器與視頻服務(wù)器有什么區(qū)別?

    流媒體服務(wù)器與視頻服務(wù)器有什么區(qū)別? 流媒體服務(wù)器用在遠(yuǎn)程教育,視頻點(diǎn)播、網(wǎng)絡(luò)電臺(tái)、網(wǎng)絡(luò)視頻等方面。 直播過程中就需要使用流媒體服務(wù)器,一個(gè)完整的直播過程,包括采集、處理、編碼、封包、推流、傳輸、轉(zhuǎn)碼、分發(fā)、解碼、播放等過程,流媒體服務(wù)器主要負(fù)

    2024年02月11日
    瀏覽(26)
  • Docker搭建Plex流媒體服務(wù)并播放自己本地視頻

    Docker搭建Plex流媒體服務(wù)并播放自己本地視頻

    安裝Docker 創(chuàng)建存儲(chǔ)配置文件的目錄 創(chuàng)建Plex容器 配置Plex 設(shè)置媒體庫(kù) 訪問Plex Plex是一個(gè)流媒體服務(wù)器,可以輕松地將你的媒體文件庫(kù)(如電影、電視節(jié)目和音樂)通過網(wǎng)絡(luò)流式傳輸?shù)礁鞣N設(shè)備上。 Plex 是一套媒體播放器及媒體服務(wù)器軟件,提供了一整套完整的解決方案(Se

    2024年02月04日
    瀏覽(33)
  • Qt編寫視頻監(jiān)控系統(tǒng)78-視頻推流到流媒體服務(wù)器

    Qt編寫視頻監(jiān)控系統(tǒng)78-視頻推流到流媒體服務(wù)器

    視頻推流作為獨(dú)立的模塊,目前并沒有集成到視頻監(jiān)控系統(tǒng)中,目前是可以搭配監(jiān)控系統(tǒng)一起使用,一般是將添加好的攝像頭通道視頻流地址打開后,讀取視頻流重新推到流媒體服務(wù)器,然后第三方可以從流媒體服務(wù)器拉取視頻流地址,相當(dāng)于訂閱分發(fā),可以多路,按照需要

    2024年02月08日
    瀏覽(30)
  • 網(wǎng)絡(luò)攝像頭-流媒體服務(wù)器-視頻流客戶端

    當(dāng)涉及交通事件檢測(cè)算法和攝像頭視頻數(shù)據(jù)處理時(shí),涉及的代碼案例可能會(huì)非常復(fù)雜,因?yàn)檫@涉及到多個(gè)組件和技術(shù)。以下是一個(gè)簡(jiǎn)單的Python代碼示例,演示如何使用OpenCV庫(kù)捕獲攝像頭視頻流并進(jìn)行實(shí)時(shí)車輛檢測(cè),這是一個(gè)常見的交通事件檢測(cè)任務(wù)。請(qǐng)注意,這只是一個(gè)入門

    2024年02月09日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包