I made a lot of things trying to address everything but with no result. Please help, I'm ready to donate for the solution =)
I changed the listenIps
, wrote down all certs
, created a files folder.
I found out that payload parameters aren't the same from message and sdp. I changed them, but this gave nothing.
--enable-libvpx --enable-libvorbise --enable-libopus
are enabled.
Here is the initial output:
mediasoup loaded [version:3.4.8]
starting server [processName:FFmpeg]
initializeWorkers() creating 1 mediasoup workers
createRouter() creating new router [worker.pid:14195]
Socket Server listening on port 3000
new socket connection [iphttps://rfst.ru]
socket::message [jsonMessage:{
action: 'create-transport',
sessionId: '02627dd0-cad7-11ea-8445-a54ebcc8e2b3'
}]
createTransport() [type:webRtc. options:undefined]
sending response {
action: 'create-transport',
id: '41f814fa-e6d8-4a48-bd41-3174001b1c7a',
iceParameters: {
iceLite: true,
password: '9j0ewuhqbo7r3msb6kprtryb49w8gjtk',
usernameFragment: '4mfdzpc5mjqmy9z2'
},
iceCandidates: [
{
foundation: 'udpcandidate',
ip: '127.0.0.1',
port: 48383,
priority: 1076558079,
protocol: 'udp',
type: 'host'
},
{
foundation: 'tcpcandidate',
ip: '127.0.0.1',
port: 49906,
priority: 1076302079,
protocol: 'tcp',
tcpType: 'passive',
type: 'host'
},
[length]: 2
],
dtlsParameters: {
fingerprints: [
{
algorithm: 'sha-1',
value: 'B2:58:1F:32:DB:8C:26:4F:46:09:9A:58:7D:AA:29:A9:77:D4:08:1E'
},
{
algorithm: 'sha-224',
value: 'D2:10:A4:47:A4:3D:3B:66:43:49:6C:B6:C9:F7:59:05:8F:75:F0:7A:D5:A9:2D:71:3B:1C:67:10'
},
{
algorithm: 'sha-256',
value: '8F:33:FB:52:B0:C2:CC:F4:46:BF:25:66:67:F6:FA:8F:4D:C3:E1:71:88:C7:A7:71:01:4E:B6:34:A8:D5:D9:95'
},
{
algorithm: 'sha-384',
value: '59:66:5C:79:E5:01:66:8C:84:3F:56:20:1E:AA:78:C0:91:AD:3B:23:AF:4E:68:23:A4:C6:8F:CF:15:10:79:8F:9D:AF:36:3B:8E:5E:60:67:AE:50:CC:78:63:9C:58:E5'
},
{
algorithm: 'sha-512',
value: '5A:37:2F:11:2E:C6:FF:6C:5D:7A:BF:83:DD:61:CE:7C:41:9C:B6:49:E7:8D:11:C4:AC:1C:9F:12:A3:73:5A:30:A4:E8:55:D2:54:E7:AA:94:2D:DB:50:DF:16:99:AD:33:CD:25:51:BF:E9:66:97:2F:79:B0:7C:5E:BD:14:8F:67'
},
[length]: 5
],
role: 'auto'
}
}
socket::message [jsonMessage:{
action: 'connect-transport',
sessionId: '02627dd0-cad7-11ea-8445-a54ebcc8e2b3',
transportId: '41f814fa-e6d8-4a48-bd41-3174001b1c7a',
dtlsParameters: {
role: 'server',
fingerprints: [
{
algorithm: 'sha-256',
value: '17:8D:6F:95:97:E2:C6:6D:A7:FC:5A:1F:C1:27:C9:16:5A:BC:A7:15:83:6F:C0:59:53:5E:4D:15:9D:DF:BC:47'
},
[length]: 1
]
}
}]
handleTransportConnectRequest() transport connected
sending response { action: 'connect-transport' }
socket::message [jsonMessage:{
action: 'produce',
sessionId: '02627dd0-cad7-11ea-8445-a54ebcc8e2b3',
transportId: '41f814fa-e6d8-4a48-bd41-3174001b1c7a',
kind: 'video',
rtpParameters: {
mid: '0',
codecs: [
{
mimeType: 'video/VP8',
clockRate: 90000,
payloadType: 96,
rtcpFeedback: [
[Object],
[Object],
[Object],
[Object],
[Object],
[length]: 5
],
parameters: {}
},
{
mimeType: 'video/rtx',
clockRate: 90000,
payloadType: 97,
rtcpFeedback: [ [length]: 0 ],
parameters: { apt: 96 }
},
[length]: 2
],
headerExtensions: [
{ uri: 'urn:ietf:params:rtp-hdrext:sdes:mid', id: 4 },
{ uri: 'urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id', id: 5 },
{
uri: 'urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id',
id: 6
},
{
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time',
id: 2
},
{
uri: 'http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01',
id: 3
},
{
uri: 'http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07',
id: 8
},
{ uri: 'urn:3gpp:video-orientation', id: 13 },
{ uri: 'urn:ietf:params:rtp-hdrext:toffset', id: 14 },
[length]: 8
],
encodings: [ { ssrc: 3880737208, rtx: { ssrc: 2905964944 } }, [length]: 1 ],
rtcp: { cname: 'tmaDD6IYjTa4i8i0' }
}
}]
handleProduceRequest [data:{
action: 'produce',
sessionId: '02627dd0-cad7-11ea-8445-a54ebcc8e2b3',
transportId: '41f814fa-e6d8-4a48-bd41-3174001b1c7a',
kind: 'video',
rtpParameters: {
mid: '0',
codecs: [
{
mimeType: 'video/VP8',
clockRate: 90000,
payloadType: 96,
rtcpFeedback: [
[Object],
[Object],
[Object],
[Object],
[Object],
[length]: 5
],
parameters: {}
},
{
mimeType: 'video/rtx',
clockRate: 90000,
payloadType: 97,
rtcpFeedback: [ [length]: 0 ],
parameters: { apt: 96 }
},
[length]: 2
],
headerExtensions: [
{ uri: 'urn:ietf:params:rtp-hdrext:sdes:mid', id: 4 },
{ uri: 'urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id', id: 5 },
{
uri: 'urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id',
id: 6
},
{
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time',
id: 2
},
{
uri: 'http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01',
id: 3
},
{
uri: 'http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07',
id: 8
},
{ uri: 'urn:3gpp:video-orientation', id: 13 },
{ uri: 'urn:ietf:params:rtp-hdrext:toffset', id: 14 },
[length]: 8
],
encodings: [ { ssrc: 3880737208, rtx: { ssrc: 2905964944 } }, [length]: 1 ],
rtcp: { cname: 'tmaDD6IYjTa4i8i0' }
}
}]
handleProducerRequest() new producer added [id:53fb6285-02b1-4416-8820-d167e89047e0, kind:video]
sending response {
action: 'produce',
id: '53fb6285-02b1-4416-8820-d167e89047e0',
kind: 'video'
}
socket::message [jsonMessage:{
action: 'produce',
sessionId: '02627dd0-cad7-11ea-8445-a54ebcc8e2b3',
transportId: '41f814fa-e6d8-4a48-bd41-3174001b1c7a',
kind: 'audio',
rtpParameters: {
mid: '1',
codecs: [
{
mimeType: 'audio/opus',
clockRate: 48000,
payloadType: 111,
channels: 2,
rtcpFeedback: [ [Object], [length]: 1 ],
parameters: { minptime: 10, useinbandfec: 1 }
},
[length]: 1
],
headerExtensions: [
{ uri: 'urn:ietf:params:rtp-hdrext:sdes:mid', id: 4 },
{
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time',
id: 2
},
{
uri: 'http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01',
id: 3
},
{ uri: 'urn:ietf:params:rtp-hdrext:ssrc-audio-level', id: 1 },
[length]: 4
],
encodings: [ { ssrc: 2022559690 }, [length]: 1 ],
rtcp: { cname: 'tmaDD6IYjTa4i8i0' }
}
}]
handleProduceRequest [data:{
action: 'produce',
sessionId: '02627dd0-cad7-11ea-8445-a54ebcc8e2b3',
transportId: '41f814fa-e6d8-4a48-bd41-3174001b1c7a',
kind: 'audio',
rtpParameters: {
mid: '1',
codecs: [
{
mimeType: 'audio/opus',
clockRate: 48000,
payloadType: 111,
channels: 2,
rtcpFeedback: [ [Object], [length]: 1 ],
parameters: { minptime: 10, useinbandfec: 1 }
},
[length]: 1
],
headerExtensions: [
{ uri: 'urn:ietf:params:rtp-hdrext:sdes:mid', id: 4 },
{
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time',
id: 2
},
{
uri: 'http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01',
id: 3
},
{ uri: 'urn:ietf:params:rtp-hdrext:ssrc-audio-level', id: 1 },
[length]: 4
],
encodings: [ { ssrc: 2022559690 }, [length]: 1 ],
rtcp: { cname: 'tmaDD6IYjTa4i8i0' }
}
}]
handleProducerRequest() new producer added [id:882f8a47-8fc5-44ed-87b0-596b029e0aca, kind:audio]
sending response {
action: 'produce',
id: '882f8a47-8fc5-44ed-87b0-596b029e0aca',
kind: 'audio'
}
socket::message [jsonMessage:{
action: 'start-record',
sessionId: '02627dd0-cad7-11ea-8445-a54ebcc8e2b3'
}]
handleStartRecordRequest() [data:{
action: 'start-record',
sessionId: '02627dd0-cad7-11ea-8445-a54ebcc8e2b3'
}]
publishProducerRtpStream()
createTransport() [type:plain. options:{ listenIp: '127.0.0.1', rtcpMux: true, comedia: false }]
publishProducerRtpStream()
createTransport() [type:plain. options:{ listenIp: '127.0.0.1', rtcpMux: true, comedia: false }]
createProcess() [sdpString:v=0
o=- 0 0 IN IP4 127.0.0.1
s=FFmpeg
c=IN IP4 127.0.0.1
t=0 0
m=video 24926 RTP/AVP 101
a=rtpmap:101 VP8/90000
a=sendonly
m=audio 22331 RTP/AVP 100
a=rtpmap:100 opus/48000/2
a=sendonly
]
commandArgs:[
'-loglevel',
'debug',
'-protocol_whitelist',
'pipe,udp,rtp',
'-fflags',
'+genpts',
'-f',
'sdp',
'-i',
'pipe:0',
'-map',
'0:v:0',
'-c:v',
'copy',
'-map',
'0:a:0',
'-strict',
'-2',
'-c:a',
'copy',
'-flags',
'+global_header',
'./files/1595283541969.webm',
[length]: 23
]
ffmpeg::process::data [data:'ffmpeg version N-98498-gfa8345c']
ffmpeg::process::data [data:' Copyright (c) 2000-2020 the FFmpeg developers']
ffmpeg::process::data [data:'\n']
ffmpeg::process::data [data:' built with gcc 8 (Debian 8.3.0-6)\n']
ffmpeg::process::data [data:" configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/root/bin --enable-gpl --enable-gnutls --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-libsrt\n"]
ffmpeg::process::data [data:' libavutil 56. 55.100 / 56. 55.100\n']
ffmpeg::process::data [data:' libavcodec 58. 96.100 / 58. 96.100\n']
ffmpeg::process::data [data:' libavformat 58. 48.100 / 58. 48.100\n']
ffmpeg::process::data [data:' libavdevice 58. 11.101 / 58. 11.101\n']
ffmpeg::process::data [data:' libavfilter 7. 87.100 / 7. 87.100\n']
ffmpeg::process::data [data:' libswscale 5. 8.100 / 5. 8.100\n']
ffmpeg::process::data [data:' libswresample 3. 8.100 / 3. 8.100\n']
ffmpeg::process::data [data:' libpostproc 55. 8.100 / 55. 8.100\n']
ffmpeg::process::data [data:'Splitting the commandline.\n']
ffmpeg::process::data [data:"Reading option '-loglevel' ..."]
ffmpeg::process::data [data:" matched as option 'loglevel' (set logging level) with argument 'debug'.\n"]
ffmpeg::process::data [data:"Reading option '-protocol_whitelist' ..."]
ffmpeg::process::data [data:" matched as AVOption 'protocol_whitelist' with argument 'pipe,udp,rtp'.\n"]
ffmpeg::process::data [data:"Reading option '-fflags' ..."]
ffmpeg::process::data [data:" matched as AVOption 'fflags' with argument '+genpts'.\n"]
ffmpeg::process::data [data:"Reading option '-f' ..."]
ffmpeg::process::data [data:" matched as option 'f' (force format) with argument 'sdp'.\n"]
ffmpeg::process::data [data:"Reading option '-i' ..."]
ffmpeg::process::data [data:" matched as input url with argument 'pipe:0'.\n"]
ffmpeg::process::data [data:"Reading option '-map' ..."]
ffmpeg::process::data [data:" matched as option 'map' (set input stream mapping) with argument '0:v:0'.\n"]
ffmpeg::process::data [data:"Reading option '-c:v' ..."]
ffmpeg::process::data [data:" matched as option 'c' (codec name) with argument 'copy'.\n"]
ffmpeg::process::data [data:"Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0:a:0'.\n" +
"Reading option '-strict' ...Routing option strict to both codec and muxer layer\n" +
" matched as AVOption 'strict' with argument '-2'.\n" +
"Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'copy'.\n" +
"Reading option '-flags' ... matched as AVOption 'flags' with argument '+global_header'.\n" +
"Reading option './files/1595283541969.webm' ... matched as output url.\n" +
'Finished splitting the commandline.\n' +
'Parsing a group of options: global .\n' +
'Applying option loglevel (set logging level) with argument debug.\n' +
'Successfully parsed a group of options.\n' +
'Parsing a group of options: input url pipe:0.\n' +
'Applying option f (force format) with argument sdp.\n' +
'Successfully parsed a group of options.\n' +
'Opening an input file: pipe:0.\n' +
"[sdp @ 0x55919b00a2c0] Opening 'pipe:0' for reading\n"]
ffmpeg::process::data [data:'[sdp @ 0x55919b00a2c0] video codec set to: vp8\n' +
'[sdp @ 0x55919b00a2c0] audio codec set to: opus\n' +
'[sdp @ 0x55919b00a2c0] audio samplerate set to: 48000\n' +
'[sdp @ 0x55919b00a2c0] audio channels set to: 2\n']
ffmpeg::process::data [data:'[udp @ 0x55919b012880] ']
ffmpeg::process::data [data:'end receive buffer size reported is 425984\n']
ffmpeg::process::data [data:'[udp @ 0x55919b0121c0] ']
ffmpeg::process::data [data:'end receive buffer size reported is 425984\n']
ffmpeg::process::data [data:'[sdp @ 0x55919b00a2c0] setting jitter buffer size to 500\n' +
'[udp @ 0x55919b00ba40] end receive buffer size reported is 425984\n' +
'[udp @ 0x55919b00b280] end receive buffer size reported is 425984\n' +
'[sdp @ 0x55919b00a2c0] setting jitter buffer size to 500\n']
ffmpeg::process::data [data:'[sdp @ 0x55919b00a2c0] ']
ffmpeg::process::data [data:'Before avformat_find_stream_info() pos: 210 bytes read:210 seeks:0 nb_streams:2\n']
ffmpeg::process::data [data:'[sdp @ 0x55919b00a2c0] Could not find codec parameters for stream 0 (Video: vp8, 1 reference frame, yuv420p): unspecified size\n' +
"Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options\n" +
'[sdp @ 0x55919b00a2c0] After avformat_find_stream_info() pos: 210 bytes read:210 seeks:0 frames:0\n' +
"Input #0, sdp, from 'pipe:0':\n" +
' Metadata:\n' +
' title : FFmpeg\n' +
' Duration: N/A, bitrate: N/A\n' +
' Stream #0:0, 0, 1/90000: Video: vp8, 1 reference frame, yuv420p, 90k tbr, 90k tbn, 90k tbc\n' +
' Stream #0:1, 0, 1/48000: Audio: opus, 48000 Hz, stereo, fltp\n' +
'Successfully opened the file.\n' +
'Parsing a group of options: output url ./files/1595283541969.webm.\n' +
'Applying option map (set input stream mapping) with argument 0:v:0.\n' +
'Applying option c:v (codec name) with argument copy.\n' +
'Applying option map (set input stream mapping) with argument 0:a:0.\n' +
'Applying option c:a (codec name) with argument copy.\n' +
'Successfully parsed a group of options.\n' +
'Opening an output file: ./files/1595283541969.webm.\n' +
"[file @ 0x55919b00b740] Setting default whitelist 'file,crypto,data'\n"]
ffmpeg::process::data [data:'Successfully opened the file.\n' +
'[webm @ 0x55919b01a7c0] dimensions not set\n' +
'Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument\n' +
'Stream mapping:\n' +
' Stream #0:0 -> #0:0 (copy)\n' +
' Stream #0:1 -> #0:1 (copy)\n' +
' Last message repeated 1 times\n' +
'[AVIOContext @ 0x55919b00e800] Statistics: 0 seeks, 0 writeouts\n' +
'[AVIOContext @ 0x55919b013140] Statistics: 210 bytes read, 0 seeks\n']
ffmpeg::process::close
mediasoup loaded [version:3.4.8]
starting server [processName:FFmpeg]
initializeWorkers() creating 1 mediasoup workers
createRouter() creating new router [worker.pid:14257]
Socket Server listening on port 3000
new socket connection [iphttps://rfst.ru]
socket::message [jsonMessage:{
action: 'create-transport',
sessionId: 'd8bfcf90-cad7-11ea-bb21-6390f2f289b4'
}]
createTransport() [type:webRtc. options:undefined]
sending response {
action: 'create-transport',
id: '31c07c55-98d3-43c4-b516-162c38e6bc87',
iceParameters: {
iceLite: true,
password: 'hfgaoylmfcznreofu8d3tvq7wtsogbhk',
usernameFragment: 'smj9bps1iveemlru'
},
iceCandidates: [
{
foundation: 'udpcandidate',
ip: '127.0.0.1',
port: 46351,
priority: 1076558079,
protocol: 'udp',
type: 'host'
},
{
foundation: 'tcpcandidate',
ip: '127.0.0.1',
port: 40914,
priority: 1076302079,
protocol: 'tcp',
tcpType: 'passive',
type: 'host'
},
[length]: 2
],
dtlsParameters: {
fingerprints: [
{
algorithm: 'sha-1',
value: 'F2:E6:C1:85:91:FF:59:22:54:5F:09:EA:A6:20:94:9F:93:D7:C6:DB'
},
{
algorithm: 'sha-224',
value: 'EC:8F:FD:9E:DB:CF:10:BA:22:F1:88:C3:F1:8B:70:2B:7B:5C:32:1A:12:CC:1C:BA:D5:50:5D:63'
},
{
algorithm: 'sha-256',
value: 'BE:BE:2C:0B:B1:D5:FA:92:6D:87:F0:AB:7C:7F:3C:EB:6A:48:44:24:61:63:96:15:55:08:F2:43:F2:22:E8:1A'
},
{
algorithm: 'sha-384',
value: '41:43:F7:DA:25:4A:0E:BC:53:13:98:D6:B5:14:95:75:B8:4A:13:64:30:6E:3A:AC:27:EB:73:4C:FA:C7:48:9B:A2:20:5C:78:90:BE:FD:46:2E:1E:9A:A7:8F:E8:53:BF'
},
{
algorithm: 'sha-512',
value: '01:77:FD:4F:DD:D4:D6:FA:59:ED:4C:42:72:96:31:33:56:09:84:CC:7A:88:3D:9C:61:E2:62:C3:99:CA:D2:55:ED:43:47:BE:D8:EB:6F:70:C0:03:CA:E8:36:A8:BE:12:FD:8C:BD:51:80:50:94:5F:1C:78:B0:2A:5A:D9:BF:42'
},
[length]: 5
],
role: 'auto'
}
}
socket::message [jsonMessage:{
action: 'connect-transport',
sessionId: 'd8bfcf90-cad7-11ea-bb21-6390f2f289b4',
transportId: '31c07c55-98d3-43c4-b516-162c38e6bc87',
dtlsParameters: {
role: 'server',
fingerprints: [
{
algorithm: 'sha-256',
value: '98:E2:F0:44:66:8D:11:C8:58:CD:15:2A:9B:86:81:06:AF:06:73:D4:56:31:EB:DF:A5:DC:B5:71:FE:F1:6C:10'
},
[length]: 1
]
}
}]
handleTransportConnectRequest() transport connected
sending response { action: 'connect-transport' }
socket::message [jsonMessage:{
action: 'produce',
sessionId: 'd8bfcf90-cad7-11ea-bb21-6390f2f289b4',
transportId: '31c07c55-98d3-43c4-b516-162c38e6bc87',
kind: 'video',
rtpParameters: {
mid: '0',
codecs: [
{
mimeType: 'video/VP8',
clockRate: 90000,
payloadType: 96,
rtcpFeedback: [
[Object],
[Object],
[Object],
[Object],
[Object],
[length]: 5
],
parameters: {}
},
{
mimeType: 'video/rtx',
clockRate: 90000,
payloadType: 97,
rtcpFeedback: [ [length]: 0 ],
parameters: { apt: 96 }
},
[length]: 2
],
headerExtensions: [
{ uri: 'urn:ietf:params:rtp-hdrext:sdes:mid', id: 4 },
{ uri: 'urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id', id: 5 },
{
uri: 'urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id',
id: 6
},
{
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time',
id: 2
},
{
uri: 'http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01',
id: 3
},
{
uri: 'http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07',
id: 8
},
{ uri: 'urn:3gpp:video-orientation', id: 13 },
{ uri: 'urn:ietf:params:rtp-hdrext:toffset', id: 14 },
[length]: 8
],
encodings: [ { ssrc: 3422368717, rtx: { ssrc: 1248174812 } }, [length]: 1 ],
rtcp: { cname: 'KWHzQBAZoPomWZHo' }
}
}]
handleProduceRequest [data:{
action: 'produce',
sessionId: 'd8bfcf90-cad7-11ea-bb21-6390f2f289b4',
transportId: '31c07c55-98d3-43c4-b516-162c38e6bc87',
kind: 'video',
rtpParameters: {
mid: '0',
codecs: [
{
mimeType: 'video/VP8',
clockRate: 90000,
payloadType: 96,
rtcpFeedback: [
[Object],
[Object],
[Object],
[Object],
[Object],
[length]: 5
],
parameters: {}
},
{
mimeType: 'video/rtx',
clockRate: 90000,
payloadType: 97,
rtcpFeedback: [ [length]: 0 ],
parameters: { apt: 96 }
},
[length]: 2
],
headerExtensions: [
{ uri: 'urn:ietf:params:rtp-hdrext:sdes:mid', id: 4 },
{ uri: 'urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id', id: 5 },
{
uri: 'urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id',
id: 6
},
{
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time',
id: 2
},
{
uri: 'http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01',
id: 3
},
{
uri: 'http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07',
id: 8
},
{ uri: 'urn:3gpp:video-orientation', id: 13 },
{ uri: 'urn:ietf:params:rtp-hdrext:toffset', id: 14 },
[length]: 8
],
encodings: [ { ssrc: 3422368717, rtx: { ssrc: 1248174812 } }, [length]: 1 ],
rtcp: { cname: 'KWHzQBAZoPomWZHo' }
}
}]
handleProducerRequest() new producer added [id:45315cd7-ed5b-4148-ba99-14a53770e22b, kind:video]
sending response {
action: 'produce',
id: '45315cd7-ed5b-4148-ba99-14a53770e22b',
kind: 'video'
}
socket::message [jsonMessage:{
action: 'produce',
sessionId: 'd8bfcf90-cad7-11ea-bb21-6390f2f289b4',
transportId: '31c07c55-98d3-43c4-b516-162c38e6bc87',
kind: 'audio',
rtpParameters: {
mid: '1',
codecs: [
{
mimeType: 'audio/opus',
clockRate: 48000,
payloadType: 111,
channels: 2,
rtcpFeedback: [ [Object], [length]: 1 ],
parameters: { minptime: 10, useinbandfec: 1 }
},
[length]: 1
],
headerExtensions: [
{ uri: 'urn:ietf:params:rtp-hdrext:sdes:mid', id: 4 },
{
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time',
id: 2
},
{
uri: 'http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01',
id: 3
},
{ uri: 'urn:ietf:params:rtp-hdrext:ssrc-audio-level', id: 1 },
[length]: 4
],
encodings: [ { ssrc: 3712966569 }, [length]: 1 ],
rtcp: { cname: 'KWHzQBAZoPomWZHo' }
}
}]
handleProduceRequest [data:{
action: 'produce',
sessionId: 'd8bfcf90-cad7-11ea-bb21-6390f2f289b4',
transportId: '31c07c55-98d3-43c4-b516-162c38e6bc87',
kind: 'audio',
rtpParameters: {
mid: '1',
codecs: [
{
mimeType: 'audio/opus',
clockRate: 48000,
payloadType: 111,
channels: 2,
rtcpFeedback: [ [Object], [length]: 1 ],
parameters: { minptime: 10, useinbandfec: 1 }
},
[length]: 1
],
headerExtensions: [
{ uri: 'urn:ietf:params:rtp-hdrext:sdes:mid', id: 4 },
{
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time',
id: 2
},
{
uri: 'http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01',
id: 3
},
{ uri: 'urn:ietf:params:rtp-hdrext:ssrc-audio-level', id: 1 },
[length]: 4
],
encodings: [ { ssrc: 3712966569 }, [length]: 1 ],
rtcp: { cname: 'KWHzQBAZoPomWZHo' }
}
}]
handleProducerRequest() new producer added [id:33aa0313-1915-4da8-9454-bc5076af5d12, kind:audio]
sending response {
action: 'produce',
id: '33aa0313-1915-4da8-9454-bc5076af5d12',
kind: 'audio'
}
socket::message [jsonMessage:{
action: 'start-record',
sessionId: 'd8bfcf90-cad7-11ea-bb21-6390f2f289b4'
}]
handleStartRecordRequest() [data:{
action: 'start-record',
sessionId: 'd8bfcf90-cad7-11ea-bb21-6390f2f289b4'
}]
publishProducerRtpStream()
createTransport() [type:plain. options:{ listenIp: '127.0.0.1', rtcpMux: true, comedia: false }]
publishProducerRtpStream()
createTransport() [type:plain. options:{ listenIp: '127.0.0.1', rtcpMux: true, comedia: false }]
createProcess() [sdpString:v=0
o=- 0 0 IN IP4 127.0.0.1
s=FFmpeg
c=IN IP4 127.0.0.1
t=0 0
m=video 20587 RTP/AVP 96
a=rtpmap:96 VP8/90000
a=sendonly
m=audio 27052 RTP/AVP 111
a=rtpmap:111 opus/48000/2
a=sendonly
]
commandArgs:[
'-analyzeduration',
'5M',
'-probesize',
'5M',
'-loglevel',
'debug',
'-protocol_whitelist',
'pipe,udp,rtp',
'-fflags',
'+genpts',
'-f',
'sdp',
'-i',
'pipe:0',
'-map',
'0:v:0',
'-c:v',
'copy',
'-map',
'0:a:0',
'-strict',
'-2',
'-c:a',
'copy',
'-flags',
'+global_header',
'./files/1595283901572.webm',
[length]: 27
]
ffmpeg::process::data [data:'ffmpeg version N-98498-gfa8345c']
ffmpeg::process::data [data:' Copyright (c) 2000-2020 the FFmpeg developers']
ffmpeg::process::data [data:'\n']
ffmpeg::process::data [data:' built with gcc 8 (Debian 8.3.0-6)\n']
ffmpeg::process::data [data:" configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/root/bin --enable-gpl --enable-gnutls --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-libsrt\n"]
ffmpeg::process::data [data:' libavutil 56. 55.100 / 56. 55.100\n']
ffmpeg::process::data [data:' libavcodec 58. 96.100 / 58. 96.100\n']
ffmpeg::process::data [data:' libavformat 58. 48.100 / 58. 48.100\n']
ffmpeg::process::data [data:' libavdevice 58. 11.101 / 58. 11.101\n']
ffmpeg::process::data [data:' libavfilter 7. 87.100 / 7. 87.100\n']
ffmpeg::process::data [data:' libswscale 5. 8.100 / 5. 8.100\n']
ffmpeg::process::data [data:' libswresample 3. 8.100 / 3. 8.100\n']
ffmpeg::process::data [data:' libpostproc 55. 8.100 / 55. 8.100\n']
ffmpeg::process::data [data:'Splitting the commandline.\n']
ffmpeg::process::data [data:"Reading option '-analyzeduration' ..."]
ffmpeg::process::data [data:" matched as AVOption 'analyzeduration' with argument '5M'.\n"]
ffmpeg::process::data [data:"Reading option '-probesize' ..."]
ffmpeg::process::data [data:" matched as AVOption 'probesize' with argument '5M'.\n"]
ffmpeg::process::data [data:"Reading option '-loglevel' ..."]
ffmpeg::process::data [data:" matched as option 'loglevel' (set logging level) with argument 'debug'.\n"]
ffmpeg::process::data [data:"Reading option '-protocol_whitelist' ..."]
ffmpeg::process::data [data:" matched as AVOption 'protocol_whitelist' with argument 'pipe,udp,rtp'.\n"]
ffmpeg::process::data [data:"Reading option '-fflags' ..."]
ffmpeg::process::data [data:" matched as AVOption 'fflags' with argument '+genpts'.\n"]
ffmpeg::process::data [data:"Reading option '-f' ..."]
ffmpeg::process::data [data:" matched as option 'f' (force format) with argument 'sdp'.\n"]
ffmpeg::process::data [data:"Reading option '-i' ..."]
ffmpeg::process::data [data:" matched as input url with argument 'pipe:0'.\n"]
ffmpeg::process::data [data:"Reading option '-map' ..."]
ffmpeg::process::data [data:" matched as option 'map' (set input stream mapping) with argument '0:v:0'.\n"]
ffmpeg::process::data [data:"Reading option '-c:v' ..."]
ffmpeg::process::data [data:" matched as option 'c' (codec name) with argument 'copy'.\n"]
ffmpeg::process::data [data:"Reading option '-map' ..."]
ffmpeg::process::data [data:" matched as option 'map' (set input stream mapping) with argument '0:a:0'.\n"]
ffmpeg::process::data [data:"Reading option '-strict' ..."]
ffmpeg::process::data [data:'Routing option strict to both codec and muxer layer\n']
ffmpeg::process::data [data:" matched as AVOption 'strict' with argument '-2'.\n"]
ffmpeg::process::data [data:"Reading option '-c:a' ..."]
ffmpeg::process::data [data:" matched as option 'c' (codec name) with argument 'copy'.\n"]
ffmpeg::process::data [data:"Reading option '-flags' ..."]
ffmpeg::process::data [data:" matched as AVOption 'flags' with argument '+global_header'.\n"]
ffmpeg::process::data [data:"Reading option './files/1595283901572.webm' ..."]
ffmpeg::process::data [data:' matched as output url.\n']
ffmpeg::process::data [data:'Finished splitting the commandline.\n']
ffmpeg::process::data [data:'Parsing a group of options: global .\n']
ffmpeg::process::data [data:'Applying option loglevel (set logging level) with argument debug.\n']
ffmpeg::process::data [data:'Successfully parsed a group of options.\n']
ffmpeg::process::data [data:'Parsing a group of options: input url pipe:0.\n']
ffmpeg::process::data [data:'Applying option f (force format) with argument sdp.\n']
ffmpeg::process::data [data:'Successfully parsed a group of options.\n']
ffmpeg::process::data [data:'Opening an input file: pipe:0.\n']
ffmpeg::process::data [data:'[sdp @ 0x5622cb89a2c0] ']
ffmpeg::process::data [data:"Opening 'pipe:0' for reading\n"]
ffmpeg::process::data [data:'[sdp @ 0x5622cb89a2c0] ']
ffmpeg::process::data [data:'video codec set to: vp8\n']
ffmpeg::process::data [data:'[sdp @ 0x5622cb89a2c0] ']
ffmpeg::process::data [data:'audio codec set to: opus\n' +
'[sdp @ 0x5622cb89a2c0] audio samplerate set to: 48000\n' +
'[sdp @ 0x5622cb89a2c0] audio channels set to: 2\n' +
'[udp @ 0x5622cb8a2c80] end receive buffer size reported is 425984\n' +
'[udp @ 0x5622cb8a25c0] end receive buffer size reported is 425984\n' +
'[sdp @ 0x5622cb89a2c0] setting jitter buffer size to 500\n']
ffmpeg::process::data [data:'[udp @ 0x5622cb89bc80] ']
ffmpeg::process::data [data:'end receive buffer size reported is 425984\n']
ffmpeg::process::data [data:'[udp @ 0x5622cb89b780] ']
ffmpeg::process::data [data:'end receive buffer size reported is 425984\n']
ffmpeg::process::data [data:'[sdp @ 0x5622cb89a2c0] ']
ffmpeg::process::data [data:'setting jitter buffer size to 500\n']
ffmpeg::process::data [data:'[sdp @ 0x5622cb89a2c0] Before avformat_find_stream_info() pos: 206 bytes read:206 seeks:0 nb_streams:2\n']
ffmpeg::process::data [data:'[sdp @ 0x5622cb89a2c0] Could not find codec parameters for stream 0 (Video: vp8, 1 reference frame, yuv420p): unspecified size\n' +
"Consider increasing the value for the 'analyzeduration' (5000000) and 'probesize' (5000000) options\n" +
'[sdp @ 0x5622cb89a2c0] After avformat_find_stream_info() pos: 206 bytes read:206 seeks:0 frames:0\n' +
"Input #0, sdp, from 'pipe:0':\n" +
' Metadata:\n' +
' title : FFmpeg\n' +
' Duration: N/A, bitrate: N/A\n' +
' Stream #0:0, 0, 1/90000: Video: vp8, 1 reference frame, yuv420p, 90k tbr, 90k tbn, 90k tbc\n' +
' Stream #0:1, 0, 1/48000: Audio: opus, 48000 Hz, stereo, fltp\n' +
'Successfully opened the file.\n' +
'Parsing a group of options: output url ./files/1595283901572.webm.\n' +
'Applying option map (set input stream mapping) with argument 0:v:0.\n' +
'Applying option c:v (codec name) with argument copy.\n' +
'Applying option map (set input stream mapping) with argument 0:a:0.\n' +
'Applying option c:a (codec name) with argument copy.\n' +
'Successfully parsed a group of options.\n' +
'Opening an output file: ./files/1595283901572.webm.\n' +
"[file @ 0x5622cb8a6940] Setting default whitelist 'file,crypto,data'\n" +
'Successfully opened the file.\n' +
'[webm @ 0x5622cb8aad40] dimensions not set\n' +
'Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument\n' +
'Stream mapping:\n' +
' Stream #0:0 -> #0:0 (copy)\n' +
' Stream #0:1 -> #0:1 (copy)\n' +
' Last message repeated 1 times\n' +
'[AVIOContext @ 0x5622cb89b940] Statistics: 0 seeks, 0 writeouts\n' +
'[AVIOContext @ 0x5622cb8a3600] Statistics: 206 bytes read, 0 seeks\n']
ffmpeg::process::close