muaz-khan / RecordRTC

RecordRTC is WebRTC JavaScript library for audio/video as well as screen activity recording. It supports Chrome, Firefox, Opera, Android, and Microsoft Edge. Platforms: Linux, Mac and Windows.
https://www.webrtc-experiment.com/RecordRTC/
MIT License
6.45k stars 1.75k forks source link

RecordRTC is not working Mac Safari and iphone chrome, safari. #655

Open 0xdhu opened 3 years ago

0xdhu commented 3 years ago

Hello, how are you? I have some issues while using recordRTC. I am using Safari 13.1 on my mac and i tested my iphone safari and chrome.

But it is not working

dineshmaths1 commented 3 years ago
  options: any = {
    type: 'audio',
    mimeType: 'audio/webm'
  }
  interval; recordedTime: string; recordWebRTC: any; mediaRecordStream: any;

startRecording() {    
navigator.mediaDevices.getUserMedia({ audio: true }).then(stream => {
        this.recordWebRTC = new RecordRTC.StereoAudioRecorder(stream, this.options);
   this.recordWebRTC.record();
});

}

  stopRTC() {

    this.recordWebRTC.stop((blob) => {

});
}
ollietb commented 3 years ago

The Supported Browsers table on the homepage says that Safari on MacOSX + iOS (iphone/ipad) supports video and audio recording but none of the demos record video on iOS

stijnvanderpol commented 3 years ago

@monkeyMax-SVG could you elaborate on what is not working?

0xdhu commented 3 years ago

@stijnvanderpol Thank you for your comment I am using PHP version of recordRTC. And i deployed PHP server to Amazon EC2 ubuntu18.04 (with letsencrypt ssl) It is working on windows and mac chrome.

But while I am testing on Safari, if i click startrecording button, it is not recording. Just show screen from webcam.

       `function captureVideo(config) {
            captureUserMedia({video: true}, function(videoStream) {
                recordingPlayer.srcObject = videoStream;

                config.onMediaCaptured(videoStream);

                videoStream.onended = function() {
                    config.onMediaStopped();
                };
            }, function(error) {
                config.onMediaCapturingFailed(error);
            });
        }`
dineshmaths1 commented 3 years ago

RecordRTC Browsers Support

Google Chrome | Windows + MacOSX + Ubuntu + Android | audio + video + screen Firefox | Windows + MacOSX + Ubuntu + Android | audio + video + screen Opera | Windows + MacOSX + Ubuntu + Android | audio + video + screen Edge (new) | Windows (7 or 8 or 10) and MacOSX | audio + video + screen Safari | MacOSX + iOS (iphone/ipad) | audio + video

0xdhu commented 3 years ago

yes but it is not correct nowadays. i think It is for old versions.

ollietb commented 3 years ago

The demo url on safari iOS doesn’t show the option to record video 05B993D8-CDA6-4073-B82B-3C569FC594DB

ollietb commented 3 years ago

The video recording demo shows a live preview but no option to record CD4CC3C1-66C9-4698-AE54-900352172BA9 6E6D75E8-B0C4-4179-9154-F5D4D41B94CE

ollietb commented 3 years ago

The webassembly demo opens the live preview but clicking the stop recording button doesn’t seem to do anything E6A7A313-800C-444F-92C6-E590773E1CCC

scriptorum commented 3 years ago

I may be suffering from brain dumb, but wasn't this working previously on Safari/iOS?

balbertini commented 3 years ago

Hello, I confirm that it was working on Safari (both desktop and iOS) bit it's not. Not sure when apple decided to update something. Not even enabling MediaRecorder experimental feature works anymore.

dineshmaths1 commented 3 years ago

am using this code

 navigator.mediaDevices.getUserMedia({ audio: true }).then(stream => {
        this.recordWebRTC = new RecordRTC.StereoAudioRecorder(stream, this.options);
   this.recordWebRTC.record();
});

ios and mac safari supporting for me

sharjeel619 commented 3 years ago

@dineshmaths1 Does this library even support audio/video recording on macos safari and ios safari, without enabling some experimental features?

ollietb commented 3 years ago

@dineshmaths1 so you're using StereoAudioRecorder - does that mean that you don't have video recording working on ios or mac safari?

