control

Prev Next

Provides general purpose scriptable way to control the capture of the FMADIO device


/api/v1/capture/ctrl/start

Starts a capture (if one is not running)

Address

/api/v1/capture/ctrl/start

Verb

GET

Notes

Arguments

Parameter

Description

StreamName

Name of the capture

Example

Example shows starting a capture from an idle system

curl -u fmadio:xxx -s "http://192.168.2.175/api/v1/capture/ctrl/start?StreamName=test1234" | jq
{
  "Status": true,
  "Str": "[Wed Mar 19 10:56:20 2025] successfully started capture [test1234]"
}

When a capture is already running an error will be returned, example output shown below

fmadio@fmadio100v2-228U:~$ curl -u fmadio:xxx -s "http://192.168.2.175/api/v1/capture/ctrl/start?StreamName=test1234" | jq
{
  "Status": false,
  "Str": "[Wed Mar 19 10:57:19 2025] Capture Stream [test1234] already running"
}


/api/v1/capture/ctrl/stop

Stops the current capture

Address

/api/v1/capture/ctrl/stop

Verb

POST

Notes

Stop will fail if the currently active capture is a 24/7 schedule

Arguments

Parameter

Description

(none)

Example

Example below stops the current capture

fmadio@fmadio100v2-228U:~$ curl -u fmadio:xxx -s "http://192.168.2.175/api/v1/capture/ctrl/stop" | jq
{
  "Status": true,
  "Str": "[Wed Mar 19 10:59:41 2025] successfully stopped capture [test1234]"
}

/api/v1/capture/ctrl/status

Returns the current capture status

Address

/api/v1/capture/ctrl/status

Verb

GET

Notes

Arguments

Parameter

Description

(none)

Example

Example shows below the status when a capture is active. Note the “CaptureEnable” field

fmadio@fmadio100v2-228U:~$ curl -u fmadio:xxx -s "http://192.168.2.175/api/v1/capture/ctrl/status" | jq
{
  "Status": true,
  "StreamName": "test1234_20250319_1102",
  "DeviceMode": "capture",
  "CaptureEnable": "true",
  "CaptureTime": 15.214426112,
  "CaptureByte": 67944240,
  "CapturePacket": 999180,
  "CaptureDrop": 0,
  "CaptureFCSError": 0,
  "CaptureBps": 235938352,
  "CapturePps": 433710.1875,
  "CurrentTime": "2025/03/19   11:03",
  "CapturePortCnt": 2,
  "cap0_Pkt": 1000002,
  "cap0_Byte": 68000136,
  "cap0_FCS": 0,
  "cap0_RMON1_Under": 0,
  "cap0_RMON1_64": 0,
  "cap0_RMON1_65_127": 1000002,
  "cap0_RMON1_128_255": 0,
  "cap0_RMON1_256_511": 0,
  "cap0_RMON1_512_1023": 0,
  "cap0_RMON1_1024_1518": 0,
  "cap0_RMON1_1024_2047": 0,
  "cap0_RMON1_2048_4095": 0,
  "cap0_RMON1_4096_8191": 0,
  "cap0_RMON1_8192_9216": 0,
  "cap0_RMON1_Over": 0,
  "cap1_Pkt": 1,
  "cap1_Byte": 68,
  "cap1_FCS": 0,
  "cap1_RMON1_Under": 0,
  "cap1_RMON1_64": 0,
  "cap1_RMON1_65_127": 1,
  "cap1_RMON1_128_255": 0,
  "cap1_RMON1_256_511": 0,
  "cap1_RMON1_512_1023": 0,
  "cap1_RMON1_1024_1518": 0,
  "cap1_RMON1_1024_2047": 0,
  "cap1_RMON1_2048_4095": 0,
  "cap1_RMON1_4096_8191": 0,
  "cap1_RMON1_8192_9216": 0,
  "cap1_RMON1_Over": 0,
  "PreFilter0_PktCnt": 0,
  "PreFilter1_PktCnt": 3,
  "PreFilter2_PktCnt": 0,
  "PreFilter3_PktCnt": 0,
  "PreFilter4_PktCnt": 1000003,
  "PreFilter5_PktCnt": 1000003,
  "PreFilter6_PktCnt": 1000003,
  "PreFilter7_PktCnt": 1000003,
  "PreFilter8_PktCnt": 1000003,
  "PreFilter9_PktCnt": 1000003,
  "PreFilter10_PktCnt": 1000003,
  "PreFilter11_PktCnt": 1000003,
  "PreFilter12_PktCnt": 0,
  "PreFilter12_Reserved": 1,
  "PreFilter13_PktCnt": 0,
  "PreFilter13_Reserved": 1,
  "PreFilter14_PktCnt": 0,
  "PreFilter14_Reserved": 1,
  "PreFilter15_PktCnt": 0,
  "PreFilter15_Reserved": 1,
  "PreFilterINPUT_PktCnt": 1000003,
  "PreFilterACCEPT_PktCnt": 1000003,
  "PreFilterDROP_PktCnt": 0,
  "PreFilterSLICE_PktCnt": 0,
  "pad": "Wed Mar 19 11:03:00 2025"
}

