Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
論是個人或企業(yè),甚至是政府部門,能夠在瀏覽器中直接打開瀏覽Office等格式文檔,也是一個普遍的需求和應(yīng)用場景。對于企業(yè)來說,在線文件文檔預(yù)覽在OA辦公系統(tǒng)、在線學(xué)習(xí)系統(tǒng)及招聘網(wǎng)站等廣泛的應(yīng)用。對于我來說,曾經(jīng)先后用過微軟的office web apps和office online server及永中office,這些商業(yè)產(chǎn)品各有優(yōu)缺點,選擇使用哪一款產(chǎn)品需要根據(jù)具體的業(yè)務(wù)需求和場景去選型一個最合適的。本文介紹一款國產(chǎn)開源免費的在線文件文檔預(yù)覽的kkFileView,對標國內(nèi)?付費產(chǎn)品有永中office、office365、idocv等,總體來說開源產(chǎn)品會比商業(yè)產(chǎn)品功能要弱一些,但最大的優(yōu)勢開源免費,可以滿足絕大多數(shù)的應(yīng)用場景。
那什么是kkFileView呢?kkFileView為文件文檔在線預(yù)覽解決方案,該項目使用流行的spring boot搭建,易上手和部署,基本支持主流辦公文檔的在線預(yù)覽,如doc、docx、xls、xlsx、ppt、pptx、pdf、txt、zip、rar、圖片、視頻、音頻等。目前kkFileView在世界上最大的代碼托管平臺github的star為6.4k,說明還是很熱門流行的。
kkFileView的特性如下:
1.支持word excel ppt,pdf等辦公文檔
2.支持txt,java,php,py,md,js,css等所有純文本
3.支持zip,rar,jar,tar,gzip等壓縮包
4.支持jpg,jpeg,png,gif等圖片預(yù)覽(翻轉(zhuǎn),縮放,鏡像)
5.支持mp3,mp4,flv等多媒體文件預(yù)覽
6.使用spring boot開發(fā),預(yù)覽服務(wù)搭建部署非常簡便
7.rest接口提供服務(wù),跨平臺特性(java,php,python,go,php,....)都支持,應(yīng)用接入簡單 方便
8.支持普通http/https文件下載url、http/https文件下載流url、ftp下載url等多種預(yù)覽源
9.提供zip,tar.gz發(fā)行包,提供一鍵啟動腳本和豐富的配置項,方便部署使用
10.提供Docker鏡像發(fā)行包,方便在容器環(huán)境部署
11.抽象預(yù)覽服務(wù)接口,方便二次開發(fā),非常方便添加其他類型文件預(yù)覽支持
12.最最重要Apache協(xié)議開源,代碼pull下來想干嘛就干嘛
kkFileView于2008年1月2日發(fā)布了首個V0.0.2發(fā)行版本,并于2021年7月6日發(fā)布了V4.0.0版本。對于Office文件文檔的在線預(yù)覽,kkFileView的底層是基于開源openoffice或libreoffice上構(gòu)建的。先給大家簡單介紹一下kkFileView V4.0.0的主要功能改進,基于LibreOffice7.1底層,兼容性更強,預(yù)覽效果更好,具體如下:
1.底層集成OpenOffice替換為LibreOffice,Office文件兼容性增強,預(yù)覽效果提升
2.修復(fù)壓縮文件目錄的穿越漏洞
3.修復(fù)PPT預(yù)覽使用PDF模式無效
4.修復(fù)PPT圖片預(yù)覽模式前端顯示異常
5.新增功能:首頁文件上傳功能可通過配置實時開啟或禁用
6.優(yōu)化增加Office進程關(guān)閉日志
7.優(yōu)化Windows環(huán)境下,查找Office組件邏輯(內(nèi)置的LibreOffice優(yōu)先)
8.優(yōu)化啟動Office進程改同步執(zhí)行
kkFileView官網(wǎng)地址:https://kkfileview.keking.cn/zh-cn/index.html,如下圖:
kkFileView官網(wǎng)
kkFileView在線預(yù)覽測試地址:https://file.keking.cn/index,如下圖:
kkFileView在線演示
kkFileView安裝包下載地址:https://github.com/kekingcn/kkFileView/releases,需要特別注意的一點需要事先安裝JDK 1.8,否則無法運行,如下圖:
kkFileView安裝包下載地址
下面詳細來介紹一下以我本機電腦windows 7安裝kkFileView V4.0.0為例,下載并解壓kkFileView-4.0.0.zip,如下圖:
下載kkFileView-4.0.0.zip
解壓kkFileView-4.0.0.zip
雙擊這個文件運行或者通過CMD命令窗口運行
以管理員身份運行CMD命令窗口,并輸入startup.bat運行
啟動運行成功后,可以進行本地測試在線文件預(yù)覽:http://127.0.0.1:8012/index,如下圖:
本地測試在線文件預(yù)覽
下面分別測試了word、excel、powerpoint等三類格式office文檔,對于office文檔需要轉(zhuǎn)換成JPG圖片或PDF文件,用戶實際在線預(yù)覽并非原始文件,而是轉(zhuǎn)換后的JPG圖片或PDF文件,簡單做了一下測試對于容量較大的Word文檔(50M左右)轉(zhuǎn)換JPG失敗,同時對于PPT或PPTX文檔無法打開轉(zhuǎn)換后PDF,其他都正常。不過目前官方也在不斷更新發(fā)行版,對于目前的一些BUG也進行修復(fù),對于最新4.1.X發(fā)行版本,我還沒測試驗證,V4.0.0版本具體體效果如下:
上傳一個Word文件
上傳完,點擊預(yù)覽即可
默認以JPG圖片預(yù)覽,可以點擊PDF切換PDF預(yù)覽
以PDF方式預(yù)覽
PDF方式可以選擇文字對象
上傳一個EXCEL文件
上傳完,點擊預(yù)覽即可
以HTML方式預(yù)覽
切換頁簽
上傳一個PowerPoint文件
上傳完,點擊預(yù)覽即可
默認以JPG圖片預(yù)覽,可以點擊PPT切換失敗
切換PPT預(yù)覽失敗
轉(zhuǎn)換后的文件清單
轉(zhuǎn)換后JPG圖片
轉(zhuǎn)換后的PDF
這樣就可以使用kkFileView了,是一款可替代的商業(yè)收費?在線文件文檔預(yù)覽的開源免費套件。
如果您喜歡這篇文章,請關(guān)注我,收藏、點贊、評論和轉(zhuǎn)發(fā),會讓更多需要幫助的人看到這篇文章。舉手之勞,善莫大焉!
文經(jīng)過少數(shù)派授權(quán)轉(zhuǎn)載
很對人對于軟件都有一種「收藏」的習(xí)慣,覺得這可能是一個工具就把它購買或下載放在那里,新鮮了兩天就擱置在那兒,終究成了櫥柜上的一個布滿灰塵的擺設(shè)。其實很多時候我們可以換個思路,如果這個工具是在網(wǎng)頁上,用的時候再打開,不用的時候就關(guān)閉,既不占用你電腦空間,也不受限于設(shè)備的系統(tǒng),或許還能幫你省下不少的錢,今天少數(shù)派就為大家介紹一些實用而且有趣的網(wǎng)頁工具。
少數(shù)派之前也介紹過不少實用的網(wǎng)站,長按二維碼關(guān)注少數(shù)派(ID:sspaime),在后臺回復(fù)「Windows」GET 到更多。
▍檢測網(wǎng)速:Internet Speed Test
一個良好的網(wǎng)速大概會有 80% 的概率提高我們的生產(chǎn)力和執(zhí)行力,糟糕的網(wǎng)速大概會有 99% 的概率影響我們的情緒。所以經(jīng)常會有一些朋友頻繁的測量網(wǎng)速,有的選擇下載一款軟件進行測量,有的隨便找一個網(wǎng)站就將就了。而 FAST 和 SPEEDTEST 是兩家「優(yōu)雅」的測速站點,只點擊一下 ? 按鈕再稍等片刻,你的網(wǎng)速測試結(jié)果就會呈現(xiàn)在你的面前,無污染、零廣告、完全免費。
關(guān)注少數(shù)派,在后臺回復(fù)「9」即可獲得鏈接。
介
背景
由于項目需要,需要使用攝像頭預(yù)覽功能,設(shè)備型號為海康威視。目前已存在的基于 FFmpeg 的方案延遲都太高,所以項目最終選擇基于此方案。
方案
方案選用為基于 WebRTC 的視頻即時通訊,它原生支持對 RTP 協(xié)議的解碼,所以能夠做到延遲很低,大概0.2-0.4秒左右,其他方案都有大于1秒的延遲。
WebRTC對瀏覽器有要求,可以在下面的地址中查看支持的瀏覽器。
https://caniuse.com/rtcpeerconnection
?
以下介紹內(nèi)容來自百度百科
WebRTC,名稱源自網(wǎng)頁即時通信(英語:Web Real-Time Communication)的縮寫,是一個支持網(wǎng)頁瀏覽器進行實時語音對話或視頻對話的API。它于2011年6月1日開源并在Google、Mozilla、Opera支持下被納入萬維網(wǎng)聯(lián)盟的W3C推薦標準。
WebRTC實現(xiàn)了基于網(wǎng)頁的視頻會議,標準是WHATWG 協(xié)議,目的是通過瀏覽器提供簡單的javascript就可以達到實時通訊(Real-Time Communications (RTC))能力。
WebRTC 的實現(xiàn)方案在 Github 有非常多,經(jīng)過一序列對比和測試,最終選擇的是使用 webrtc-streamer 這個項目,其容易使用并且較為穩(wěn)定。
webrtc-streamer 不僅支持對 RTSP 流的捕獲而且還支持對V4L2以及屏幕窗口快照的捕獲。
webrtc-streamer 內(nèi)置了一個小型的 HTTP server 來對 webrtc 需要的相關(guān)接口提供支持。
下面具體開始如何設(shè)置:
由于 webrtc 的核心庫還不支持 h265, 所以需要設(shè)置為 h264 編碼。
登錄到海康威視攝像頭的后臺配置中心,在 “視音頻” 菜單下進行設(shè)置,然后保存。
?
在github 發(fā)布頁面根據(jù)需要的平臺選擇相應(yīng)的包下載
https://github.com/mpromonet/webrtc-streamer/releases
下載完成后可以使用以下命令進行測試:
./webrtc-streamer rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov
打開 localhost:8000 已訪問頁面
相關(guān)學(xué)習(xí)資料推薦,點擊下方鏈接免費報名,先碼住不迷路~】
音視頻免費學(xué)習(xí)地址:FFmpeg/WebRTC/RTMP/NDK/Android音視頻流媒體高級開發(fā)
【免費分享】音視頻學(xué)習(xí)資料包、大廠面試題、技術(shù)視頻和學(xué)習(xí)路線圖,資料包括(C/C++,Linux,F(xiàn)Fmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以點擊788280672加群免費領(lǐng)取~
如果沒有問題,就可以使用本地的設(shè)備進行測試了,海康威視視頻流默認地址為:
rtsp://賬號:密碼@IP地址:554/Streaming/Channels/101
替換相應(yīng)的信息以進行測試。
如果是在 windows 下,webrtc-streamer 也會抓取到窗口和屏幕的快照頁面,可以使用 -q 參數(shù)進行過濾,其支持正則表達式。這個參數(shù)沒有在 help 列表里面列出來是我查看源碼發(fā)現(xiàn)的。
./webrtc-streamer rtsp://賬號:密碼@IP地址:554/Streaming/Channels/101 -q (?=rtsp).*
你可以在下載的發(fā)布包中的html文件夾中找到 index.html 來查看示例代碼,下面列出來核心代碼:
<html>
<head>
<script src="libs/adapter.min.js" ></script>
<script src="webrtcstreamer.js" ></script>
<script>
var webRtcServer = null;
window.onload = function() {
webRtcServer = new WebRtcStreamer("video",location.protocol+"//"+window.location.hostname+":8000");
webRtcServer.connect("rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov");
}
window.onbeforeunload = function() { webRtcServer.disconnect(); }
</script>
</head>
<body>
<video id="video" />
</body>
</html>
使用 WebComponent 集成
<html>
<head>
<script type="module" src="webrtc-streamer-element.js"></script>
</head>
<body>
<webrtc-streamer url="rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov"></webrtc-streamer>
</body>
</html>
主要還是對 webrtc 的熟悉,你可以在 https://webrtc.org/getting-started/overview 找到相關(guān)指南。
比如什么是 TURN server,什么是peer connections 都可以在上面的指南中找到。
原文 基于 WebRTC 的 RTSP 視頻實時預(yù)覽 - 簡書
?
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。