Comments (17)
This occurs with gstreamer.
from mediasoup3-record-demo.
Can you check the stats of the RTP consumer and check that it is receiving packets?
from mediasoup3-record-demo.
This is what I get in server log.
socket::message [jsonMessage:{
action: 'start-record',
sessionId: '9b8d0330-ab98-11ea-a490-e366f9d40a88'
}]
handleStartRecordRequest() [data:{
action: 'start-record',
sessionId: '9b8d0330-ab98-11ea-a490-e366f9d40a88'
}]
publishProducerRtpStream()
createTransport() [type:plain. options:{ listenIp: '127.0.0.1', rtcpMux: false, comedia: false }]
publishProducerRtpStream()
createTransport() [type:plain. options:{ listenIp: '127.0.0.1', rtcpMux: false, comedia: false }]
gstreamer::process::stdout::data [data:'Setting pipeline to PAUSED ...\n']
gstreamer::process::stdout::data [data:'Pipeline is live and does not need PREROLL ...\n']
gstreamer::process::stdout::data [data:'/GstPipeline:pipeline0/GstUDPSrc:udpsrc0.GstPad:src: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, payload=(int)101, encoding-name=(string)VP8, ssrc=(uint)1974725326\n' + '/GstPipeline:pipeline0/GstRtpBin:rtpbin.GstGhostPad:recv_rtp_sink_0.GstProxyPad:proxypad0: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, payload=(int)101, encoding-name=(string)VP8, ssrc=(uint)1974725326\n' + '/GstPipeline:pipeline0/GstRtpBin:rtpbin/GstFunnel:funnel0.GstFunnelPad:funnelpad0: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, payload=(int)101, encoding-name=(string)VP8, ssrc=(uint)1974725326\n']
gstreamer::process::stdout::data [data:'/GstPipeline:pipeline0/GstRtpBin:rtpbin.GstGhostPad:recv_rtp_sink_0: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, payload=(int)101, encoding-name=(string)VP8, ssrc=(uint)1974725326\n' +
'/GstPipeline:pipeline0/GstUDPSrc:udpsrc1.GstPad:src: caps = application/x-rtp, media=(string)audio, clock-rate=(int)48000, payload=(int)100, encoding-name=(string)OPUS, ssrc=(uint)2922796142\n' +
'/GstPipeline:pipeline0/GstRtpBin:rtpbin.GstGhostPad:recv_rtp_sink_1.GstProxyPad:proxypad1: caps = application/x-rtp, media=(string)audio, clock-rate=(int)48000, payload=(int)100, encoding-name=(string)OPUS, ssrc=(uint)2922796142\n' + '/GstPipeline:pipeline0/GstRtpBin:rtpbin/GstFunnel:funnel2.GstFunnelPad:funnelpad1: caps = application/x-rtp, media=(string)audio, clock-rate=(int)48000, payload=(int)100, encoding-name=(string)OPUS, ssrc=(uint)2922796142\n' +
'/GstPipeline:pipeline0/GstRtpBin:rtpbin.GstGhostPad:recv_rtp_sink_1: caps = application/x-rtp, media=(string)audio, clock-rate=(int)48000, payload=(int)100, encoding-name=(string)OPUS, ssrc=(uint)2922796142\n']
gstreamer::process::stdout::data [data:'Setting pipeline to PLAYING ...\n']
gstreamer::process::stdout::data [data:'New clock: GstSystemClock\n']
socket::message [jsonMessage:{
action: 'stop-record',
sessionId: '9b8d0330-ab98-11ea-a490-e366f9d40a88'
}]
handleStopRecordRequest() [data:{
action: 'stop-record',
sessionId: '9b8d0330-ab98-11ea-a490-e366f9d40a88'
}]
kill() [pid:71408]
from mediasoup3-record-demo.
Can you check the stats of the RTP consumer and confirm packets are being received?
from mediasoup3-record-demo.
Hi , i have the same problem with file size being 0 bytes , i think the problem is somewhere in command parameters , my packets are being received 100%.
Haven't tested with ffmpeg , this problem occurs when using gstreamer , with video source type.
Audio source work perfectly.
OS: macOS Catalina
P.S @ethand91 can you confirm that video recording with gstreamers works on your machine ?
from mediasoup3-record-demo.
This was tested using Mac OS Catalina, can you check you have the vpx decoders/encoders?
gst-inspect-1.0 | grep vpx
Also could you share the rtpParameters of the relaying consumer?
from mediasoup3-record-demo.
vpx: vp9dec: On2 VP9 Decoder
vpx: vp8enc: On2 VP8 Encoder
vpx: vp8dec: On2 VP8 Decoder
----
{
codecs: [
{
mimeType: 'video/VP8',
payloadType: 101,
clockRate: 90000,
parameters: {},
rtcpFeedback: [Array]
},
{
mimeType: 'video/rtx',
payloadType: 102,
clockRate: 90000,
parameters: [Object],
rtcpFeedback: []
}
],
headerExtensions: [
{
uri: 'urn:ietf:params:rtp-hdrext:sdes:mid',
id: 1,
encrypt: false,
parameters: {}
},
{
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time',
id: 4,
encrypt: false,
parameters: {}
},
{
uri: 'http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01',
id: 5,
encrypt: false,
parameters: {}
},
{
uri: 'http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07',
id: 6,
encrypt: false,
parameters: {}
},
{
uri: 'urn:ietf:params:rtp-hdrext:framemarking',
id: 7,
encrypt: false,
parameters: {}
},
{
uri: 'urn:3gpp:video-orientation',
id: 11,
encrypt: false,
parameters: {}
},
{
uri: 'urn:ietf:params:rtp-hdrext:toffset',
id: 12,
encrypt: false,
parameters: {}
}
],
encodings: [ { ssrc: 915808166, rtx: [Object], scalabilityMode: 'S3T3' } ],
rtcp: { cname: 'B4G+p/IEq2WrHllq', reducedSize: true, mux: true },
mid: '0'
}
from mediasoup3-record-demo.
Could you try updating the source and see if that works?
from mediasoup3-record-demo.
Works for me. Thanks.
from mediasoup3-record-demo.
Great! Seems to be the payloadTypes in the SDP wasn't correct.
@itzmanish Does it work for you?
from mediasoup3-record-demo.
I use ffmpeg, but I had the same issue today.
For me, the problem was the listenIp in server config. I set it to 0.0.0.0 first and had the error.
When I set it to 127.0.0.1 the error was resolved.
Found it in this issue: #7
from mediasoup3-record-demo.
Great! Seems to be the payloadTypes in the SDP wasn't correct.
@itzmanish Does it work for you?
nope. I am running it on 0.0.0.0 and got error with FFMPEG.
publishProducerRtpStream()
createTransport() [type:plain. options:{ listenIp: '0.0.0.0', rtcpMux: true, comedia: false }]
publishProducerRtpStream()
createTransport() [type:plain. options:{ listenIp: '0.0.0.0', 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 25313 RTP/AVP 101
a=rtpmap:101 VP8/90000
a=sendonly
m=audio 29868 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/1592531311746.webm',
[length]: 23
]
events.js:292
throw er; // Unhandled 'error' event
^
Error: write EPIPE
at afterWriteDispatched (internal/stream_base_commons.js:154:25)
at writeGeneric (internal/stream_base_commons.js:145:3)
at Socket._writeGeneric (net.js:786:11)
at Socket._write (net.js:798:8)
at doWrite (_stream_writable.js:403:12)
at writeOrBuffer (_stream_writable.js:387:5)
at Socket.Writable.write (_stream_writable.js:318:11)
at Readable.ondata (_stream_readable.js:717:22)
at Readable.emit (events.js:315:20)
at Readable.read (_stream_readable.js:506:10)
Emitted 'error' event on Socket instance at:
at errorOrDestroy (internal/streams/destroy.js:108:12)
at Socket.onerror (_stream_readable.js:753:7)
at Socket.emit (events.js:315:20)
at errorOrDestroy (internal/streams/destroy.js:108:12)
at onwriteError (_stream_writable.js:418:5)
at onwrite (_stream_writable.js:445:5)
at internal/streams/destroy.js:50:7
at Socket._destroy (net.js:679:5)
at Socket.destroy (internal/streams/destroy.js:38:8)
at afterWriteDispatched (internal/stream_base_commons.js:154:17) {
errno: 'EPIPE',
code: 'EPIPE',
syscall: 'write'
}
from mediasoup3-record-demo.
However with GSTREAMER flag file size still is 0 bytes.
from mediasoup3-record-demo.
You need to set webRtcTransport.ip to 127.0.0.1 or your local network, it will not work with 0.0.0.0.
from mediasoup3-record-demo.
You need to set webRtcTransport.ip to 127.0.0.1 or your local network, it will not work with 0.0.0.0.
Still not working with 127.0.0.1
from mediasoup3-record-demo.
if the page and the server are not on the same machine 127.0.0.1 will not work, try using your network ip.
from mediasoup3-record-demo.
connecting server remotely
using network ip
still the recording file has zero mb only
from mediasoup3-record-demo.
Related Issues (20)
- Could not write header for output file HOT 1
- npm install fails to download mediasoup verstion when node verstion is latest 15.x HOT 1
- Issue FFmpeg server start upon start recording HOT 4
- stop recorder throws exception, I am starting the server with gstream HOT 2
- Documentation should explain the IP meaning and changes needed in this configuration HOT 2
- How can I just use FFmpeg command in terminal to record?
- How can I record in another computer instead of the computer which the medaisoup server is running? HOT 1
- Bash script with ffmpeg ? HOT 2
- recording a stream with the mediasoup demo ?
- Websocket connection failing HOT 7
- recorded file is of 0 bytes HOT 1
- Firefox not recording HOT 2
- when we disable video and enable back FFmpeg doesn't add the video track back. HOT 3
- Handle getUserMedia errors HOT 1
- Multiple codec support
- Docker support
- npm install error HOT 1
- Does it supports individual audio recording of room HOT 1
- Unhandle Promise Rejection: HOT 2
- work Compilation Error with c++ standard HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mediasoup3-record-demo.