New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 615940 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

MediaRecorder blobs have mime type not set

Reported by trevordo...@gmail.com, May 31 2016

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36

Steps to reproduce the problem:
1. Record  audio/video in brower using navigator.mediaDevices.getUserMedia pass in audio,video set to true.
2. Finish recording and the blob that is returned has a type set to an empty string.

What is the expected behavior?
I would expect the type to equal "video/webm"

What went wrong?
Because the type is undefined I cannot upload the video via Amazon S3 storage..

Also I am not able to edit the type property if I try to set it to "video/webm" manually it doesn't actually change the property value.

Did this work before? N/A 

Chrome version: 50.0.2661.102  Channel: n/a
OS Version: OS X 10.11.5
Flash Version: Shockwave Flash 21.0 r0

This is a related issue and may be caused by not having the type set.  But If you load the blob into a video element and check the duration you get Infinity.  The only way you can get the duration is by setting the current time to the tend you'll get a duration change event to trigger which gives you the duration but that quickly goes away when the video resets to the beginning.
 
Components: Blink>Media
Cc: ranjitkan@chromium.org
Labels: Needs-Feedback
Could you please help us with a sample test case with which we can try and reproduce it.

Thanks.!
You bet,

I was originally going to create a jsbin, however because of the contraints of getUserMedia. (requiring https) I created the test case on a local server.

So this code is intended to run locally.

How to use.

1.  Click record - let recording run for a few seconds.
2.  Click stop
3.  Click play on the video to play the recording.
4.  Wait for recording to finish

Watch for console.logs and console.warns which identify the problems mentioned in the description.

Please let me know if you need anything else, or if the test case can be improved.  I'm willing to do what I can to help facilitate this process.
index.html
2.5 KB View Download
Project Member

Comment 4 by sheriffbot@chromium.org, Jun 2 2016

Labels: -Needs-Feedback Needs-Review
Owner: ranjitkan@chromium.org
Thank you for providing more feedback. Adding requester "ranjitkan@chromium.org" for another review and adding "Needs-Review" label for tracking.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Needs-Review Needs-Feedback
Owner: ----
Thanks for html file provide, Clicking record button nothing happens and clicking stop button gives the following error on console (Screen Shot attached).

Request you to please take a look and update us if I missed out any thing here.

Thanks.!
Screen Shot 2016-06-07 at 5.00.00 PM.png
106 KB View Download
Sorry, I just realized that I have a specific flag enabled in chrome://flags/

Make sure "Experimental Web Platform features" is Enabled.

I forgot that I had that enabled, its a bummer that this is not part of the main release yet.  However it would still be good to address..

Let me know if you can reproduce it after setting the flag.  Thanks
Project Member

Comment 7 by sheriffbot@chromium.org, Jun 8 2016

Labels: -Needs-Feedback Needs-Review
Owner: ranjitkan@chromium.org
Thank you for providing more feedback. Adding requester "ranjitkan@chromium.org" for another review and adding "Needs-Review" label for tracking.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Needs-Review Needs-Feedback
Owner: ----
Rechecked this on chrome version 54.0.2794.0 by enabling the falg "Experimental Web Platform features". Attached is the screen shot of the output generated. Request you to please check and confirm if this is the issue.

Thanks.!
Screen Shot 2016-07-15 at 11.41.39 AM.png
184 KB View Download
Yes that is the issue.

Thanks!
Components: -Blink>Media Blink>Webrtc>GetUserMedia
Project Member

Comment 11 by sheriffbot@chromium.org, Jul 18 2016

Labels: -Needs-Feedback Needs-Review
Owner: ranjitkan@chromium.org
Thank you for providing more feedback. Adding requester "ranjitkan@chromium.org" for another review and adding "Needs-Review" label for tracking.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: mcasas@chromium.org
Components: -Blink>Webrtc>GetUserMedia Blink>MediaStream>Recording
Labels: -OS-Mac OS-All
Owner: mcasas@chromium.org
Status: Started (was: Unconfirmed)
Summary: MediaRecorder blobs have mime type not set (was: navigator.mediaDevices.getUserMedia - audio/video - blob - type not set)
trevordowdle@ this seems to be an omission, working on it.
Could you eventually verify, once the patch is landed?
You bet, let me know when/where it will be available.

