我正在嘗試使用 Onvif 協定將錄音從 NVT 匯出到檔案 (.mp4)。
Onvif 依靠 RTSP 串流來存取即時視訊和錄音。
可以使用 ffmpeg 保存即時視頻,而且效果也很好
ffmpeg -rtsp_transport tcp -i 'rtsp://10.0.0.210:554/cam/liveUrl' -c copy file.mp4
但是,當存取 Onvif 錄製時,我必須定義要傳送到 rtsp 伺服器的初始絕對日期時間(如果需要,還需要定義最終日期時間)。該資訊需要在 PLAY 請求中發送範圍:時鐘價值。另一個有用的設定是規模,允許比即時更快地接收視訊(對於下載很有用)
使用“openRTSP 獲取流的範例請求
PLAY rtsp://10.0.0.1/streamURl/ RTSP/1.0
CSeq: 7
Authorization: Digest **************
User-Agent: ./openRTSP (LIVE555 Streaming Media v2023.06.20)
Session: 4001414593142
Scale: 2.000000
Range: clock=20230710T180001Z-20230710T180201Z
OpenRTSP 支援將這些值設為參數,但缺乏對 h265 的支援。所以我必須使用ffmpeg來「修復」匯出的檔案並合併音訊和視訊串流ffmpeg -i file_renamed_to.265 -i audio_file -c copy out.mp4
我想繞過openRTSP並直接使用ffmpeg。是否可以將“時鐘範圍”和“比例”設定為 ffmpeg args?