Closed Bug 1913911 Opened 1 year ago Closed 1 year ago

frame-extractor.com - Firefox is not a supported browser

Categories

(Web Compatibility :: Site Reports, defect, P3)

Firefox 131
Desktop
Windows 10

Tracking

(Webcompat Priority:P2, Webcompat Score:5, firefox129 affected, firefox131 affected)

VERIFIED FIXED
Webcompat Priority P2
Webcompat Score 5
Tracking Status
firefox129 --- affected
firefox131 --- affected

People

(Reporter: ctanase, Unassigned)

References

(Depends on 2 open bugs, )

Details

(Keywords: webcompat:platform-bug, webcompat:site-report, Whiteboard: [webcompat-source:web-bugs])

User Story

platform:windows,mac,linux,android
impact:blocked
configuration:general
affects:all
branch:release

Attachments

(2 files)

Environment:
Operating system: Windows 10
Firefox version: Firefox 129.0/131

Steps to reproduce:

  1. Go to https://frame-extractor.com
  2. Observe the page.

Expected Behavior:
The browser is supported.

Actual Behavior:
Unable to use the frame extraction feature, unsupported message displayed instead.

Notes:

  • Reproduces regardless of the status of ETP
  • Reproduces in Firefox Nightly, and Firefox Release
  • Does not reproduce in Chrome

Created from https://github.com/webcompat/web-bugs/issues/140548

Attached image image.png
Version: unspecified → Firefox 131

Seems like they do feature detection, UA spoofing doesn't seem to work. We should try to figure out which API they spoof on.

Severity: -- → S2
User Story: (updated)
Priority: -- → P3
Attached file 1913911.html

This depends on MediaStreamTrackProcessor method

export async function getTrackReader(video) {
  await video.play()
  const userAgent = navigator.userAgent
  let stream = null

  try {
    if (userAgent.indexOf('Firefox') > -1) {
      stream = video.mozCaptureStream()
    } else {
      stream = video.captureStream()
    }
  } catch (e) {
    return
  }

  const [track] = stream.getVideoTracks()
  await video.pause()

  if (!track) {
    return
  }

  try {
    const processor = new MediaStreamTrackProcessor(track)
    return processor.readable.getReader()
  } catch (e) {
    return
  }
}

 async function checkCompability() {
    const sampleVideo = getVideo('sample.mp4')
    const sampleReader = await getTrackReader(sampleVideo)
    if (!sampleReader) {
      setShowUpload(false)
    }
  }

I've also attached a testcase.

Webcompat Priority: --- → P2
Webcompat Score: --- → 6
Webcompat Score: 6 → 5

Hi, I'm the creator.

I've since added some polyfill and now it's working in FF.

I can confirm, it works on both FF Release and Nightly and I can upload and extract frames without any issues.

Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED

Verified, works as expected.

Tested with:

Browser / Version: Firefox 137.0-candidate build 1
Operating System: Windows 10

Status: RESOLVED → VERIFIED
No longer depends on: 1994562
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: