I’m using CyberMegaPhone 2k to connect with my Asterisk server, where I have a simple dialplan that answers the call and starts a recording.
exten => record,1,Answer()
same => n,Set(CALLFILENAME=${UNIQUEID}.wav)
same => n,Record(${CALLFILENAME},0,10)
same => n,Hangup()
I am given to understand that, if I record a wav file, and the video stream is present, the video stream will be recorded into a second file right alongside the wav.
When the dialplan reaches the record application, it gets the error: no such format vp9
It seems like a codec is missing, but when I run make menuselect, I don’t see any options for video codecs
-- Executing [record@cyber:2] Set("PJSIP/cyber-00000492", "CALLFILENAME=1613659778.3471.wav") in new stack
-- Executing [record@cyber:3] Record("PJSIP/cyber-00000492", "1613659778.3471.wav,0,10") in new stack
-- <PJSIP/cyber-00000492> Playing 'beep.slin' (language 'en')
> 0x7ff13c0a6f70 -- Strict RTP switching to RTP target address 76.216.174.3:57613 as source
[Feb 18 09:49:39] WARNING[4914][C-000003f0]: file.c:1504 ast_writefile: No such format 'vp9'
[Feb 18 09:49:39] WARNING[4914][C-000003f0]: file.c:1504 ast_writefile: No such format 'vp9'
The negotiated codecs are based on the underlying configuration of the endpoint. In this case vp9 was negotiated, and Asterisk does not support recording vp9 video.
Asterisk does not support transcoding of video. The only supported codec for video recording that is in common with WebRTC is h264. Codecs for negotiation are configured on the PJSIP endpoint using the “allow” setting.
I should state though that video recording and playback is not something anyone has worked on in considerable years and is not something anyone is actively working on now. There is no telling whether it will work or not for your usage.