ruffle-rs / ruffle

A Flash Player emulator written in Rust
https://ruffle.rs
Other
15k stars 772 forks source link

not support one flv video #8891

Open ivysrono opened 1 year ago

ivysrono commented 1 year ago

Describe the bug

https://zzb.wuxi.gov.cn/doc/2020/12/31/3158429.shtml

Click Run Anyway, get error:

Error dispatching event EventObject(EventObject { type: "timerComplete", class: flash.events::TimerEvent, ptr: 0x2ad388 }) to handler FunctionObject(FunctionObject(GcCell(Gc { ptr: 0x6e18dc }))) : RustError("Property does not exist: Multiname { ns: Single(Package(\"\")), name: Some(\"unescape\"), params: [], flags: (empty) }")

Expected behavior

Play the video.

Affected platform

Browser's extension

Operating system

Win11

Browser

Firefox 108

Additional information

No response

n0samu commented 1 year ago

Ruffle does not support loading external video files yet. See #3801.

Also, the video file on this page uses the H.264 codec, which is unlikely to be supported by Ruffle anytime soon due to patent/licensing restrictions. Ruffle would need to use the browser's native video playback capabilities, which would be particularly difficult to implement.

Lord-McSweeney commented 1 year ago

This now needs NetConnection.client and mixed AVM support.

torokati44 commented 1 month ago

At least on desktop, this will be partially fixed by https://github.com/ruffle-rs/ruffle/pull/14654. For web, I have a WIP (but already functional) branch on top of that PR that delegates H.264 decoding to the browser through the WebCodecs API where supported.

For audio, the AAC-LC audio codec will also have to be wired up (probably/preferably from Symphonia).