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.54k stars 1.06k forks source link

OvenMediaEngine crashes daily #790

Closed wizeyyy closed 2 years ago

wizeyyy commented 2 years ago

I have a rather simple setup for OME. RTP steams IN with HLS streams OUT using the OvenMedia Player

It works very well, however almost daily OME crashes normally mid stream

[2022-06-08 14:28:46.005] E [AW-HLS0:20881] Writer | writer.cpp:722 | [0x7f8c4c008600] Could not write the frame: Invalid argument [2022-06-08 14:28:46.093] E [AW-HLS0:20881] FFmpeg | third_parties.cpp:111 | [AVFormatContext: 0x7f8c44013d00] Application provided invalid, non monotonically increasing dts to muxer in stream 1: 80955810 >= 80955810 [2022-06-08 14:28:46.094] E [AW-HLS0:20881] Writer | writer.cpp:722 | [0x7f8c4c008600] Could not write the frame: Invalid argument [2022-06-08 14:28:46.293] E [AW-HLS0:20881] FFmpeg | third_parties.cpp:111 | [AVFormatContext: 0x7f8c44013d00] Application provided invalid, non monotonically increasing dts to muxer in stream 1: 80974530 >= 80974530 [2022-06-08 14:28:46.293] E [AW-HLS0:20881] Writer | writer.cpp:722 | [0x7f8c4c008600] Could not write the frame: Invalid argument [2022-06-08 14:28:46.328] E [AW-HLS0:20881] FFmpeg | third_parties.cpp:111 | [AVFormatContext: 0x7f8c44013d00] Application provided invalid, non monotonically increasing dts to muxer in stream 1: 80982810 >= 80982810 [2022-06-08 14:28:46.328] E [AW-HLS0:20881] Writer | writer.cpp:722 | [0x7f8c4c008600] Could not write the frame: Invalid argument [2022-06-08 14:56:01.532] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.532] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.533] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.534] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.534] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.534] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.535] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.535] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.539] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.540] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.623] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.623] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.623] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.625] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.625] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.626] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.626] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.627] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.630] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.630] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.715] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.715] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.715] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.715] C [SPOvtPub-T9000:20875] OVT | ovt_publisher.cpp:146 | Unavailable message [2022-06-08 14:56:01.716] C [SPOvtPub-T9000:20875] OvenMediaEngine | signals.cpp:120 | OME received signal 6 (SIGABRT), interrupt.

Parts of server.xml


  <Applications>
                                <Application>
                                        <Name>0</Name>
                                        <!-- Application type (live/vod) -->
                                        <Type>live</Type>
                                        <OutputProfiles>
                                                <!-- Enable this configuration if you want to hardware acceleration using GPU -->
                                                <HardwareAcceleration>false</HardwareAcceleration>
                                                <OutputProfile>
                                                        <Name>bypass_stream</Name>
                                                        <OutputStreamName>${OriginStreamName}</OutputStreamName>
                                                        <Encodes>
                                                                <Audio>
                                                                        <Bypass>true</Bypass>
                                                                </Audio>
                                                                <Video>
                                                                        <Bypass>true</Bypass>
                                                                </Video>
                                                                <Audio>
                                                                        <Codec>opus</Codec>
                                                                        <Bitrate>128000</Bitrate>
                                                                        <Samplerate>48000</Samplerate>
                                                                        <Channel>2</Channel>
                                                                </Audio>
                                                                <!--
                                                                <Video>
                                                                        <Codec>vp8</Codec>
                                                                        <Bitrate>1024000</Bitrate>
                                                                        <Framerate>30</Framerate>
                                                                        <Width>1280</Width>
                                                                        <Height>720</Height>
                                                                        <Preset>faster</Preset>
                                                                </Video>
                                                                -->
                                                        </Encodes>
                                                </OutputProfile>
                                        </OutputProfiles>
                                        <Providers>

                                                <OVT />
                                                <!--
                                                <WebRTC />
                                                -->
                                                <RTMP />
                                                <!--
                                                <SRT />
                                                <MPEGTS>
                                                        <StreamMap>
                                                                <Stream>
                                                                        <Name>stream_${Port}</Name>
                                                                        <Port>4000</Port>
                                                                </Stream>
                                                        </StreamMap>
                                                </MPEGTS>
                                                <RTSPPull />
                                                <WebRTC>
                                                        <Timeout>30000</Timeout>
                                                </WebRTC>
                                                -->
                                        </Providers>
                                        <Publishers>
                                                <AppWorkerCount>1</AppWorkerCount>
                                                <StreamWorkerCount>8</StreamWorkerCount>
                                               <OVT />
                                                <!--
                                                <WebRTC>
                                                        <Timeout>30000</Timeout>
                                                        <Rtx>false</Rtx>
                                                        <Ulpfec>false</Ulpfec>
                                                        <JitterBuffer>false</JitterBuffer>
                                                </WebRTC>
                                                -->
                                                <HLS>
                                                        <SegmentDuration>5</SegmentDuration>
                                                        <SegmentCount>3</SegmentCount>
                                                        <CrossDomains>
                                                                <Url>*</Url>
                                                        </CrossDomains>
                                                </HLS>
                                                <!--
                                                <DASH>
                                                        <SegmentDuration>5</SegmentDuration>
                                                        <SegmentCount>3</SegmentCount>
                                                        <CrossDomains>
                                                                <Url>*</Url>
                                                        </CrossDomains>

                                                        <UTCTiming>
                                                                <Scheme>urn:mpeg:dash:utc:http-xsdate:2014</Scheme>
                                                                <Value>/time?iso&amp;ms</Value>
                                                        </UTCTiming>
                                                </DASH>

                                                <LLDASH>
                                                        <SegmentDuration>5</SegmentDuration>
                                                        <CrossDomains>
                                                                <Url>*</Url>
                                                        </CrossDomains>
                                                        <UTCTiming />
                                                </LLDASH>
                                                -->
                                        </Publishers>
getroot commented 2 years ago

Please report any issues with the bug template. At a minimum, the following information must be provided:

  1. What version of OME are you using?
  2. How can I reproduce the problem?
  3. Please upload the entire log file. You cannot analyze the problem in parts.
  4. Please upload the entire Server.xml.
  5. The log you posted says there is a problem with OVT Publisher. Are you using the Origin-Edge configuration? How did you configure it?
wizeyyy commented 2 years ago

Apologies

1) OvenMediaEngine v0.12.8

2) I am unsure how to reproduce it

3) server.xml attached Server.xml.zip

4) Not using origin-edge configuration

5) Logfile

getroot commented 2 years ago

Many bugs have been fixed since version 0.12.8, so you should use the latest 0.14.1. If the problem is reproduced in 0.14.1, please create an issue again.

And if you are not using Origin-Edge but data is coming to the OVT Publisher Port, it may be that an external program such as a scanner is sending data. If not in use, delete OVT from <Bind> settings.

wizeyyy commented 2 years ago

Thank you

Removed OVT from and its no longer crashing.

I will load 0.14.1 in the coming days