国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
實時監(jiān)控、直播流、流媒體、視頻網(wǎng)站開發(fā)方案設(shè)計簡要

     歡迎大家積極開心的加入討論群

    群號:371249677 (點擊這里進(jìn)群)

    一、本地推送端

    1、本地:采用javaCV(安卓和java平臺推薦javaCV)、ffmpeg、openCV或者jmf可以很方便的獲取到本地攝像頭流媒體

    javaCV系列文章:

    javacv開發(fā)詳解之1:調(diào)用本機(jī)攝像頭視頻

    javaCV開發(fā)詳解之2:推流器實現(xiàn),推本地攝像頭視頻到流媒體服務(wù)器以及攝像頭錄制視頻功能實現(xiàn)(基于javaCV-FFMPEG、javaCV-openCV)

    javaCV開發(fā)詳解之3:收流器實現(xiàn),錄制流媒體服務(wù)器的rtsp/rtmp視頻文件(基于javaCV-FFMPEG)

    javaCV開發(fā)詳解之4:轉(zhuǎn)流器實現(xiàn)(也可作為本地收流器、推流器,新增添加圖片及文字水印,視頻圖像幀保存),實現(xiàn)rtsp/rtmp/本地文件轉(zhuǎn)發(fā)到rtmp流媒體服務(wù)器(基于javaCV-FFMPEG)

    javaCV開發(fā)詳解之5:錄制音頻(錄制麥克風(fēng))到本地文件/流媒體服務(wù)器(基于javax.sound、javaCV-FFMPEG)

    javaCV開發(fā)詳解之6:本地音頻(話筒設(shè)備)和視頻(攝像頭)抓取、混合并推送(錄制)到服務(wù)器(本地)

    javaCV開發(fā)詳解之7:讓音頻轉(zhuǎn)換更加簡單,實現(xiàn)通用音頻編碼格式轉(zhuǎn)換、重采樣等音頻參數(shù)的轉(zhuǎn)換功能(以pcm16le編碼的wav轉(zhuǎn)mp3為例)

    補(bǔ)充篇:

    音視頻編解碼問題:javaCV如何快速進(jìn)行音頻預(yù)處理和解復(fù)用編解碼(基于javaCV-FFMPEG)

    音視頻編解碼問題:16/24/32位位音頻byte[]轉(zhuǎn)換為小端序short[],int[],以byte[]轉(zhuǎn)short[]為例

    實現(xiàn)給圖片增加圖片水印或者文字水印(也支持視頻圖像幀添加水?。?/a>


    2、監(jiān)控(第三方攝像頭):通過設(shè)備sdk或者rtsp直播流獲取流媒體源

    二、轉(zhuǎn)流端

    直播:通過ffmpeg(推薦),live555將接收rtsp或者字節(jié)碼流并轉(zhuǎn)為flv格式發(fā)布到rtmp流媒體服務(wù)器(流媒體服務(wù)器必須先建好)
    hls原理同上
    注意:rtmp只支持flv格式封裝的視頻流
    ffmpeg服務(wù)實現(xiàn)方式實例請參考:

    三、流媒體服務(wù)器

    目前主流的流媒體服務(wù)器有:fms,nginx-rtmp,red5(java),flazr
    本地視頻:直接通過流媒體服務(wù)器解碼并推送視頻流
    直播流:通過開啟udp/rtp/rtsp/rtmp/hls等等流媒體服務(wù),從ffmpeg/live555獲取推送過來的實時視頻流并發(fā)布到rtmp/hls直播流并推送(可以邊直播邊保存)
    rtmp和hls這兩種是web領(lǐng)域主流的流媒體協(xié)議。使用rtp或rtsp協(xié)議的一般都是監(jiān)控。
    流媒體協(xié)議選擇:rtmp基于tcp協(xié)議,rtmp能夠保持3秒左右延遲。hls是基于http協(xié)議,所以實時性特別差,想要用hls保持實時性的就別想了,hls延遲基本超過10秒。
    實時性要求特高的,建議使用基于udp協(xié)議的一些流媒體協(xié)議。
    基于tcp和udp兩種流媒體協(xié)議區(qū)別就是tcp會強(qiáng)制同步,udp是數(shù)據(jù)發(fā)出去就不管了。
    所以最終的方案就是:強(qiáng)同步但是實時性要求不高用基于tcp協(xié)議的,強(qiáng)實時性弱同步就udp。
    補(bǔ)充:nginx-rtmp流媒體服務(wù)器搭建實例:http://blog.csdn.net/eguid_1/article/details/51749830

    nginx-rtmp配置指令詳細(xì)含義和用法:http://blog.csdn.net/eguid_1/article/details/51821297

    四、播放端(收流端)

    直播:通過flex(flash)播放器或者第三方播放器(videoJS,ckplayer,VideoLAN 等...)調(diào)用流媒體服務(wù)器的流媒體源解碼并播放,如果不需要兼容低版本IE,可以采用HTML5的webSocket播放器,videoJS是flash/html5雙核播放器。

    視頻:通過html自帶播放器、flex(flash)播放器或者第三方播放器(videoJS,ckplayer,VideoLAN 等...)進(jìn)行播放

    一般使用videoLAN播放器作為測試工具,用于測試音視頻流發(fā)布狀況
    補(bǔ)充:
    1、如果是采用nginx服務(wù)器,它提供的rtmp模塊可以發(fā)布rtmp直播、錄播及hls,nginx可以把ffmpeg整合進(jìn)去方流媒體后期處理(加水印等)。
    2、java是可以調(diào)用ffmpeg的,通過jni的方式有兩種方法:
    2.1、javaCV1.2支持通過javacpp調(diào)用ffmpeg,javaCV目前整合了8種流媒體處理框架,是安卓和javaEE平臺不可或缺的強(qiáng)大流媒體處理利器 
    2.2、javaAV(目前最新0.7,release最新0.5)提供了對java調(diào)用ffmpeg的支持,當(dāng)前已停止更新

    補(bǔ)充:為什么沒有基于原生java(或者說自帶GC的語言)的流媒體框架,原因來自GC,也就是java引以為豪的自動垃圾回收機(jī)制(真的是成也蕭何,敗也蕭何)
    為什么呢?
    大家知道,直播(顧名思義,實時視頻轉(zhuǎn)發(fā)),這種實時性項目會產(chǎn)生大量的對象,這樣會導(dǎo)致兩種情況:
    1、產(chǎn)生大量對象后占據(jù)的內(nèi)存資源得不到及時釋放,于是虛擬機(jī)內(nèi)存溢出。
    2、產(chǎn)生大量對象導(dǎo)致GC滿負(fù)荷運行進(jìn)行資源回收,會嚴(yán)重占用系統(tǒng)資源,導(dǎo)致系統(tǒng)運行遲滯,影響系統(tǒng)運行性能和實時性等等。
    本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
    打開APP,閱讀全文并永久保存 查看更多類似文章
    猜你喜歡
    類似文章
    RTMP/RTP/RTSP/RTCP的區(qū)別
    ffmpeg處理RTMP流媒體的命令大全
    StreamingGuide – FFmpeg
    nginx+nginx-rtmp-module+ffmpeg搭建流媒體服務(wù)器
    Qt編寫網(wǎng)絡(luò)攝像頭推流(4路1080P只占用0.2%CPU/極低延時)
    秒懂流媒體協(xié)議 RTMP 與 RTSP
    更多類似文章 >>
    生活服務(wù)
    分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
    綁定賬號成功
    后續(xù)可登錄賬號暢享VIP特權(quán)!
    如果VIP功能使用有故障,
    可點擊這里聯(lián)系客服!

    聯(lián)系客服