Comments (5)
Hello,
Could you tried adding "-analyzeduration 2147483647 -probesize 2147483647" to the beginning of the ffmpeg command args.
from mediasoup3-record-demo.
hi
I add the -analyzeduration and -probesize option into the ffmpeg.js
get _commandArgs () { let commandArgs = [ '-analyzeduration', '2147483647', '-probesize', '2147483647', '-loglevel', 'debug', '-protocol_whitelist', 'pipe,udp,rtp', '-fflags', '+genpts', '-f', 'sdp', '-i', 'pipe:0' ];
and the error is also:
ffmpeg::process::data [data:'ffmpeg version 4.2.2-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2019 the FFmpeg developers\n' + ' built with gcc 8 (Debian 8.3.0-6)\n' + ' configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg\n' + ' libavutil 56. 31.100 / 56. 31.100\n' + ' libavcodec 58. 54.100 / 58. 54.100\n' + ' libavformat 58. 29.100 / 58. 29.100\n' + ' libavdevice 58. 8.100 / 58. 8.100\n' + ' libavfilter 7. 57.100 / 7. 57.100\n' + ' libswscale 5. 5.100 / 5. 5.100\n' + ' libswresample 3. 5.100 / 3. 5.100\n' + ' libpostproc 55. 5.100 / 55. 5.100\n' + 'Splitting the commandline.\n' + "Reading option '-analyzeduration' ..."] ffmpeg::process::data [data:" matched as AVOption 'analyzeduration' with argument '2147483647'.\n" + "Reading option '-probesize' ..."] ffmpeg::process::data [data:" matched as AVOption 'probesize' with argument '2147483647'.\n" + "Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.\n" + "Reading option '-protocol_whitelist' ..."] ffmpeg::process::data [data:" matched as AVOption 'protocol_whitelist' with argument 'pipe,udp,rtp'.\n" + "Reading option '-fflags' ..."] ffmpeg::process::data [data:" matched as AVOption 'fflags' with argument '+genpts'.\n" + "Reading option '-f' ... matched as option 'f' (force format) with argument 'sdp'.\n" + "Reading option '-i' ... matched as input url with argument 'pipe:0'.\n" + "Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0:v:0'.\n" + "Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'copy'.\n" + "Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0:a:0'.\n" + "Reading option '-strict' ..."] ffmpeg::process::data [data:'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' ..."] ffmpeg::process::data [data:" matched as AVOption 'flags' with argument '+global_header'.\n" + "Reading option '/root/recording/files/1585703359744.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 @ 0x6f20400] Opening 'pipe:0' for reading\n"] ffmpeg::process::data [data:'[sdp @ 0x6f20400] video codec set to: vp8\n'] ffmpeg::process::data [data:'[sdp @ 0x6f20400] audio codec set to: opus\n' + '[sdp @ 0x6f20400] audio samplerate set to: 48000\n' + '[sdp @ 0x6f20400] audio channels set to: 2\n' + '[udp @ 0x6f28cc0] end receive buffer size reported is 131072\n'] ffmpeg::process::data [data:'[udp @ 0x6f287c0] end receive buffer size reported is 131072\n' + '[sdp @ 0x6f20400] setting jitter buffer size to 500\n' + '[udp @ 0x6f21dc0] end receive buffer size reported is 131072\n' + '[udp @ 0x6f217c0] end receive buffer size reported is 131072\n' + '[sdp @ 0x6f20400] setting jitter buffer size to 500\n' + '[sdp @ 0x6f20400] Before avformat_find_stream_info() pos: 208 bytes read:208 seeks:0 nb_streams:2\n'] ffmpeg::process::data [data:'[sdp @ 0x6f20400] Could not find codec parameters for stream 0 (Video: vp8, 1 reference frame, yuv420p): unspecified size\n' + "Consider increasing the value for the 'analyzeduration' and 'probesize' options\n"] ffmpeg::process::data [data:'[sdp @ 0x6f20400] After avformat_find_stream_info() pos: 208 bytes read:208 seeks:0 frames:0\n' + "Input #0, sdp, from 'pipe:0':\n"] ffmpeg::process::data [data:' 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 /root/recording/files/1585703359744.webm.\n' + 'Applying option map (set input stream mapping) with argument 0:v:0.\n'] ffmpeg::process::data [data:'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: /root/recording/files/1585703359744.webm.\n'] ffmpeg::process::data [data:"[file @ 0x6f7c940] Setting default whitelist 'file,crypto'\n"] ffmpeg::process::data [data:'Successfully opened the file.\n' + '[webm @ 0x6f30a40] 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 @ 0x6f7c7c0] Statistics: 0 seeks, 0 writeouts\n' + '[AVIOContext @ 0x6f296c0] Statistics: 208 bytes read, 0 seeks\n'] ffmpeg::process::close/pre>
from mediasoup3-record-demo.
It looks like it's not reading the vp8 track correctly, have you changed the mediasoup config file?
Also could you check the mediasoup debug logs?
from mediasoup3-record-demo.
hi,I found the error.
the error is i change the webRtcTransport ip to "0.0.0.0",
when update it to the local ip , that is ok!
Thanks!
from mediasoup3-record-demo.
Great! Thanks for sharing your solution :)
from mediasoup3-record-demo.
Related Issues (20)
- 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
- Firefox does not allow to camera
- On record, video and sound does not match HOT 1
- FFmpeg error "dimensions not set" HOT 1
- ffmpeg child_process close unwanted
- refactor server with Typescript 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.