一、功能特點(diǎn)
1.1 文件推流
- 指定網(wǎng)卡和監(jiān)聽(tīng)端口,接收網(wǎng)絡(luò)請(qǐng)求推送音視頻等各種文件。
- 實(shí)時(shí)統(tǒng)計(jì)顯示每個(gè)文件對(duì)應(yīng)的訪問(wèn)數(shù)量、總訪問(wèn)數(shù)量、不同IP地址訪問(wèn)數(shù)量。
- 可指定多種模式,0-直接播放、1-下載播放。
- 實(shí)時(shí)打印顯示各種收發(fā)請(qǐng)求和應(yīng)答數(shù)據(jù)。
- 每個(gè)文件對(duì)應(yīng)MD5加密的唯一標(biāo)識(shí)符,用于請(qǐng)求地址后綴區(qū)分訪問(wèn)哪個(gè)文件。
- 支持各種瀏覽器(谷歌chromium/微軟edge/火狐firefox等)、各種播放器(vlc/mpv/ffplay/potplayer/mpchc等)打開(kāi)請(qǐng)求。
- 播放過(guò)程中可以任意切換播放進(jìn)度,支持倍速播放。
- 需要推流的文件名稱(chēng)歷史記錄自動(dòng)存儲(chǔ)和打開(kāi)加載應(yīng)用。
- 切換文件獲取訪問(wèn)地址,自動(dòng)拷貝地址到剪切板方便直接粘貼測(cè)試使用。
- 極低CPU占用,128路1080P同時(shí)推流不到1%CPU占用,異步發(fā)送數(shù)據(jù)機(jī)制。
- 純QTcpSocket通信,不依賴(lài)流媒體服務(wù)程序,核心源碼不到500行,注釋詳細(xì),功能完整。
- 支持Qt4/Qt5/Qt6任意版本,支持任意系統(tǒng)(windows/linux/macos/android/嵌入式linux等)。
1.2 網(wǎng)絡(luò)推流
- 支持各種本地視頻文件和網(wǎng)絡(luò)視頻文件。
- 支持各種網(wǎng)絡(luò)視頻流,網(wǎng)絡(luò)攝像頭,協(xié)議包括rtsp、rtmp、http。
- 支持將本地?cái)z像頭設(shè)備推流,可指定分辨率和幀率等。
- 支持將本地桌面推流,可指定屏幕區(qū)域和幀率等。
- 自動(dòng)啟動(dòng)流媒體服務(wù)程序,默認(rèn)mediamtx(原rtsp-simple-server),可選用srs、EasyDarwin、LiveQing、ZLMediaKit等。
- 可實(shí)時(shí)切換預(yù)覽視頻文件。
- 推流的清晰度和質(zhì)量可調(diào)。
- 可動(dòng)態(tài)添加文件、目錄、地址。
- 視頻文件自動(dòng)循環(huán)推流,如果視頻源是視頻流,在掉線(xiàn)后會(huì)自動(dòng)重連。
- 網(wǎng)絡(luò)視頻流自動(dòng)重連,重連成功自動(dòng)繼續(xù)推流。
- 網(wǎng)絡(luò)視頻流實(shí)時(shí)性極高,延遲極低,延遲時(shí)間大概在100ms左右。
- 推流后除了用rtmp地址訪問(wèn)以外,還支持直接hls/webrtc訪問(wèn),可以直接瀏覽器打開(kāi)看實(shí)時(shí)畫(huà)面。
- 支持Qt4/Qt5/Qt6任意版本,支持任意系統(tǒng)(windows/linux/macos/android/嵌入式linux等)。
二、使用步驟
2.1 文件推流
- 選擇或者填寫(xiě)要監(jiān)聽(tīng)的網(wǎng)卡IP地址,填寫(xiě)好監(jiān)聽(tīng)端口,建議默認(rèn)即可。
- 單擊添加文件或者目錄,選擇要加入推流的音視頻文件,添加成功以后會(huì)自動(dòng)羅列在表格中。
- 單擊啟動(dòng)服務(wù)按鈕,會(huì)變成停止服務(wù)字樣表示啟動(dòng)服務(wù)成功。
- 從表格中選中一行,會(huì)自動(dòng)將該音視頻文件的播放地址填寫(xiě)到右下角,同時(shí)也會(huì)自動(dòng)拷貝到剪切板。
- 將地址粘貼到瀏覽器地址欄回車(chē)即可查看播放音視頻,可以任意切換播放進(jìn)度。
- 將地址用vlc或者其他播放器打開(kāi)即可查看播放音視頻,可以任意切換播放進(jìn)度。
- 文件推流服務(wù)支持多個(gè)同時(shí)請(qǐng)求,表格中會(huì)顯示每個(gè)文件對(duì)應(yīng)正在請(qǐng)求中的數(shù)量,右下角也有統(tǒng)計(jì)總請(qǐng)求數(shù)量,還有統(tǒng)計(jì)不同IP地址的請(qǐng)求總數(shù)。
- 單擊停止服務(wù)按鈕會(huì)停止所有服務(wù),由于存在緩存的關(guān)系,停止以后緩存中的視頻還可以繼續(xù)播放,過(guò)一段時(shí)間就不能播放。
- 在啟動(dòng)服務(wù)后支持動(dòng)態(tài)添加文件、移除文件、清空文件。
2.2 網(wǎng)絡(luò)推流
- 選擇或者填寫(xiě)推流的前綴地址,建議默認(rèn)即可。
- 單擊添加文件或者目錄,選擇要加入推流的音視頻文件,添加成功以后會(huì)自動(dòng)羅列在表格中。
- 單擊添加地址,可以從下拉框中選擇或者填寫(xiě),下拉選項(xiàng)中是一些格式模板,比如本地?cái)z像頭、本地桌面、電視臺(tái)、網(wǎng)絡(luò)攝像機(jī)等。
- 單擊啟動(dòng)服務(wù)按鈕,會(huì)變成停止服務(wù)字樣表示啟動(dòng)服務(wù)成功。
- 在啟動(dòng)服務(wù)后支持動(dòng)態(tài)添加地址、移除地址、清空地址。如果處于啟動(dòng)服務(wù)中,添加后會(huì)立即推流。
- 從表格中選中一行,會(huì)自動(dòng)將播放地址填寫(xiě)到右下角,同時(shí)也會(huì)自動(dòng)拷貝到剪切板。
- 一次推流可以分多種不同的地址訪問(wèn),右下角總共有三種地址,第一種是rtmp開(kāi)頭的視頻流地址,可以用各種播放器打開(kāi),第二種是hls(m3u8)格式的地址,一般用于網(wǎng)頁(yè)瀏覽器顯示,第三種是webrtc格式的地址,一般用于瀏覽器或者部分支持該格式的播放器。
- 將地址粘貼到瀏覽器地址欄回車(chē)即可查看視頻流,地址也可以用播放器打開(kāi)。
- 單擊停止服務(wù)按鈕會(huì)停止所有服務(wù),在啟動(dòng)服務(wù)后支持動(dòng)態(tài)添加文件、移除文件、清空文件。
三、體驗(yàn)地址
- 體驗(yàn)地址:https://pan.baidu.com/s/1d7TH_GEYl5nOecuNlWJJ7g 提取碼:01jf 名稱(chēng):bin_video_push
- 國(guó)內(nèi)站點(diǎn):https://gitee.com/feiyangqingyun
- 國(guó)際站點(diǎn):https://github.com/feiyangqingyun
- 個(gè)人主頁(yè):https://blog.csdn.net/feiyangqingyun
- 知乎主頁(yè):https://www.zhihu.com/people/feiyangqingyun/
四、各種命令
- rtmp推流 ffmpeg -re -stream_loop -1 -i f:/mp4/10.mp4 -c copy -f flv rtmp://192.168.0.110:6908/stream
- rtsp推流 ffmpeg -re -stream_loop -1 -i f:/mp4/10.mp4 -c copy -f rtsp rtsp://192.168.0.110:6907/stream
- 遠(yuǎn)程推流 ffmpeg -re -stream_loop -1 -i f:/mp4/11.mp4 -c copy -f flv rtmp://47.114.127.78:6908/stream
- 網(wǎng)絡(luò)設(shè)備 ffmpeg -i rtsp://admin:Admin123456@192.168.0.64:554/Streaming/Channels/101 -vcodec copy -acodec copy -f flv rtmp://192.168.0.110:6908/stream
- 實(shí)時(shí)桌面 ffmpeg -f gdigrab -r 30 -i desktop -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f rtsp -g 5 -an rtsp://192.168.0.110:6907/stream
- 本地設(shè)備 ffmpeg -f dshow -i video=“USB Video Device”:audio=“麥克風(fēng) (USB Audio Device)” -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f rtsp rtsp://192.168.0.110:6907/stream
- 播放設(shè)備 ffplay -f dshow video=“USB Video Device”:audio=“麥克風(fēng) (USB Audio Device)”
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-421130.html
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-421130.html
到了這里,關(guān)于Qt編寫(xiě)推流綜合應(yīng)用示例(文件推流/桌面推流/本地?cái)z像頭/網(wǎng)絡(luò)攝像頭/轉(zhuǎn)發(fā)推流/視頻分發(fā))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!