Expose media-internals data via devtools
Reported by
oren...@gmail.com,
Dec 12 2017
|
||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36 Steps to reproduce the problem: 1. Open dev tools 2. try to implement the chrome://media-internals code 3. the media.onMediaEvent and other media.* API calls are never called What is the expected behavior? Be able to expose the same data as seen in chrome://media-internals in a page devtools What went wrong? unable to get media.* API callbacks to expose media-internals data Did this work before? N/A Chrome version: 63.0.3239.84 Channel: stable OS Version: OS X 10.13.1 Flash Version: Use case: 1) a lot easier debugging as it’s quite cumbersome to switch context to another tab 2) Another possibility - maybe be able to get media-internals info when debugging chromecast(?!) - would be awesome 3) Also, when there are many tabs with videos open(I can’t help it, love to keep them open) it’s hard to find the one u need If there's some issue with security or productization of this - then I don't think this should be accessible from JS page API, but just be able to expose, in a sandboxed way, in a context of playback, e.g. the embedded devtool page of a test page. There are issue where it's a lot easier to be able to see the video and be in the same tab and also see debug.
,
Dec 12 2017
I think another issue(not sure about this) is that there’s some transitional data in the media-internals that can’t be seen if you are not there in the specific moment. I refer to the “Player Properties” table view which changes for each media event, while “Log” table view does retains the full log as it adds a new row on each event
,
Dec 12 2017
We did do some planning work here about a year ago, but developer feedback was that improving the existing tools (and media pipeline) was overall more important. We may now be at a point where those problems have been improved enough that DevTools is a priority. The first step we had in mind was a direct link from element to the media-internals details for that element. This is a convenience feature with very little UI design required, which makes it ideal for a first step towards full DevTools integration. #2: The Player Properties panel is a summary of the log; they contain the same information. We would like to improve how we prioritize logs for preservation as they grow, but it's a tight memory trade-off especially on Android. It's hard to predict in advance whether debugging will be necessary :-(
,
Dec 12 2017
sandersd, you probably don't remember, but I discussed some of this with you @FOMS a year ago(2016). I'm glad o hear this is something you may consider, and as you mention having the link as a first step will improve UX. Would really love to see it in context, e.g. in the dev tools of the same page. In regards of memory - maybe having this on a tab/page level can reduce some memory issues - as you will only require to get events for the current scope, e.g. the page being watched, and not aggregate all media decode pipe - don't know if this is possible or make sense :-( Can you comment on the chromecast support? will the proposed approach enable media-internals info for chromecast as well? Please let me know if you need more info or if anything else is needed in order to get more traction on this.
,
Dec 12 2017
> Can you comment on the chromecast support? I've sent an email to cast folks to get the story. Will post when I hear back
,
Jan 8 2018
Hi Guys, any news here?
,
Jan 10 2018
Hey Oren, Re: cast, they recommend the official debugging steps here (via chrome's remote debugger) https://developers.google.com/cast/docs/debugging The "remote" nature of cast debugging makes this a pretty special case, such that hooking up to media-internals would be a lot of work. They tell me this is not on their road map. Re: broader work in this bug, no action has been taken at this point. I'm personally booked full for the coming quarter. It will remain a tracked bug until someone gets time and/or it climbs in priority.
,
Jan 10 2018
Thanks Chris, hoping this will get picked up one day.... J
,
Dec 4
,
Dec 19
+Ted - I think you took a look at doing this recently. Is there a separate bug filed? Can you make any comment on timeline/feasibility?
,
Jan 4
Hey Oren, I was hoping to start working seriously on this in Q1 / early Q2 of this year. It's good to see there is a demand for it from the community.
,
Jan 6
Hi Ted, it's great to hear. This idea was initially pitched at the end of 2016 :-) Please let me know if you need more info or if there's any way to contribute. There's also a discussion in video-dev slack group in the media-lighthouse channel.
,
Jan 16
(6 days ago)
,
Jan 16
(6 days ago)
Copying bug description from Issue 921265 , which emphasize the privacy implication of this task. Since this will move all players to the current tab, which is already per-profile, it'll also solve the privacy issue. ------------- Today chrome://media-internals is a singleton in the browser process. So players from all user profiles show up in chrome://media-internals page. For example, if I open chrome://media-internals using my personal gmail account/profile, I am able to see what video I watched using my corp account/profile. It's not a big privacy issue since multi-profile are supposed to be used for trusted accounts. But I was still slightly surprised. Also, from a UX perspective, per-profile media-internals will help reduce the number of players on chrome://media-internals, making it slightly easier to find a particular player you are interested in. PS: I checked on ChromeOS by switching between two users on ChromeOS and this does NOT happen. Apparently each user has its own browser process. PS: chrome://sync-internals is per-profile, which makes a lot of sense, since sync is tightly related to profiles/accounts.
,
Jan 16
(6 days ago)
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by chcunningham@chromium.org
, Dec 12 2017Components: Internals>Media
Status: Available (was: Unconfirmed)