Actions

Difference between revisions of "Broadcastify-Calls-API"

From The RadioReference Wiki

Line 17: Line 17:
 
  curl -s https://api.broadcastify.com/call-upload -F "callDuration=${duration}" -F "filename=${NEWBASE}.m4a"  
 
  curl -s https://api.broadcastify.com/call-upload -F "callDuration=${duration}" -F "filename=${NEWBASE}.m4a"  
 
  -F "apiKey=${APIKEY}" -F "systemId=${SYSTEMID}" -F "ts=${timestamp}" -F "tg=${tg}" -F "src=${src}" -F "freq=${freq}"
 
  -F "apiKey=${APIKEY}" -F "systemId=${SYSTEMID}" -F "ts=${timestamp}" -F "tg=${tg}" -F "src=${src}" -F "freq=${freq}"
 +
 +
URL Production: https://api.broadcastify.com/call-upload
 +
URL Development: https://api.broadcastify.com/call-upload
 +
callDuration = duration of the call in seconds (float number)
 +
filename = name of the file to be uploaded
 +
apiKey = API Key
 +
systemId = Unique System ID Assigned to this call ingest system (paired with API Key Assignment)
 +
ts = call start timestamp in epoch seconds (unix timestamp)
 +
tg = call talkgroup (trunked call upload only)
 +
src = call source ID (unit ID)
 +
freq = call frequency (trunked and conventional call upload)
 
<br>
 
<br>
  

Revision as of 16:31, 25 March 2020

Upload API

Convert to M4A AAC Audio
ffmpeg -i "${basename}.wav"  -c:a libfdk_aac -b:a 32k -cutoff 18000 "${basename}.m4a


Get the duration of the audio clip
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "${basename}.m4a


Register the Clip and get the Upload URL.

This is a RFC1867 multipart/form-data POST request to the API Endpoint.

curl -s https://api.broadcastify.com/call-upload -F "callDuration=${duration}" -F "filename=${NEWBASE}.m4a" 
-F "apiKey=${APIKEY}" -F "systemId=${SYSTEMID}" -F "ts=${timestamp}" -F "tg=${tg}" -F "src=${src}" -F "freq=${freq}"

URL Production: https://api.broadcastify.com/call-upload 
URL Development: https://api.broadcastify.com/call-upload 
callDuration = duration of the call in seconds (float number)
filename = name of the file to be uploaded
apiKey = API Key 
systemId = Unique System ID Assigned to this call ingest system (paired with API Key Assignment)
ts = call start timestamp in epoch seconds (unix timestamp)
tg = call talkgroup (trunked call upload only)
src = call source ID (unit ID)
freq = call frequency (trunked and conventional call upload)


Successful return is a single line with a return code followed by a one time use upload URL.

Example: 0 https://upload.hostname.com/uploadPath/oneTimeUseKey

Error return is an error code followed by an error message

Example: 100 NO-API-KEY-SPECIFIED


Upload the Audio File
curl --write-out %{http_code} --silent --output /dev/null -X PUT -H "Content-Type: audio/aac" 
-T ${basename}.m4a "${uploadURL}"