AirenSoft / OvenMediaEngine

OvenMediaEngine (OME) is a Sub-Second Latency Live Streaming Server with Large-Scale and High-Definition. #WebRTC #LLHLS
https://airensoft.com/ome.html
GNU Affero General Public License v3.0
2.55k stars 1.06k forks source link

ABR not active #846

Closed Trungdo253 closed 2 years ago

Trungdo253 commented 2 years ago

i use origin-edge-ome cluster i play wss://origin.com/app/stream/abr -> ok i play wss://edge.com/app/stream/abr -> not active hls similar to that help me! thank you!

getroot commented 2 years ago

All renditions in your abr playlist are bypass audio codec. What is the codec for your bypass audio track? If you're sending a stream over RTMP, it's aac. Then it cannot be supported by WebRTC. And it won't play on origin either. Upload the ovenmediaengine.log of origin and edge so I don't get confused.

<Playlist>
    <Name>For LLHLS</Name>
    <FileName>abr</FileName>
    <Options> 
        <WebRtcAutoAbr>true</WebRtcAutoAbr> 
    </Options>
    <Rendition>
        <Name>Bypass</Name>
        <Video>video_720</Video>
        <Audio>Audio_bypass</Audio>
    </Rendition>
    <Rendition>
        <Name>FHD</Name>
        <Video>video_1080</Video>
        <Audio>Audio_bypass</Audio>
    </Rendition>
    <Rendition>
        <Name>HD</Name>
        <Video>video_480</Video>
        <Audio>Audio_bypass</Audio>
    </Rendition>
</Playlist>
Trungdo253 commented 2 years ago

i change <Audio>Audio_bypass</Audio> into <Audio>aac</Audio> & <Audio>opus</Audio> Please examine and help me! Thank you

getroot commented 2 years ago

First of all, "encode" and "playlist" settings only need to be in the origin configuration. It shouldn't be on the edge. And the log-edge.txt you uploaded does not match the settings you uploaded. After testing with the final configuration, you should upload the full log file of origin/edge so I can see what you configured wrong.

getroot commented 2 years ago

I copied your settings into my environment to make sure ABR works.

Your log has something strange like this:

[2022-08-10 08:41:26.738] I [SPllhls-T13334:15222] Orchestrator | orchestrator.cpp:758 | The stream was pulled successfully: [#tmt#liveapp/trungnc] (100)
[2022-08-10 08:41:33.140] W [StreamWorker:15370] LLHLS Publisher | llhls_stream.cpp:170 | LLHlsStream(#tmt#liveapp/trungnc) - Exclude the rendition(Audio_bypass) from the abr.m3u8 due to unsupported codec
[2022-08-10 08:41:33.141] W [StreamWorker:15370] LLHLS Publisher | llhls_stream.cpp:170 | LLHlsStream(#tmt#liveapp/trungnc) - Exclude the rendition(Audio_bypass) from the abr.m3u8 due to unsupported codec
[2022-08-10 08:41:33.141] W [StreamWorker:15370] LLHLS Publisher | llhls_stream.cpp:170 | LLHlsStream(#tmt#liveapp/trungnc) - Exclude the rendition(Audio_bypass) from the abr.m3u8 due to unsupported codec
[2022-08-10 08:41:33.141] W [StreamWorker:15370] LLHLS Publisher | llhls_stream.cpp:170 | LLHlsStream(#tmt#liveapp/trungnc) - Exclude the rendition(aac) from the abr.m3u8 due to unsupported codec
[2022-08-10 08:41:33.141] W [StreamWorker:15370] LLHLS Publisher | llhls_stream.cpp:170 | LLHlsStream(#tmt#liveapp/trungnc) - Exclude the rendition(aac) from the abr.m3u8 due to unsupported codec
[2022-08-10 08:41:33.141] W [StreamWorker:15370] LLHLS Publisher | llhls_stream.cpp:170 | LLHlsStream(#tmt#liveapp/trungnc) - Exclude the rendition(opus) from the abr.m3u8 due to unsupported codec
[2022-08-10 08:41:33.141] W [StreamWorker:15370] LLHLS Publisher | llhls_stream.cpp:170 | LLHlsStream(#tmt#liveapp/trungnc) - Exclude the rendition(opus) from the abr.m3u8 due to unsupported codec

In "Exclude the rendition(xx)", the rendition name should be displayed in the xx part. However, your log is not output according to the settings you uploaded.

If it works normally, the log should be output as follows. (this is my log)

[08-11 15:42:07.954] I [SPRtcSig-T13334:3433748] Orchestrator | orchestrator.cpp:758 | The stream was pulled successfully: [#default#app/stream1] (100)
[08-11 15:42:11.379] W [StreamWorker:3434011] LLHLS Publisher | llhls_stream.cpp:169 | LLHlsStream(#default#app/stream1) - Exclude the rendition(FHD2) from the abr.m3u8 due to unsupported codec
[08-11 15:42:11.379] W [StreamWorker:3434011] LLHLS Publisher | llhls_stream.cpp:169 | LLHlsStream(#default#app/stream1) - Exclude the rendition(HD2) from the abr.m3u8 due to unsupported codec

I suspect that the latest settings you uploaded may not have applied to your Origin Server. If not, try updating both Origin and Edge to the latest version. You are using 0.14.5 for Origin and 0.14.3 for Edge.

Trungdo253 commented 2 years ago

i don't know why rendition(xx) not name rendition. i config same https://airensoft.gitbook.io/ovenmediaengine/transcoding#adaptive-bitrates-streaming-abr but not run on edge i update origin and edge 0.14.6 but it not run

getroot commented 2 years ago

Can you give me access to your server? I'd like to check it out myself. If possible, please send information to support@airensoft.com

Trungdo253 commented 2 years ago

ok sir !

getroot commented 2 years ago

I found one bug on your server and fixed it.

https://github.com/AirenSoft/OvenMediaEngine/commit/12b40a90c91af4ec8652d37968fb59e78240b32d

This will be released in 0.14.8 soon. If you want to test before then use the master branch. Thanks for reporting the problem.

Trungdo253 commented 2 years ago

thank you for supported!