HLSPlugin
HLSPlugin copied to clipboard
OvenMediaEngine HLS stream not working
Hello, I was trying to stress test a LLHLS video served by an OvenMediaEngine Origin server and while the master manifest is retrieved fine it doesnt download any video fragment.
The log viewer shows:
2023-06-08 10:15:57,035 ERROR o.a.j.t.JMeterThread: Error while processing sampler: 'bzm - Streaming Sampler'.
java.lang.NullPointerException: null
at com.blazemeter.jmeter.videostreaming.hls.Playlist.getRenditionUri(Playlist.java:103) ~[jmeter-bzm-hls-3.1.jar:?]
at com.blazemeter.jmeter.videostreaming.hls.Playlist.solveMediaStream(Playlist.java:72) ~[jmeter-bzm-hls-3.1.jar:?]
at com.blazemeter.jmeter.videostreaming.hls.HlsSampler.sample(HlsSampler.java:43) ~[jmeter-bzm-hls-3.1.jar:?]
at com.blazemeter.jmeter.videostreaming.core.VideoStreamingSampler.sample(VideoStreamingSampler.java:79) ~[jmeter-bzm-hls-3.1.jar:?]
at com.blazemeter.jmeter.hls.logic.HlsSampler.sample(HlsSampler.java:212) ~[jmeter-bzm-hls-3.1.jar:?]
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1290) ~[ApacheJMeter_http.jar:5.5]
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:651) ~[ApacheJMeter_core.jar:5.5]
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:570) ~[ApacheJMeter_core.jar:5.5]
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:501) ~[ApacheJMeter_core.jar:5.5]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:268) ~[ApacheJMeter_core.jar:5.5]
at java.lang.Thread.run(Unknown Source) ~[?:1.8.0_371]
2023-06-08 10:15:57,036 INFO o.a.j.t.JMeterThread: Thread is done: Thread Group 1-1
2023-06-08 10:15:57,036 INFO o.a.j.t.JMeterThread: Thread finished: Thread Group 1-1
2023-06-08 10:15:57,037 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2023-06-08 10:15:57,037 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
Maybe the manifest is using a not compatible manifest?
The .m3u8 manifest content is:
#EXTM3U
#EXT-X-VERSION:7
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="5",NAME="none",AUTOSELECT=YES,DEFAULT=YES,CHANNELS="2",URI="/app/test/chunklist_5_audio_0EBknybX_llhls.m3u8?session=38_6nX8CyUG"
#EXT-X-STREAM-INF:BANDWIDTH=7360000,RESOLUTION=1280x720,FRAME-RATE=30.0,CODECS="avc1.4d401f,mp4a.40.2",AUDIO="5"
/app/test/chunklist_0_video_0EBknybX_llhls.m3u8?session=38_6nX8CyUG
#EXT-X-STREAM-INF:BANDWIDTH=5184000,RESOLUTION=1920x1080,FRAME-RATE=30.0,CODECS="avc1.42c028,mp4a.40.2",AUDIO="5"
/app/test/chunklist_1_video_0EBknybX_llhls.m3u8?session=38_6nX8CyUG
#EXT-X-STREAM-INF:BANDWIDTH=2184000,RESOLUTION=1280x720,FRAME-RATE=30.0,CODECS="avc1.42c01f,mp4a.40.2",AUDIO="5"
/app/test/chunklist_2_video_0EBknybX_llhls.m3u8?session=38_6nX8CyUG
#EXT-X-STREAM-INF:BANDWIDTH=1184000,RESOLUTION=850x480,FRAME-RATE=30.0,CODECS="avc1.42c01f,mp4a.40.2",AUDIO="5"
/app/test/chunklist_3_video_0EBknybX_llhls.m3u8?session=38_6nX8CyUG
#EXT-X-STREAM-INF:BANDWIDTH=2184000,RESOLUTION=480x320,FRAME-RATE=30.0,CODECS="avc1.42c015,mp4a.40.2",AUDIO="5"
/app/test/chunklist_4_video_0EBknybX_llhls.m3u8?session=38_6nX8CyUG
Thank you
As additional information: I just tried to use as manifest URL one of the resolution manifest URIs of the main manifest like:
/app/test/chunklist_1_video_0EBknybX_llhls.m3u8?session=38_6nX8CyUG
The plugin is able to process that internal URL so the plugin is only having issues selecting a bitrate stream manifest from the main manifest.