javaCV系列文章:
javaCV開發詳解之2:推流器實現,推本地攝像頭視頻到流媒體服務器以及攝像頭錄制視頻功能實現(基於javaCV-FFMPEG、javaCV-openCV)
javaCV開發詳解之3:收流器實現,錄制流媒體服務器的rtsp/rtmp視頻文件(基於javaCV-FFMPEG)
javaCV開發詳解之4:轉流器實現(也可作為本地收流器、推流器,新增添加圖片及文字水印,視頻圖像幀保存),實現rtsp/rtmp/本地文件轉發到rtmp流媒體服務器(基於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視頻文件