[webrtc-nv-use-cases] Live encoded non-WebRTC media use case not compelling (#100)

jan-ivar has just created a new issue for https://github.com/w3c/webrtc-nv-use-cases:

== Live encoded non-WebRTC media use case not compelling ==
> [§ 3.10.1](https://w3c.github.io/webrtc-nv-use-cases/#live-encoded-media) Live encoded non-WebRTC media ... An example is traffic cameras that serve video over HTTP ...

The surveillance use case of a traffic camera is not compelling to Mozilla. We like to measure how end-users stand to benefit from technology, and this use case feels dystopian, and therefore fails on that account.

The use case also seems technically strange, because if this is just a box sitting somewhere then it's an odd use of web tech. And if it's not, and has a user interface, then wouldn’t the web app want to decode the traffic video anyway to play it locally to the user? 

We think the traffic camera should support WebTransport, which was [justified](https://github.com/w3c/webtransport/blob/main/use-cases.md) precisely on this rationale, making this use case moot.

Lastly, the use case seems like an optimization of what is possible today using [VideoTrackGenerator](https://w3c.github.io/mediacapture-transform/#video-track-generator). For example:

```js
// worker.js
onmessage = async () => {
  const generator = new VideoTrackGenerator();
  parent.postMessage({track: generator.track}, [generator.track]);

  const response = await fetch("https://example.com/traffic-cam-api");
  await response.body
    .pipeThrough(new TransformStream({transform: encodedDataToEncodedVideoFrame}))
    .pipeTo(generator.writable);
};

// main.html
const worker = new Worker("worker.js");
worker.postMessage("go");
const {data: track} = await new Promise(r => worker.onmessage);
const pc = new RTCPeerConnection();
pc.addTrack(track);
```
It also seems premature to conclude that optimizing out an encoding step justifies significant API rework, or that this is the bottleneck for e.g. sending 4K over WebRTC.

Please view or discuss this issue at https://github.com/w3c/webrtc-nv-use-cases/issues/100 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Tuesday, 24 January 2023 23:31:57 UTC