HTTP Live Streaming (HLS) with Electra Plugin

The Youtube video does better job explaining the details but basically what I’m trying to do is simply stream a live video feed (ideally from AWS IVS) directly to all users using the application. The video source address is static so it can be hardcoded and packaged with the application.

I have the Electra plugins enabled.

WMF settings set to allow non standard Codecs

My media source is set correctly and using the Electra Player

I still get this error though:
LogElectraPlayer: Error: [00000877D3DF6C00][00000877FAD4D190] MP4 parser: Invalid filler data size of 0x47400015 to read at offset 0x8 in box 0x0000b00d (size 0x4740001d, offset 0x0, dataoffset 0x8)

Full error:

LogElectraPlayerPlugin: [0000087791900EE0] IMediaPlayer::Open: Options@000008778F049C30
LogElectraPlayer: [00000877D3DF6C00][00000877FAD4D190] IMediaPlayer::Open(https://8459b3c94de9.us-east-1.playback.live-video.net/api/video/v1/us-east-1.762877472813.channel.Chkm6GbhPudB.m3u8)
LogElectraPlayer: [00000877D3DF6C00][00000877FAD4D190] Opening stream at "https://8459b3c94de9.us-east-1.playback.live-video.net/api/video/v1/us-east-1.762877472813.channel.Chkm6GbhPudB.m3u8"
LogElectraPlayer: [00000877D3DF6C00][00000877FAD4D190] Received master playlist from "https://8459b3c94de9.us-east-1.playback.live-video.net/api/video/v1/us-east-1.762877472813.channel.Chkm6GbhPudB.m3u8"
LogElectraPlayer: [00000877D3DF6C00][00000877FAD4D190] Received initial stream playlists
LogElectraPlayer: [00000877D3DF6C00][00000877FAD4D190] Found 1920 * 1080 video stream at bitrate 2846828
LogElectraPlayerPlugin: [0000087791900EE0] IMediaControls::SetRate(1.000000)
LogElectraPlayer: [00000877D3DF6C00][00000877FAD4D190] Initial buffering starts
LogElectraPlayer: [00000877D3DF6C00][00000877FAD4D190] Player switched video quality to 2846828 bps from 0 bps. 0 upswitches, 0 downswitches (0 drastic ones)
LogElectraPlayer: Error: [00000877D3DF6C00][00000877FAD4D190] MP4 parser: Invalid filler data size of 0x47400015 to read at offset 0x8 in box 0x0000b00d (size 0x4740001d, offset 0x0, dataoffset 0x8)
LogElectraPlayer: Error: [00000877D3DF6C00][00000877FAD4D190] HLS fmp4 reader: Failed to download segment "https://video-edge-82d760.atl01.hls.live-video.net/v1/segment/Cs4FcwnzM0Cpq1iUnoOHIKSYGPVU7iSq8ny98L1eSQmVn4XoJlpT1J8uzsfISXroiAbx6muWFao5ZmhKKIy6HbiYwG7RXOXkoUNcddUXt76LUIg2BGz1w1rjZl3wwJD5vhMg7O4fNUR8z1devgm_Xn50VhkvmAzzvM12Su9wnX4yuq2Zfit_K-i3mwrMA4eFcH4ZD_8aVIP6amdHAwylraRPqCU2ivBU3TMmwdrOJC_w3UEYD1cS9pdES7cfrbqhUJ50WmTOx9g8J-3Uqty2WDGM5_Q7uicmWN3hdfIdN0wwp3pJgAr4zwtcponbinv73LaxC4fD8q876JcObJXWytRpDpQv_lGOwFGf13or6qg6FBjDttdRKlc6z-7Hj4R7beMh-5cd9rLPDrOwkQNLyZRq0dk2XwyEb0chsR22BQG5PDj
8RAUqbuh7Y53mV1Suct_z2q9hReOIFLor3oCe6DMiN5mXCjk4UOe1yIFJMJAhcyec9hI36qo4IEPMVi7r6HY8udzB10RPW3NZdlxs0I8zD_8VPfwZQuEzi2_kfDBUTCNCqSsIUeYGkWpVjsDIyIC91K_6-m_4ZcOqOqAmIPmA2u9R3jV8A7uhGj_WLqS_tqACs32GeotmZCZP-e04iA65xNmc6lULhg0K5sI-l8VYQ2JMWh-RKEtZJd3ufOsl0TieGmS9CCztfkO1BUxLJP4b9zgSf9D_qF0HUc2LCrNNd8_wtKM68IYqWZcaacBXB3GdK49vxGM9oZNvhrDPsT55A0pmN9c46E0BgdB9pqcs4tGAfAwn4vwu2URYz43g7NEzu3IIwf-GjmUFOGHaCeybFIqt6sY4GsGSOBcEEPeL4cr-3izYZR-4gV6i-Ehhk5uEkPc32Av001NyjoYgStqg5TnF6nwcVIvomzELvK7uqbJ-GJnZ4pzyHkMdkMzbUhWGIVAK2lNdsLb5taOSHxoM1jijRPd1iMGBCZg4IAEqCXVzLWVhc3QtMTCPBA.ts"
LogElectraPlayer: [00000877D3DF6C00][00000877FAD4D190] Media segment download issue (): retry:0, success:0, aborted:0, filler:0
LogElectraPlayer: [00000877D3DF6C00][00000877FAD4D190] Media segment download issue (): retry:1, success:1, aborted:0, filler:1
LogElectraPlayer: [00000877D3DF6C00][00000877FAD4D190] Initial buffering ended after 0.666s
LogElectraPlayer: [00000877D3DF6C00][00000877FAD4D190] Player starts prerolling to warm decoders and renderers
LogElectraPlayer: [00000877D3DF6C00][00000877FAD4D190] Playback paused at play position 1674595855.511
LogElectraPlayer: Error: [00000877D3DF6C00][00000877FAD4D190] ReportError: "error=0 in Player: code 5, "Unsupported video codec""
LogElectraPlayer: [00000877D3DF6C00][00000877FAD4D190] IMediaPlayer::Close()
LogElectraPlayer: [00000877D3DF6C00][00000877FAD4D190] Playback stopped. Last play position 1674595855.511
LogElectraPlayer: [00000877D3DF6C00][00000877FAD4D190] Electra player statistics:
OS: Windows 10 (22H2) [10.0.19045.2486]
GPU Adapter: NVIDIA GeForce RTX 3070
URL: https://8459b3c94de9.us-east-1.playback.live-video.net/api/video/v1/us-east-1.762877472813.channel.Chkm6GbhPudB.m3u8
Time after master playlist loaded: 0.313s
Time after stream playlists loaded: 0.474s
Time for initial buffering: 0.666s
Initial video stream bitrate: 2846828 bps
Initial buffering bandwidth bps: 21464744.745
Initial buffering latency: 0.091s
Time for initial preroll: -1.000s
Number of times moved forward: 0
Number of times moved backward: 0
Number of times looped: 0
Number of times rebuffered: 0
Total time spent rebuffering: 0.000s
Longest rebuffering time: 0.000s
First media timeline start: 1674595843.011s
First media timeline end: 1674595875.944s
Last media timeline start: 1674595843.011s
Last media timeline end: 1674595875.944s
Media duration: -1.000s
Play position at start: -1.000s
Play position at end: -1.000s
Number of quality upswitches: 0
Number of quality downswitches: 0
Number of drastic downswitches: 0
Bytes of video data streamed: 3573880
Bytes of audio data streamed: 0
Number of segments fetched across all quality levels:
2846828 : 2
Currently active playlist URL: $video$
Currently active resolution: 1920 * 1080
Current state: Paused
Number of video frames dropped: 0, worst time delta 0.000 ms
Number of audio frames dropped: 0, worst time delta 0.000 ms
Last error: error=0 in Player: code 5, "Unsupported video codec"
Subtitles URL: 
Subtitles response time: 0.000s
Subtitles last error: 
LogHttp: Warning: 00000877FC070A00: request was cancelled
LogElectraPlayer: [00000877FAD4D190] DoCloseAsync() finished after 114.414 msec!

I am able to get a local (usb) webcam streaming in-engine without issue.

I could stream directly from YouTube using a Web Browser widget but can’t hard code that address and there’s added latency. It would work in a pinch but I really want to get this working as it should.

Any help with this would be greatly appreciated. It seems there’s a number of forum posts but apparently no one to has successfully gotten it to work which is unfortunate.

Thanks in advance for any assistance.

2 Likes

Hello I’v been experimenting with the Electra Media player on getting a Youtube/Twitch URL to work from inputting the URL to the media player but have had no luck in that area

But I did manage to get an extracted Twitter video from a third-party website where I am able to copy the extracted video palyer URL output and paste it into the Electra player and it works

Showcase: Twitter Video In Electra Media test - YouTube

I hope this helps

Do you have the video file downloaded locally on your machine? If not is it loading the extracted video as a web browser? This is really cool but it seems like it wouldn’t allow for real-time broadcasting.

Yes I can only input a working .mp4 media display URL for the internet into the Electra player without downloading it on my pc

Hey, i am currently trying to achieve the same and doing research on how to do it.
I think the problem is that in the documentation it only supports very specific HLS video and audio codecs.
In your log it also prints a message with “unsupported video codec” so i think it is save to asume that is the issue, while your test stream from twitter must be outputting the correct ones.
Obs i believe is not outputting in these codecs or even can…
I am not sure a bout the option available on the amazon service.
I will try and figure out a solution for this and send an update here, please let me know if you found one yourself.

Thanks for replying. That’s exactly what I suspected.
I tried reading into some of the movie rendering command lines for so clue as to how to configure OBS and AWS which is the ideal setup I imagine for most people. You can find the documents here: How to use FFmpeg with the Command Line Encoder in Movie Render Queue | Community tutorial
But, I obviously don’t expect you to read through it all on your free time.
Regardless, thanks for taking interest in this. I’ve reached out to Epic directly but haven’t heard anything back which is odd considering how much effort they’ve put into the virtual camera setups.

Hello

Did you try different media servers for live encoding into hls? May be wowza or another one would produce compatible hls stream

Hello,
Have you tried HISPlayer Plugin? It seems very advanced supporting both HTTP Live Streaming (HLS) and DASH streaming formats. Hope it is helpful.