一、前言
采集電腦屏幕桌面并推流一般是用來做共享桌面、遠程協(xié)助、投屏之類的應(yīng)用,最簡單入門的做法可能會采用開個定時器或者線程抓圖,將整個屏幕截圖下來,然后將圖片傳出去,這種方式很簡單但是性能要低不少,一般采用ffmpeg來做桌面推流的居多,畢竟如果不采用代碼直接ffmpeg一行命令即可(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), 最起碼這個還沒開始寫代碼直接就可以體驗起來這個感覺很好。很多開源項目,就因為無法保證直接編譯就能跑起來,導(dǎo)致熄火,都跑不起來何來的看下去的興趣,尤其是初學(xué)者而言更是如此。
采集大致步驟:文章來源:http://www.zghlxwxcb.cn/news/detail-438688.html
- 查找格式 av_find_input_format,參數(shù) gdigrab/x11grab/avfoundation
- 打開桌面 avformat_open_input,參數(shù) desktop
- 查找視頻流 av_find_best_stream
- 查找解碼器 avcodec_find_decoder
- 打開解碼器 avcodec_open2
- 循環(huán)讀取 av_read_frame
- 解碼視頻 avcodec_send_packet/avcodec_receive_frame
- 關(guān)閉釋放 avcodec_free_context/avformat_close_input
推流大致步驟:文章來源地址http://www.zghlxwxcb.cn/news/detail-438688.html
- 創(chuàng)建輸出 avformat_alloc_output_context2
- 創(chuàng)建
到了這里,關(guān)于Qt音視頻開發(fā)43-采集屏幕桌面并推流(支持分辨率/矩形區(qū)域/幀率等設(shè)置/實時性極高)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!