Comments (5)
@muaz-khan I tried various demo using the this library in Firefox and in Chrome also but unfortunately none of is working fine. I am tired now to solve this same issue 👎 I also followed same approach in firefox to sends small chunk video blob to server and at last merge that to the final file using FFMPEG, but there is not length information in the chunks file so FFMPEG creates the corrupted file.
In Chrome as we two separate file for audio and video , I am sending that small chunks to server and convert it to Video file and finally merge that small video to the final video file but the issue is that starting bits of each small file is corrupted and its giving "trrrrrrr" sound on each interval If I generate final file. Also video get's hang 👎
I have also asked question on stackoverflow : http://stackoverflow.com/questions/32312505/record-video-and-audio-and-upload-to-the-server
from mediastreamrecorder.
@dipaktelangre I'll add a working (NO-trrrrrrr in audio) demo soon in a few days. That demo will be able to record longest possible recordings and will solve all sync/noise/echo/silence issues (on desktop platforms only). It will be nodejs based demo, though.
Actually I'm trying to write a reusable script that can be integrated in any WebRTC project. That's why it may take a week or two to publish it. I can't share code in the moment, though.
from mediastreamrecorder.
Hi, not sure if this is the same issue, but when using .save()
, only the first blob plays back in the resulting wav file.
Using Chrome on a mac.
Getting the same behavior when using your online demo, only the first segment plays back.
The file does seem to be larger than just the first blob, so something with the timing data?
Thanks
from mediastreamrecorder.
Having a similar issue while concatenating video/audio webm files:
[webm @ 00000000003a5fe0] Codec for stream 0 does not use global headers but con tainer format requires global headers [webm @ 00000000003a5fe0] Codec for stream 1 does not use global headers but con tainer format requires global headers Output #0, webm, to 'output4.webm': Metadata: encoder : Lavf56.33.101 Stream #0:0: Video: vp8, yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=2-31, 30 fps, 30 tbr, 1k tbn, 1k tbc Stream #0:1: Audio: opus, 48000 Hz, mono Stream mapping: Stream #0:1 -> #0:0 (copy) Stream #0:0 -> #0:1 (copy) Press [q] to stop, [?] for help [concat @ 0000000000361e20] DTS 0 < 14911 out of order [webm @ 00000000003a5fe0] Non-monotonous DTS in output stream 0:0; previous: 149 11, current: 0; changing to 14911. This may result in incorrect timestamps in th e output file. [webm @ 00000000003a5fe0] Non-monotonous DTS in output stream 0:0; previous: 149 11, current: 48; changing to 14911. This may result in incorrect timestamps in t he output file. [webm @ 00000000003a5fe0] Non-monotonous DTS in output stream 0:1; previous: 148 69, current: 59; changing to 14869. This may result in incorrect timestamps in t he output file.
Any idea why?
from mediastreamrecorder.
Hello everybody
I also had the same problem. However you can concatenate properly using ffmpeg as follows:
ffmpeg -i blob1 -i blob2 -i blob3 -filter_complex "[0:v][0:a][1:v][1:a][2:v][2:a] concat=n=3:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" combined.webm
Where in brackets indicates which stream catch of each blob, for example [0:a] takes from blob1 the stream audio and [1: v] takes from blob2 the stream video. The parameter n=3 indicates how many inputs were given and v=1 indicates that the stream has video and a=1 indicates that it has the audio stream.
If you want to recode just add the desired codecs, for example:
ffmpeg -i blob1 -i blob2 -i blob3 -filter_complex "[0:v][0:a][1:v][1:a][2:v][2:a] concat=n=3:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" -acodec libfdk_aac -vcodec libx264 combined.mp4
For example to concatenate audio blobs:
ffmpeg -i blob1 -i blob2 -i blob3 -filter_complex "[0:a][1:a][2:a] concat=n=3:v=0:a=1 [a]" -map "[a]" combined.webm
That was the only way it can correctly concatenate the blobs.
I hope this helps you
from mediastreamrecorder.
Related Issues (20)
- ondataavailable not being called HOT 2
- Allow receiving of ArrayBuffer instead of blobs
- 'onstart' event is not implemented
- how to record the sound of bluetooth headset
- Save recording as MPEG-TS HOT 3
- No MediaRecorder handler can be created HOT 2
- Very high CPU utilization on chrome version 77.X HOT 2
- How to record the system sound or the other party's voice
- Audio Channels constraint
- Float32 to Int16 in StereoAudioRecorderHelper.js
- why I can't save my record file,it's downloaded,but cant play in my player but the bolb link can play in browser HOT 2
- streams with audiotracks only are not recorded and give any data on ondataavailable event HOT 3
- Example of how to record the screen? HOT 1
- MultiStreamRecorder with 1 audio only and 1 video stream results in poor video quality (low resolution) HOT 1
- Deprecation: ScriptProcessorNode
- I want to open two (or more) screens with different sources.
- ERROR TypeError: Failed to construct 'MediaRecorder': parameter 1 is not of type 'MediaStream'.
- exact sync of video and audio HOT 1
- Get audio blob on demand explicitly.
- gif chrome
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 mediastreamrecorder.