dineshmaths1 commented 3 years ago

@dineshmaths1 Does this library even support audio/video recording on macos safari and ios safari, without enabling some experimental features?

am recording audio only

scriptorum commented 3 years ago

What's the status of this? Has anyone tied this to a recent Apple update?

Marcosdg3 commented 3 years ago

@scriptorum take a look and comment here: https://bugs.webkit.org/show_bug.cgi?id=85851

Apple's webkit doesn't officially support MediaRecorder API yet. Only in experimental mode will it somewhat work ATM and needs bug testing.

jugalbhavsar commented 3 years ago

Is there any update on this issue?

Marcosdg3 commented 3 years ago

Checkout comment on #351

https://github.com/muaz-khan/RecordRTC/issues/351#issuecomment-705980221

no-1ne commented 3 years ago

Web assembly recorder should theoretically work , but I am also seeing the hand issue.

Another option is whammy recorderer which is lighter weight, But it uses canvas.toDataURL('image/webp') which looks like png is returned on safari..

Workaround for that would be convert canvas png to webp on the fly using web assembly,using something like.. Compression may take a hit as it's only considering intra frame compression not interframe video compression a compromise for faster encoding

https://github.com/GoogleChromeLabs/squoosh/tree/dev/codecs/webp/enc

prashant-sfl commented 2 years ago

Hi there! if anyone still working on this. Safari is still not able to record or play recorded videos.

I am using RecordRTC to allow my application user to record their video and upload. This works perfectly fine with Chrome and Mozila Firefox but Safari having trouble playing recorded videos. I research for the same and found mimeType: 'video/webm\;codecs=vp8' to be used for safari. However this still won't work on Safari browsers. (mac OS x and iOS)

Can someone please help me with this? I have multiple users working on different operating systems and working on different browsers and I want to make sure RecordRTC works for all of them.

I am open to change/ switch to any other alternative if available to implement this feature with cross-browser support of course.

I found Twilio but I am not sure whether Twilio supports standalone recordings or not? I mean I just want single user to go on a page record a video and upload.

Please see below my RecordRTC configuration if it helps: const options = { type: 'video', mimeType: 'video/webm\;codecs=vp8', bitsPerSecond: 128000, timeSlice: 1000 }; After user completes the recording, I am converting it to a blob and append it to the formData to save it to the server: var recordedBlob: Blob = recordRTC.getBlob(); formData.append('files', recordedBlob, this.courseComponent?.courseComponent?.name + '.webm');``

This recorded video plays fine in Chrome and Firefox but in Safari it Fails. Please if you can guide me through this it will be great help to me. Thanks.

Below are the console log snaps: 1.browser does not support media recorder api image

  1. when tried to play the recorded video image

3.says browser does not support media recorder api and try using whammyRecorder (which doesn't work either) image

rtxgold commented 2 years ago

8/20/2021: Safari iOS not supported for RecordRTC: vidx but after i press ok the camera live preview appear but no recording

Lakshmikanth8055 commented 2 years ago

Hello, We are facing issue on Ipad-Chrome browser (OS-14.7 and OS- 14.3 ) and (Latest chrome version) , We can record the video but not able to play on the chrome browser, but same working fine in the safari browser. (In the Iphone safari and chrome it is working fine).. Any Suggestion or Solutions please.

marcusx2 commented 2 years ago

Can't record anything either..

demirdoven commented 2 years ago

Hi there, I have the same issue.

I use only audio recording. I noticed that I can't play recorded sounds on Iphone (chrome browser). But only sounds which were recorded from an Iphone can be played on Iphone. If I record a voice on laptop (mac or win doesnt matter), or record on an Android phone, my IPhone doesnt play that sound. If I record a voice on IPhone, all device play this song.

Anyone have an idea what is the reason of this?

NousherwanBurki commented 1 year ago

@demirdoven I am facing same problem have you find any fix ?

Faeezu44 commented 11 months ago

@muaz-khan any update on this or a roadmap for solving this. if we can somehow help or contribute.

michaelinio commented 3 months ago

@muaz-khan Any advancements on this issue? A simple "no" is also an acceptable answer. (: