筆記

FFmpeg 實作簡易監視器與錄影

話說公司裡有一個房間是充當資訊機房的作用,雖然放置了一堆設備跟線路,但外觀上就是很單純的一個房間,也沒有監視器。儘管監視器實際上並不是很重要,但由於 DR 的座位,跟機房之間有點距離。所以若能規劃出一個簡易方案,從遠端就能夠檢視機房現場,覺得也不是件壞事。

 

於是便從機房中選了一部作業系統為 RHEL 8.x 的伺服器主機,裝上一支 Microsoft LifeCam HD-3000 網路攝影機。讓該主機除了原本的任務外,再額外擔負起監視機房的工作。至於軟體層的規劃非常單純,DR 的構想是在主機上使用 FFmpeg 擷取視訊鏡頭(/dev/video0),並轉碼成 H.264 串流;然後透過管線輸送給本機的 VLC 播放軟體,再由 VLC 建立一個簡單的 HTTP 服務在 8080 埠上,所編寫的指令寫於此文字檔中。

 

分類: 

Avast Antivirus 的網路掃描行為

一直以來,DR 對防毒軟體的印象都不是太好。即便前陣子曾在某防毒軟體代理商工作過,但也沒有因此改觀(甚至可能還更糟了)。儘管如今對於這項領域已經沒有什麼涉入,但不幸地,偶爾還是會遇到跟防毒軟體有關的事情。

 

某日在登入公司的一部 Linux 主機時,注意到有幾筆 SSH 登入失敗記錄。由於平常這些遠端服務,一般來說只有 DR 在用而已,所以這顯然不正常。進一步查看日誌,這些連線的時間點非上班時間,且似乎背後有一份經過蒐集的清單在那邊試,而不是只有嘗試登入 root 或 admin 等等這些常見的名稱。

 

此外也同步查核了公司內的 Windows Server 主機,則發現其 SMB 服務,在相同的時間點,也有同樣來源的嘗試登入記錄。如此蓄意的行為,當然不能就這樣放過。於是便從 IP 位址循線找到了來源電腦,發現那是一部 Windows 7 SP1 的客戶端電腦。雖然略舊,但一時之間也沒查看出明顯有問題的地方。

 

於是回頭再翻查伺服器日誌,用來源 IP 再搜了一遍。這才意識到其實 httpd 也有被嘗試登入的情形,而且這回線索就很明顯了,因為所留下的 User-Agent 字串,直接就寫著「Avast Antivirus」。

 

分類: 

WireGuard 連接客戶端區域網路

在利用 WireGuard VPN 來存取區域網路的數種應用情境裡,可能最常見的實作,是在區網內架設一部 WireGuard 伺服器(可參考本站的 How-To 文件),供外部客戶端連入,再藉此連接至區網內的其它設備。或者單純地將所有欲透過 WireGuard 連接的設備,都建置為 WireGuard 的客戶端。再連接至共同的 WireGuard 伺服器,以實現彼此之間的通訊。

 

然而倘若欲分享的是某一 WireGuard 客戶端的區域網路,而非 WireGuard 伺服器所在的區域網路。也就是其它客戶端欲透過 WireGuard 伺服器作為中介,來連接至某一客戶端的區網,則設定方式其實也並不複雜。在此情境下,其基本概念,是欲分享區網的客戶端會相同於 WireGuard 伺服器,也會需要具備 NAT 的能力。因此該客戶端主機的網路設定,同樣需要啟用封包轉遞及 IP 偽裝。

 

分類: 

FFmpeg 分切影片指令

最近研究了一下,如何在 Amazon 的 Fire TV 電視棒(Fire TV Stick)上播放本地的媒體檔案。首先可以透過應用程式市集,下載及安裝 VLC 播放軟體。然後使用 USB OTG 線(具備一公一母的 Micro USB 接頭、以及至少一個 USB Type A 母接頭),以便在接上原本電源的同時,也可以再接上一個 USB 隨身碟。

 

不過即如同許多市售的行動產品,Fire TV 僅容許外接儲存裝置使用古早的 FAT32 檔案系統;而 FAT32 一個最顯著的限制,是單一檔案的上限為 4GB。所以倘若影片檔案大於 4GB,就會有無法放入隨身碟的問題。由於 DR 並未打算深入追究,如何讓 Fire TV 支援其它較先進的檔案系統,如 exFAT 等。所以是傾向單純地在配合 4GB 限制的情況下,來滿足播放本地檔案的需求。

 

分類: 

Windows 10 與 NTFS 分割區復原

