ruffle-rs / ruffle

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

player_flv_mini.swf - not working and wrong color #15394

Open Benman2785 opened 9 months ago

Benman2785 commented 9 months ago

Describe the bug

https://hoffmeister.li/tv/stream1.html works fine with flash (also its the correct black color) - while ruffle renders the player differently and it is not playing the flv

Expected behavior

player is "black" not white player can show flv file

Content Location

https://hoffmeister.li/flash-games/swf/player_flv_mini.swf

Affected platform

Desktop app

Operating system

Win11 latest

Browser

Firefox & Chrome

Additional information

actually it would be nice if we add flv with h264, h265 and AV1 support into ruffle.

also: make it possible for the swf to read the rtmp://.// stream directly - so that we can livestream to our own servers :)

Benman2785 commented 9 months ago

about the rtmp part - if i use "jwplayer" it works fine with x264 (but not with AMD AMF - as its not FLV 1.1 standard)

also jwplayer doesnt work with "ruffle and rtmp" yet

Toad06 commented 3 weeks ago

The issue is here:

class ATemplate {
// ...
var video = _root.video_mc; // undefined in Ruffle
function ATemplate() {
// ...

This code is executed within a DoInitAction tag, which means it runs before any PlaceObject2 tags are processed. However, video_mc is an instance created by a PlaceObject2 tag... This causes the video variable to hold an undefined value and leads to the issues described in the bug report. I don't know how Flash handles this.

A workaround for this file is to set this.video = _root.video_mc; directly within the ATemplate function. player_fixed.zip

torokati44 commented 3 weeks ago

Can confirm that the actual video decoding part is working fine. To test easily in Flash Player: ./flashplayer 'https://hoffmeister.li/flash-games/swf/player_flv_mini.swf?flv=https://hoffmeister.li/tv/test1.flv&autoload=1&autoplay=1'

torokati44 commented 3 weeks ago

The audio part will be fixed by #16526.