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


 

javaCV系列文章:

javacv開發詳解之1:調用本機攝像頭視頻

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

javaCV開發詳解之3:收流器實現,錄制流媒體服務器的rtsp/rtmp視頻文件(基於javaCV-FFMPEG)

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

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

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

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

補充篇:

音視頻編解碼問題:javaCV如何快速進行音頻預處理和解復用編解碼(基於javaCV-FFMPEG)

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

實現給圖片增加圖片水印或者文字水印(也支持視頻圖像幀添加水印)

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

群號:371249677 (點擊這里進群)

 

 

前言:

上一章簡單的介紹了javacv並且演示了如何獲取本機攝像頭:http://blog.csdn.net/eguid_1/article/details/51659578

本章將在上一章的基礎上,增加視頻推流到流媒體服務器和視頻錄制的功能;

功能:實現邊播放邊錄制/推流,停止預覽即停止錄制/推流

提示:

1、本章代碼從發布至今測試運行正常,如遇到錯誤請自覺檢查環境配置和jar包問題

2、到目前為止大家遇到的問題100%都是jar包問題,那么如果遇到各種異常和報錯,請參照第一條,謝謝

一、開發所依賴的包

javacv.jar,javacpp.jar,ffmpeg.jar,ffmpeg-系統平台.jar,opencv.jar,opencv-系統平台.jar。

其中ffmpeg-系統平台.jar,opencv-系統平台.jar中的系統平台根據開發環境或者測試部署環境自行更改為對應的jar包,比如windows7 64位系統替換為ffmpeg-x86-x64.jar

為什么要這樣做:因為ffmpeg-系統平台.jar中存放的是c/c++本地so/dll庫,而ffmpeg.jar就是使用javacpp封裝的對應本地庫java接口的實現,而javacpp就是基於jni的一個功能性封裝包,方便實現jni,javacv.jar就是對9個視覺庫進行了二次封裝,但是實現的功能有限,所以建議新手先熟悉openCV和ffmpeg這兩個C/C++庫的API后再來看javaCV思路就會很清晰了。

完整閱讀本章:javaCV開發詳解之2:推流器實現,推本地攝像頭視頻到流媒體服務器以及攝像頭錄制視頻功能實現(基於javaCV-FFMPEG、javaCV-openCV)

下一章:

javaCV開發詳解之3:收流器實現,錄制流媒體服務器的rtsp/rtmp視頻文件









 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM