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 引数として設定することは可能ですか?