The below output is shown when the capture is disabled, note “CaptureEnable” is set to false.

fmadio@fmadio100v2-228U:~$ curl -u fmadio:xxx -s "http://192.168.2.175/api/v1/capture/ctrl/status" | jq
{
  "Status": true,
  "StreamName": "test1234_20250319_1056_20",
  "DeviceMode": "capture",
  "CaptureEnable": "false",
  "CaptureTime": 1742353316.0603,
  "CaptureByte": 1428,
  "CapturePacket": 21,
  "CaptureDrop": 0,
  "CaptureFCSError": 0,
  "CaptureBps": 0,
  "CapturePps": 0,
  "CurrentTime": "2025/03/19   11:01",
  "CapturePortCnt": 2,
  "cap0_Pkt": 14,
  "cap0_Byte": 952,
  "cap0_FCS": 0,
  "cap0_RMON1_Under": 0,
  "cap0_RMON1_64": 0,
  "cap0_RMON1_65_127": 14,
  "cap0_RMON1_128_255": 0,
  "cap0_RMON1_256_511": 0,
  "cap0_RMON1_512_1023": 0,
  "cap0_RMON1_1024_1518": 0,
  "cap0_RMON1_1024_2047": 0,
  "cap0_RMON1_2048_4095": 0,
  "cap0_RMON1_4096_8191": 0,
  "cap0_RMON1_8192_9216": 0,
  "cap0_RMON1_Over": 0,
  "cap1_Pkt": 7,
  "cap1_Byte": 476,
  "cap1_FCS": 0,
  "cap1_RMON1_Under": 0,
  "cap1_RMON1_64": 0,
  "cap1_RMON1_65_127": 7,
  "cap1_RMON1_128_255": 0,
  "cap1_RMON1_256_511": 0,
  "cap1_RMON1_512_1023": 0,
  "cap1_RMON1_1024_1518": 0,
  "cap1_RMON1_1024_2047": 0,
  "cap1_RMON1_2048_4095": 0,
  "cap1_RMON1_4096_8191": 0,
  "cap1_RMON1_8192_9216": 0,
  "cap1_RMON1_Over": 0,
  "PreFilter0_PktCnt": 0,
  "PreFilter1_PktCnt": 21,
  "PreFilter2_PktCnt": 0,
  "PreFilter3_PktCnt": 0,
  "PreFilter4_PktCnt": 21,
  "PreFilter5_PktCnt": 21,
  "PreFilter6_PktCnt": 21,
  "PreFilter7_PktCnt": 21,
  "PreFilter8_PktCnt": 21,
  "PreFilter9_PktCnt": 21,
  "PreFilter10_PktCnt": 21,
  "PreFilter11_PktCnt": 21,
  "PreFilter12_PktCnt": 0,
  "PreFilter12_Reserved": 1,
  "PreFilter13_PktCnt": 0,
  "PreFilter13_Reserved": 1,
  "PreFilter14_PktCnt": 0,
  "PreFilter14_Reserved": 1,
  "PreFilter15_PktCnt": 0,
  "PreFilter15_Reserved": 1,
  "PreFilterINPUT_PktCnt": 21,
  "PreFilterACCEPT_PktCnt": 21,
  "PreFilterDROP_PktCnt": 0,
  "PreFilterSLICE_PktCnt": 0,
  "pad": "Wed Mar 19 11:01:56 2025"
}