Thank you
Project Member

Comment 15 by bugdroid1@chromium.org, Aug 3 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3e7d8241bc996051f1617b08656b2687cff0a1a0

commit 3e7d8241bc996051f1617b08656b2687cff0a1a0
Author: mcasas <mcasas@chromium.org>
Date: Wed Aug 03 00:22:22 2016

MediaRecorder: add mime type to recorded blobs

... which was forgotten.

This CL also extends appropriately the LayoutTest (and does a micro fix).

BUG= 615940 

Review-Url: https://codereview.chromium.org/2207613003
Cr-Commit-Position: refs/heads/master@{#409397}

[modify] https://crrev.com/3e7d8241bc996051f1617b08656b2687cff0a1a0/third_party/WebKit/LayoutTests/fast/mediarecorder/MediaRecorder-requestData.html
[modify] https://crrev.com/3e7d8241bc996051f1617b08656b2687cff0a1a0/third_party/WebKit/Source/modules/mediarecorder/MediaRecorder.cpp

Status: Fixed (was: Started)
trevordowdle@ can you please verify whenever 409397 hits Canary
(see https://omahaproxy.appspot.com)
Canary 54.0.2817.0 (and subsequents) will be including #15
Confirmed blobs mime type is now being set in Canary.

Two observations (issues) I am seeing in Canary that don't exist in the current mainstream version of chrome (Experimental Web Platform features enabled)

1.  If I record for more than 15 seconds and try to set the blobs data to the video element source I get the following error:

dbfb1b82-cdc4-4171-aaad-4faab468a4a6:1 GET blob:http://127.0.0.1:8080/dbfb1b82-cdc4-4171-aaad-4faab468a4a6 416 (Requested Range Not Satisfiable)

2.  When recording instead of seeing a counter for the elapsed record time I am seeing that it starts with a large number such as 437:25 and counts up every second from there.


#18: those might as well be different errors. Would you
mind filing another bug with a more detailed description,
i.e. machine used, jsfiddle and exact reproduction steps?
Components: Blink>MediaRecording
Components: -Blink>MediaStream>Recording
I am having the same problem as mentioned in comment #18, i.e i get blob 416 (requested range not satisfiable error) on macbook 2013 air chrome 58.0.
The above error happens at a random frequency when i stop recording and try to set the blobs data to the video element source 


On other note, Now that the facebook message has also implemented video recording feature, I get the same error as mentioned in comment #18 and #22 on macbook 2013 air chrome 58.0.

However when i record video on facebook message - macbook pro 2016, i dont get the error.
Screen Shot 2017-05-25 at 8.53.12 PM.png
65.5 KB View Download
Re. #18, comment 2, I believe it's covered by the Available bug
 https://crbug.com/698468 ; 

Re #22 / @18 comment 1, could you please file a new bug with all
the information you can gather? Rationale: In Mac we use hardware 
encoder wherever possible, which is for H264 and resolutions >= VGA,
either if explicitly configured in the MediaRecorder ctor via its
options' Mime type, or if you leave those unconfigured; having the
recording work in one machine but not in other might be related to
that.  If possible, refer to a JSFiddle or codepen or similar; feel
free to use https://codepen.io/miguelao/pen/bZPKwP as start.

Comment 25 by p...@refract.tv, Jul 5 2017

We too are seeing error 416 on a few Macbook Air laptops. Across 3 identical devices, only 2 exhibit the issue. We've confirmed the issue exists for HTML5 web recording services, not just the one we've built.

Why is this marked as "Fixed"?
screen_shot_2017-07-05_at_09.55.57[1].png
31.2 KB View Download
is there another bug/solution for the 416 error? I get it also on mac book pro after record

Comment 27 by m...@canned.me, Nov 29 2017

We have seen this on various models, not only Macbooks. One of our customers just reported in seeing this bug in our app and he runs a Dell computer. Chrome Version 62.0.3202.94 (Official Build) (64-bit) (Latest version as I write this).


Sign in to add a comment