日前處理公司一部筆電,是出現了「Missing operating system」的訊息,無法順利進入到 Windows 10。使用 Windows 10 安裝媒體啟動後,於命令提示字元用 diskpart 工具查看,則會看到 C: 的檔案系統顯示為 RAW。接著若執行 chkdsk /f c: 做掃描及修復,開頭便會出現以下訊息:

第一個 NTFS 開機磁區無法讀取或已損毀。

改為讀取第二個 NTFS 開機磁區。

 

雖然 chkdsk 仍會完成掃描及修正動作,掃描完成後,測試切換到 C:,列出檔案及資料夾也都能夠顯示出來。然而重開機後狀況依舊,仍是「Missing operating system」。再用 diskpart 看一次,又變回 RAW;chkdsk 再做一次,同樣顯示「第一個 NTFS 開機磁區無法讀取或已損毀」云云。而 chkdsk 無論是 /f 還是 /r,儘管執行完畢後,C: 會能夠開啟,但重開機後就會再打回原形。

 

分類: 

常用應用程式(Windows,2020)

雖然 DR 在家主要用的是 Linux,然而在公司或其它環境裡,使用 Windows 大概是無法避免的。因此,作為先前常用應用程式(Linux,2020)一文的補充,這裡也會描述一下 DR 自己常用的 Windows 應用程式。可以想見,有許多 DR 在 Linux 上使用的跨平台應用程式,同樣也有使用在 Windows 上。不過為了避免冗餘性,本文將聚焦在那些僅在 Windows 上使用的軟體,或者是一些值得一提、但還未曾提到的軟體。

 

分類: 

常用應用程式(Linux,2020)

最近 DR 開始覺得,倘若將平日常用的應用程式記錄下來,待幾年後再回頭來看,或許可以藉此檢視,隨著資訊技術的演進,使用習慣是否會出現改變;同時也可以觀察有哪些應用程式,是通過了年代的考驗而歷久不衰。不過若是鉅細靡遺列出每一款有使用的應用程式,則恐怕過於瑣碎。因此本文僅會列出有被放在桌面快捷列上的應用程式,因為它們應是最具標誌性意義的項目。

 

 

上面這張擷圖是擷取自 Fedora 32 的 GNOME 桌面環境,而 DR 的常用應用程式列表如下:

分類: 

瀏覽器簡報播放與 Presentation API

過去 DR 三不五時都會思考,是否有便利地製作及播放聖經投影片的解決方案。曾為此製作出來的程式有諸如 PowerSwordSlideSword 等工具,然而它們雖然可用,但也稱不上好用。DR 始終覺得若是能夠完全採用網頁程式,才是最佳的跨平台方案,在程式交付上也是最為簡易。

 

幾個月前,作為 Mobile Web Bible 的延伸專案,DR 製作了一款可播放經文投影片的網頁雛型。不過當時的一個瓶頸,是不知如何讓網頁瀏覽器如同於一般的簡報軟體,可便利地將畫面投放在延伸螢幕上。直到最近再搜了一下文件,發現有個 Presentation API,才終於實現出來。

 

分類: 

Linux 下使用健保卡報稅前的元件安裝與測試

本文操作環境為 Fedora 36 及 Mozilla Firefox。以 USB 介面的讀卡機(smart card reader)來說,可以先用 lsusb 指令確認是否有正確抓取到裝置。倘若以 DR 所使用的 Dell 鍵盤附掛讀卡機為例,便會顯示例如以下訊息:

Bus 005 Device 003: ID 413c:2101 Dell Computer Corp. SK-3205 SmartCard Reader Keyboard

 

接著安裝與卡片讀取相關的套件:

  • sudo dnf install pcsc-lite pcsc-tools

 

安裝完畢後,執行 pcsc_scan 應該會顯示讀卡機當前的狀態,若有插入卡片也會顯示出來。可使用 Ctrl + C 來關閉程式,此外在執行 pcsc_scan 時也會一併啟動 pcscd 服務。

 

分類: 

Linux 下的視訊裝置遠端測試

好些年前 DR 曾試驗過以 ffserver 為基礎的 Linux 直播方案。ffserver 是 FFmpeg 專案的一個附屬程式,其用途是建立一個可接收及輸出媒體串流的多媒體伺服器。當時 DR 的作法是在一部 Linux 主機上安裝一張影音擷取卡,然後用 ffserver 起建一個 HTTP 伺服器。再透過 ffmpeg 指令,將擷取卡的資料流直接送給本機的接收 URL ,而外部客戶端的媒體播放器只要開啟主機 HTTP 位址就能夠播放串流。

 

分類: 

頁面

Subscribe to RSS - 筆記