目次
RTSP リアルタイム オーディオおよびビデオ ストリーム アドレス:
- フォーマット: rtsp://ip:ポート/ストリーム番号
- デフォルトのポート: 554
- ストリームID: 0 (主流), 1 (二次ストリーム)
- 例えば, デバイスアドレスからサブストリームを取得するには 192.168.1.188, URLは:
- rtsp://192.168.1.1 8 8 :554 / 1
クライアント (モバイルアプリ) TCPプロトコル経由でカメラパラメータを取得および設定します;
カメラは TCP サーバーとして機能します, デフォルトの TCP ポートは 8866.
TCP通信データ形式:
純粋な JSON 文字列
カメラのステータスを取得する:
データ構造:
typedef 構造体
{
文字 s8DevId[64]; // デバイスID, ID が設定されていない場合はデフォルトで IP が使用されます.
u32 u32TfRecord; // TFカードの記録状態, 0: 録音なし; 1: 録音中です
}JSON_DEV_STATUS_INFO_S;
コマンド文字:
#JS_CMD _ GET_DEV_STATUS を定義する “GetDevStatus”
デバイスの IP アドレスが 192.168.1.188, クライアントは次の JSON データを送信します:
{
” GetDevStatus “: { }
}
カメラがデータを正常に受信した後, 次の JSON データが返されました:
{
” GetDevStatus “: {
” s8DevId ” : ” 192.168.1.188 ” ,
「 u32TfRecord 」 : 0
}
}
ビデオエンコードパラメータ取得・設定:
データ構造:
typedef 構造体
{
u8 u8ビデオエンチャント; //0 : 主流; 1: 二次ストリーム;
u8 u8ビデオコーデックタイプ; // 1:h264 ; 2:p265
u16 u16ビデオ幅; // ビデオの幅
u16 u16ビデオの高さ; // ビデオの高さ
u16 u8フレームレート; // フレームレート (1-30)
u16 u8IframeInterval; // 私- フレーム間隔サイズ (1-100)
u8 u8ビットレート制御モード; //ビットレート制御モード: 0: CBR 1: VBR
u16 u16ビットレートKps; // ビットレートサイズ
char s8ビデオサイズ名[256]; // サポートされている解像度のリスト }JSON_VIDEO_ENC_PARAM_S;
コマンド文字:
パラメータの取得:
#JS_CMD_GET_VIDEO_ENC_PARAM を定義する “getVideoEncParam”
パラメータの設定:
#JS_CMD_SET_VIDEO_ENC_PARAM を定義する “setVideoEncParam”
例えば:
クライアントは、カメラのメイン ビットストリームのエンコード パラメータを含む次の JSON データを取得します。:
{
” getVideoEncParam “: {
” u8ビデオエンチャント “: 0
}
}
カメラから返されるJSONデータは以下のとおりです。;
{
” getVideoEncParam “: {
” u8ビデオエンチャント “: 0,
「 u8VideoCodecType 」 : 1,
「 u16VideoWidth 」 : 3840,
” u16ビデオの高さ ” : 1080,
「 u8FrameRate 」 : 30,
” u8IframeInterval ” : 60,
” u8ビットレート制御モード ” : 0,
「u16BitRateKps」 : 4096,
” s8ビデオサイズ名 ” : ” 3840×1080,1920×540 “
}
}
クライアントはカメラのセカンダリ ストリーム フレーム レートを次のように設定します。 15 ビットレートは JSON 形式で 1024K です, 次のように:
{
” setVideoEncParam “: {
” u8ビデオエンチャント “: 1,
” u8フレームレート “: 15,
” u16ビットレートKps “: 1024
}
}
セットアップが成功した後, カメラは TRUE を返します.
オーディオエンコードパラメータの取得・設定:
データ構造:
typedef 構造体
{
u8 u8有効にする; //0: 無効にします; 1: 有効にする;
u32 u32ChnNum; // 1 : Mono; 2: ステレオ
u8 u8EncodeType; //6 : AAC; 8: G711A; 9: G711U; u32 u32サンプルレート; // サンプリングレート: 8000, 16000, 24000, 32000, 48000
u8 u8Aoutボリューム; // ボリュームサイズ: [0–100] }JSON_VIDEO_ENC_PARAM_S;
コマンド文字:
パラメータの取得:
#JS_CMD_GET_AUDIO_PARAM を定義する “getAudioParam”
パラメータの設定:
#JS_CMD_SET_AUDIO_PARAM を定義する “setAudioParam”
例えば:
クライアントは、カメラ音声エンコードパラメータの次の JSON データを取得します。:
{
” getAudioParam “: { }
}
カメラから返されるJSONデータは以下のとおりです。;
{
” getAudioParam “: {
” u8有効にする “: 1,
「u32ChnNum」 : 1,
「 u8EncodeType 」 : 8,
「 u32SampleRate 」 : 8000,
「u8Aoutボリューム」 : 80,
}
}
カメラオーディオエンコーディングのクライアント側設定は AAC です, ステレオ, サンプリングレート48kHz. JSONデータは以下の通りです:
{
” setAudioParam “: {
「u32ChnNum」 : 2,
「 u8EncodeType 」 : 6,
「 u32SampleRate 」 : 48000
}
}
セットアップが成功した後, カメラは TRUE を返します.
映像パラメータ取得・設定:
データ構造:
typedef 構造体
{
u8 u8VideoIspChn; //ISPチャネル; [0-4]
u8 u8明るさ; // 輝度: [0~100]
u8 u8コントラスト; // コントラスト比: [0~100]
u8 u8Hue; // 色度: [0~100]
u8 u8飽和; // 飽和レベル: [0~100]
u8 u8シャープネス; // 切れ味: [0~100]
}JSON_IMAGE_PARAM_S;
コマンド文字:
パラメータの取得:
#JS_CMD_GET_IMAGE_PARAM を定義する “getImageParam”
パラメータの設定:
#JS_CMD_SET_IMAGE_PARAM を定義する “setImageParam”
例えば:
クライアントは、チャネルの画像パラメータの次の JSON データを取得します。 0 カメラの ISP の:
{
” getImageParam “: {
「 u8VideoIspChn 」 : 0
}
}
カメラから返されるJSONデータは以下のとおりです。;
{
” getImageParam “: {
” u8VideoIspChn “: 0,
「u8明るさ」 : 50,
「u8コントラスト」 : 50,
「u8Hue」 : 50,
「 u8Saturation 」 : 50,
「u8シャープネス」 : 50
}
}
カメラの明るさに関するクライアント側の JSON データ設定は次のとおりです。 53, コントラストは 60, そして飽和度は 56 は次のとおりです:
{
” setImageParam “: {
「 u8VideoIspChn 」 : 0,
「u8明るさ」 : 53,
「u8コントラスト」 : 60,
「 u8Saturation 」 : 56
}
}
セットアップが成功した後, カメラは TRUE を返します.
TFカード情報の取得;
データ構造:
typedef 構造体
{
u32 u32合計サイズ; // 合計サイズ (MB)
u32 u32使用サイズ; // 使用容量単位 (MB)
u32 u32利用可能なサイズ; // 利用可能な容量 (MB)
}JSON_SD_CARD_INFO_S;
パラメータの取得:
#JS_CMD_GET_SD_CARD_INFO を定義する “SDカード情報の取得”
例えば:
クライアントは、カメラの TF カード情報に関する次の JSON データを取得します。:
{
” SDカード情報の取得 “: { }
}
カメラから返されるJSONデータは以下のとおりです。;
{
” SDカード情報の取得 “: {
” u32合計サイズ “: 31254,
「u32使用サイズ」 : 20000,
” u32利用可能なサイズ ” : 11254
}
}
TFカード記録設定:
データ構造:
typedef 構造体
{
u8 u8AutoRecordEnable; //1: 録音を有効にする; 0: 録音を無効にする
u8 u8RecordStrChn; // 録画ストリームの選択: 0: プライマリストリーム; 1: 二次ストリーム
u8 u8PreRecordSeconds; // 事前録音時間 [0-10] 数秒で
u16 u16ファイルあたりのレコード秒数; // 1 つの録音ファイルの長さ [10-1000] 秒
}JSON_RECORD_CONTROL_PARAM_S;
パラメータの取得:
#JS_CMD_GET_RECORD_CONTROL_PARAM を定義する “getRecordControlParam”
パラメータの設定:
#JS_CMD_SET_RECORD_CONTROL_PARAM を定義する “setRecordControlParam”
例えば:
クライアントは、カメラの TF カード録画設定に関する次の JSON データを取得します。:
{
” getRecordControlParam “: { }
}
カメラから返されるJSONデータは以下のとおりです。;
{
” getRecordControlParam “: {
” u8AutoRecordEnable “: 1,
「 u8RecordStrChn 」 : 0,
” u8PrecordSeconds ” : 0,
” u16ファイルごとのレコード秒数 ” : 300
}
}
有線ネットワークのIP構成:
データ構造:
typedef 構造体
{
u8 u8Dhcp有効化; // 0: 固定IP; 1: DHCP;
文字 s8IP[16]; //IPアドレス
char s8サブマスク[16]; // サブネットマスク
char s8ゲートウェイ[16]; // ゲートウェイIP
文字 s8Dns[16]; //DNSアドレス
}JSON_NET_PARAM_S;
パラメータの取得:
#JS_CMD_GET_NET_IP_PARAM を定義する “getNetIpParam”
パラメータの設定:
#JS_CMD_SET_NET_IP_PARAM を定義する “setNetIpParam”
例えば:
クライアントは次のように JSON データを使用してカメラの IP 情報を取得します。:
{
” getNetIpParam “: { }
}
カメラから返されるJSONデータは以下のとおりです。;
{
” getNetIpParam “: {
” u8Dhcp有効にする “: 0,
” s8IP ” : ” 192.168.1.188 ” ,
” s8サブマスク ” : ” 255.255.255.0 ” ,
” s8ゲートウェイ ” : ” 192.168.1.1 ” ,
” s8Dns ” : ” 192.168.1.1 “
}
}
クライアントはカメラの IP アドレスを次のように設定されています。 192.168.3.10, としてのゲートウェイ 192.168.3.1, そしてDNSとして 192.168.3.1. JSONデータは以下の通りです:
{
” setNetIpParam “: {
” s8IP ” : ” 192.168.3.10 ” ,
” s8ゲートウェイ ” : ” 192.168.3.1 ” ,
” s8Dns ” : ” 192.168.3.1 “
}
}
セットアップが成功した後, カメラがデータを返さない, クライアントは新しい IP アドレスを使用してデバイスに再接続する必要があります.
WiFiパラメータ設定:
クライアント/アプリは、デバイスによって検出されたルーターの SSID のリストを取得します。.
{
“getAPSsidList” :{ }
}
デバイスは SSID のリストを返します。: リストから接続するルート SSID を選択します.
デバイスの Wi-Fi を STA モードで動作するように設定する:
{
“setWifiSsidParam”:{
“u8モード”: 0,
“s8Ss”: ” yrsx8888 “,
“s8PassWd”: “987545598400
}
}
デバイスの Wi-Fi をホットスポット AP モードで動作するように設定する:
{
“setWifiSsidParam”:{
“u8モード”: 1
}
}
デバイスのWi-Fiステータスを取得する:
{
“getWifiSsidParam” : { }
}
時刻同期:
データ構造:
typedef 構造体
{
u8 u8タイムゾーン; // タイムゾーン値 RT_TIMEZONE_E
char s8DateTime[64]; // 時刻形式: “2019-06-12_12:56:59_3”
}JSON_DATE_TIME_INFO_S;
タイムゾーン値の定義:
typedef 列挙型
{
RT_TIMEZONE_InternationalDateLineWest = 0, /* UTC-12:00 */
RT_TIMEZONE_ミッドウェイ島サモア = 1, /* UTC-11:00 */
RT_TIMEZONE_ハワイ = 2, /* UTC-10:00 */
RT_TIMEZONE_アラスカ = 3, /* UTC-9:00 */
RT_TIMEZONE_ティファナカリフォルニア州 = 4, /* UTC-8:00 */
RT_TIMEZONE_太平洋時間米国カナダ = 5, /* UTC-8:00 */
RT_TIMEZONE_MountainTime米国カナダ = 6, /* UTC-7:00 */
RT_TIMEZONE_チワワラパスマサトラン = 7, /* UTC-7:00 */
RT_TIMEZONE_アリゾナ = 8, /* UTC-7:00 */
RT_TIMEZONE_サスカチュワン州 = 9, /* UTC-7:00 */
RT_TIMEZONE_グアドラハラメキシコシティモンテレー = 10, /* UTC-6:00 */
RT_TIMEZONE_中部時間米国カナダ = 11, /* UTC-6:00 */
RT_TIMEZONE_中央アメリカ = 12, /* UTC-6:00 */
RT_TIMEZONE_ボゴタリマキト = 13, /* UTC-5:00 */
RT_TIMEZONE_米国東部時間カナダ = 14, /* UTC-5:00 */
RT_TIMEZONE_インディアナ東部 = 15, /* UTC-5:00 */
RT_TIMEZONE_カラカス = 16, /* UTC-4:30 */
RT_TIMEZONE_AtlanticTimeCanada = 17, /* UTC-4:00 */
RT_TIMEZONE_ジョージタウンラパスサンフアン = 18, /* UTC-4:00 */
RT_TIMEZONE_サンティアゴ = 19, /* UTC-4:00 */
RT_TIMEZONE_NenfoundLand = 20, /* UTC-3:30 */
RT_TIMEZONE_ブラジリア = 21, /* UTC-3:00 */
RT_TIMEZONE_ブエノスアイレスジョージタウン = 22, /* UTC-3:00 */
RT_TIMEZONE_グリーンランド = 23, /* UTC-3:00 */
RT_TIMEZONE_中部大西洋 = 24, /* UTC-2:00 */
RT_TIMEZONE_カーボベルデIs = 25, /* UTC-1:00 (カーボベルデ共和国) */
RT_TIMEZONE_アゾレス諸島 = 26, /* UTC-1:00 (アゾレス諸島) */
RT_TIMEZONE_グリニッジ標準時ダブリンエディンバラリスボンロンドン = 27, /* UTC-0:00 */
RT_TIMEZONE_カサブランカ = 28, /* UTC-0:00 */
RT_TIMEZONE_モンロビア = 29, /* UTC-0:00 */
RT_TIMEZONE_アムステルダムベルリンベルンローマストックホルムウィーン = 30, /* UTC+1:00 */
RT_TIMEZONE_ベオグラードブラチスラバブダペストリュブリャナプラハ = 31, /* UTC+1:00 */
RT_TIMEZONE_ブリュッセルコペンハーゲンマドリードパリ = 32, /* UTC+1:00 */
RT_TIMEZONE_サラエボスコピエワルシャワザグレブ = 33, /* UTC+1:00 */
RT_TIMEZONE_西中央アフリカ = 34, /* UTC+1:00 */
RT_TIMEZONE_レアプレトリア = 35, /* UTC+2:00 */
RT_TIMEZONE_ヘルシンキキエフリガソフィアタリンビリニュス = 36, /* UTC+2:00 */
RT_TIMEZONE_カイロ = 37, /* UTC+2:00 */
RT_TIMEZONE_ミンスク = 38, /* UTC+2:00 */
RT_TIMEZONE_アテネブカレストイスタンブール = 39, /* UTC+2:00 */
RT_TIMEZONE_エルサレム = 40, /* UTC+2:00 */
RT_TIMEZONE_バグダッド = 41, /* UTC+3:00 */
RT_TIMEZONE_トビリシ = 42, /* UTC+3:00 */
RT_TIMEZONE_クウェートリヤド = 43, /* UTC+3:00 */
RT_TIMEZONE_モスクワサンクトペテルブルクヴォルゴグラード = 44, /* UTC+3:00 */
RT_TIMEZONE_ナイロビ = 45, /* UTC+3:00 */
RT_TIMEZONE_テヘラン = 46, /* UTC+3:30 */
RT_TIMEZONE_アブダビマスカット = 47, /* UTC+4:00 */
RT_TIMEZONE_バクエレバン = 48, /* UTC+4:00 */
RT_TIMEZONE_カブール = 49, /* UTC+4:30 */
RT_TIMEZONE_タシケント = 50, /* UTC+5:00 */
RT_TIMEZONE_エカテリンブルク = 51, /* UTC+5:00 */
RT_TIMEZONE_イスラマバードカラチ = 52, /* UTC+5:00 */
RT_TIMEZONE_チェンナイコルカタムンバイニューデリー = 53, /* UTC+5:30 */
RT_TIMEZONE_カトマンズ = 54, /* UTC+5:45 */
RT_TIMEZONE_アルマトイノヴォシビルスク = 55, /* UTC+6:00 */
RT_TIMEZONE_アスタナダッカ = 56, /* UTC+6:00 */
RT_TIMEZONE_ラングーン = 57, /* UTC+6:30 */
RT_TIMEZONE_クラスノヤルスク = 58, /* UTC+7:00 */
RT_TIMEZONE_バンコクハノイジャカルタ = 59, /* UTC+7:00 */
RT_TIMEZONE_北京重慶香港ウルムチ = 60, /* UTC+8:00 */
RT_TIMEZONE_クアラルンプールシンガポール = 61, /* UTC+8:00 */
RT_TIMEZONE_パース = 62, /* UTC+8:00 */
RT_TIMEZONE_台北 = 63, /* UTC+8:00 */
RT_TIMEZONE_イルクーツクウランバタール = 64, /* UTC+8:00 */
RT_TIMEZONE_大阪札幌東京 = 65, /* UTC+9:00 */
RT_TIMEZONE_ソウル = 66, /* UTC+9:00 */
RT_TIMEZONE_ヤクーツク = 67, /* UTC+9:00 */
RT_TIMEZONE_アデレード = 68, /* UTC+9:30 */
RT_TIMEZONE_ブリスベン = 69, /* UTC+10:00 */
RT_TIMEZONE_ウラジオストク = 70, /* UTC+10:00 */
RT_TIMEZONE_グアムモアズビー = 71, /* UTC+10:00 */
RT_TIMEZONE_ホバート = 72, /* UTC+10:00 */
RT_TIMEZONE_キャンベラメルボルンシドニー = 73, /* UTC+10:00 */
RT_TIMEZONE_マガダンソロモンニューカレドニア = 74, /* UTC+11:00 */
RT_TIMEZONE_オークランドウェリントン = 75, /* UTC+12:00 */
RT_TIMEZONE_フィジーカムチャツカマーシャル諸島 = 76, /* UTC+12:00 */
RT_TIMEZONE_ヌクアロファ = 77, /* UTC+13:00 */
RT_TIMEZONE_BUTT
}RT_TIMEZONE_E;
パラメータの取得:
#JS_CMD_GET_DEV_DATE_TIME を定義する “GetDevDateTime”
パラメータの設定:
#JS_CMD_SET_DEV_DATE_TIME を定義する “setDevDateTime”
デバイス時刻のJSONデータを取得する :
{
” GetDevDateTime ” : {}
}
デバイスは JSON データを返します:
{
” GetDevDateTime ” : {
「u8タイムゾーン」 : 60,
“s8日付時刻” : “2020-03-06_12:56:59_3”
}
}
JSON データはデバイスの時間を木曜日に設定します, 行進 12, 2020, に 3:38:30 PM:
{
” setDevDateTime ” : {
“s8日付時刻” : “2020-03-12_15:38:30_4”
}
}
セットアップが成功すると、デバイスは TRUE を返しました.
設備管理:
デバイスを再起動するための JSON データ:
{
” setSysControlParam ” : {
「u8Restart」 : 1
}
}
工場出荷時の設定を復元するための JSON データ:
{
” setSysControlParam ” : {
「u8リセットデフォルト」 : 1
}
}
SDカードのJSONデータのフォーマット:
{
” setSysControlParam ” : {
「u8フォーマットSDカード」 : 1
}
}
PTZコントロール:
データ構造:
typedef 構造体
{
u8 u8Cmd; // コマンドコード PTZ_CONTROL_CODE
u8 u8スピード; // 速度 (1-64)
u8 u8Data1; // 予約済み; これはプリセット位置に使用されます.
u8 u8Data2; // 予約済み, これは特別な PTZ コマンドに使用されます.
}JSON_PTZ_CONTROL_S;
列挙型 PTZ_CONTROL_CODE
{
PTZ_STOP = 0, // やめる
PTZ_UP=1, // アップ
PTZ_DOWN=2, // 下
PTZ_LEFT=3, // 左
PTZ_RIGHT=4, // 右
PTZ_LEFT_UP=5, // 左上
PTZ_LEFT_DOWN=6, // 左下
PTZ_RIGHT_UP=7, // 右上
PTZ_RIGHT_DOWN=8, // 8 : 右下
PTZ_ZOOM_IN=9, // 9 : ズームイン
PTZ_ZOOM_OUT=10, // 10: ズームアウト=10, // 10 : ズームアウト=10
PTZ_FOCUS_NEAR=11, // 11 : 近くに焦点を当てる
PTZ_FOCUS_FAR=12, // 12 : 遠くに焦点を合わせる
PTZ_IRIS_ADD=13, // 13 : 絞りの増加
PTZ_IRIS_REDUCE=14, // 14 : 絞りを小さくした
PTZ_GOTO_POINT = 15, // 15 : プリセットビットを呼び出す
PTZ_CLEAR_POINT = 16, // 16 : プリセットビットをクリア
PTZ_PERSET_POINT = 17, // 17 : プリセットビットを設定する
PTZ_AUTO_RUN = 18, // 18 : 水平自動スキャン
};
PTZコントロール:
#JS_CMD_PTZ_CONTROL を定義する “PtzControlCmd”
Ptz によって制御される JSON コマンド:
- の速度で下に移動します 30:
{
” PtzControlCmd “: {
” u8Cmd “: 2,
” u8スピード ” : 30
}
}
- 1. プリセット位置を設定する 2:
{
” PtzControlCmd “: {
” u8Cmd “: 17,
「u8スピード」 : 30,
「u8Data1」 : 2
}
}
TFカードファイル検索:
( 1) 同じ日の特定の期間内のすべてのビデオ ファイルを検索するコマンド:
{
“検索レコードファイルリスト”:{
“u32年”:2020, // 年
“u8月”:7, // 月
“u8Day”:14, // 日
“u8開始時間”:0, // 開始時間(時間単位)
“u8開始分”:0, // 開始時間(分)
“u8EndHour”:23, // 終了時間(時間単位)
“u8EndMinute”:59, // 終了時間(分)
“u8EncChn”:0, // 0 デフォルト値です.
“u8レコードタイ”:0, // ファイルの種類: 0: すべてのファイル, 1: 定期録画; 2: アラーム録音; 3: 画像;
“u32StartIdx”:0, // 開始ファイルのシーケンス番号
“u32ExpectedCount”: 10 // リクエストによって返されたファイルの数, 現在の最大値は 32.
}
}
デバイスから返されるデータ:
{
“検索レコードファイルリスト”: {
“u32RecordFileTotalCount”: 7, // この期間内に検索されたファイルの合計数
“stRecordFileList”: [ // パス付きのファイル名, ファイルサイズ]
“/dev/disk/0/part0/rec-pic/20200714/0/000_180149_0_0300_2.mp4”, 251649649, “/dev/disk/0/part0/rec-pic/20200714/0/001_180644_0_0169_256.mp4”, 144935215, “/dev/disk/0/part0/rec-pic/20200714/0/002_181001_0_0300_2.mp4”, 251650689, “/dev/disk/0/part0/rec-pic/20200714/0/003_181458_0_0300_2.mp4”, 251657016, “/dev/disk/0/part0/rec-pic/20200714/0/004_181958_0_0300_2.mp4”, 301449467, “/dev/disk/0/part0/rec-pic/20200714/0/005_182458_0_0000_256.mp4”, 37801991, “/dev/disk/0/part0/rec-pic/20200714/0/006_182642_0_0244_256.mp4”, 200069913
]
}
}
JPG画像を手動でキャプチャする:
次のコマンドをデバイスに送信します.
{
“マニュアルスナップJPG”:{
}
}
無事返却されました:
{
“マニュアルスナップJPG”: 真実
}
PWM制御でLEDの明るさを調整:
現在のPWM値を取得します:
{
“getPwmParam”:{
“u32PwmChn”: 0
}
}
無事返却されました:
{
“getPwmParam”:{
“u32PwmChn”:0,
“u8有効にする”:1,
“u8DutyValue”:20
}
}
- PWM値を設定する:
{
“setPwmParam”:{
“u32PwmChn”: 0,
“u8有効にする”: 1,
“u8DutyValue”: 60
}
}
無事返却されました:
{
“setPwmParam”:真実
}
注意 : u32PwmChn のデフォルトは 0 恣意的に変更すべきではありません. u8Enable の値は次のとおりです 0/1, どこ 0 PWM出力を無効にし、 1 PWM出力を有効にします. u8DutyValue の値の範囲は次のとおりです。 0-100.
17. OSDテキスト取得・設定:
(1) 指定されたビデオチャンネルを取得します, OSDテキストパラメータ:
{“getVideoOsdTextInfo”:{
“u8IspChn”:0,
“u8TextIdx”:1
}}
無事返却されました:
{
“getVideoOsdTextInfo”:{
“u8IspChn”:0, // ビデオチャンネル 0, 埋める 0 1台のカメラ用
“u8TextIdx”:1, // OSDテキストボックスの番号, 複数のテキストボックスのサポート.
“u8有効にする”:0, // 有効にする, 0: 表示しない; 1: 表示
“u16XRatioBase50000”:40000, // 水平位置の相対座標, 最大値は 50000.
“u16YRatioBase50000”:1600, // 垂直位置の相対座標, 最大値は 50000.
“u8Fg透明性”:10, // 前景の透明度 [0-255]
“u8Bg透明性”:255, // 背景の透明度の値 [0-255]
“u8サイズタイプ”:1, // 文字サイズ, 値範囲 [0-3]
“u32TextColor_BGRA8888”:4294967295, // 文字の色 ARGB888 値
“aszText”:”” // テキストボックスにはコンテンツ文字列が表示されます
}
}
(2) 指定したビデオチャンネルを設定します, OSDテキストパラメータ:
{
“setVideoOsdTextInfo”:{
“u8IspChn”:0,
“u8TextIdx”:1,
“u8有効にする”:1,
“u16XRatioBase50000”:40000,
“u16YRatioBase50000”:1600,
“u8Fg透明性”:10,
“u8Bg透明性”:255,
“u8サイズタイプ”:1,
“u32TextColor_BGRA8888”:4294967295,
“aszText”:”テスト11111222233334444″
}
}
無事返却されました:
{
“setVideoOsdTextInfo”:真実
}
CVBS HDMIからIPエンコーダー
CVBS HDMIからIPエンコーダー
アナログ CVBS AV ビデオからイーサネット IP ビデオ ストリーム コンバータ ボード エンコーダ サポート UDP RTSP 低遅延
CVBS HDMIからIPエンコーダー

質問する
ご回答をありがとうございました。 ✨