Open n76 opened 4 years ago
May be an issue with the HLS streams being generated by PeerTube. My test stream from my instance fails HLS validation:
$ mediastreamvalidator https://my.video.server/static/streaming-playlists/hls/35d8a8a8-3360-479b-ab22-d5f6f2a5e144/master.m3u8
mediastreamvalidator: Version 1.4 (417.2-190530)
[/static/streaming-playlists/hls/35d8a8a8-3360-479b-ab22-d5f6f2a5e144/master.m3u8] Started root playlist download
[240.m3u8] Started media playlist download
[360.m3u8] Started media playlist download
[480.m3u8] Started media playlist download
[2160.m3u8] Started media playlist download
[720.m3u8] Started media playlist download
[1080.m3u8] Started media playlist download
[240.m3u8] All media files delivered and have end tag, stopping
[360.m3u8] All media files delivered and have end tag, stopping
[480.m3u8] All media files delivered and have end tag, stopping
[720.m3u8] All media files delivered and have end tag, stopping
[1080.m3u8] All media files delivered and have end tag, stopping
[2160.m3u8] All media files delivered and have end tag, stopping
--------------------------------------------------------------------------------
240.m3u8
--------------------------------------------------------------------------------
Processed 43 out of 43 segments
Average segment duration: 3.996124
Total segment bitrates (all discontinuities): average: 418.08 kb/s, max: 463.09 kb/s
Playlist max bitrate: 423.237000 kb/s
Audio Group ID: AUDIO
Discontinuity: sequence: 0, parsed segment count: 43 of 43, duration: 171.833 sec, average: 418.08 kb/s, max: 463.09 kb/s
Track ID: 1
Video Codec: avc1
Video profile: High
Video level: 3.1
Video resolution: 426x240
Video average IDR interval: 1.798246, Standard deviation: 0.473567
Video frame rate: 30.000
Track ID: 2
Audio Codec: AAC-LC
Audio sample rate: 48000 Hz
Audio channels: 2
Audio channel layout: Stereo (L R)
--------------------------------------------------------------------------------
360.m3u8
--------------------------------------------------------------------------------
Processed 43 out of 43 segments
Average segment duration: 3.996124
Total segment bitrates (all discontinuities): average: 657.21 kb/s, max: 745.47 kb/s
Playlist max bitrate: 663.526000 kb/s
Audio Group ID: AUDIO
Discontinuity: sequence: 0, parsed segment count: 43 of 43, duration: 171.833 sec, average: 657.21 kb/s, max: 745.47 kb/s
Track ID: 1
Video Codec: avc1
Video profile: High
Video level: 3.1
Video resolution: 640x360
Video average IDR interval: 1.798246, Standard deviation: 0.471339
Video frame rate: 30.000
Track ID: 2
Audio Codec: AAC-LC
Audio sample rate: 48000 Hz
Audio channels: 2
Audio channel layout: Stereo (L R)
--------------------------------------------------------------------------------
480.m3u8
--------------------------------------------------------------------------------
Processed 43 out of 43 segments
Average segment duration: 3.996124
Total segment bitrates (all discontinuities): average: 1041.19 kb/s, max: 1259.18 kb/s
Playlist max bitrate: 1049.430000 kb/s
Audio Group ID: AUDIO
Discontinuity: sequence: 0, parsed segment count: 43 of 43, duration: 171.833 sec, average: 1041.19 kb/s, max: 1259.18 kb/s
Track ID: 1
Video Codec: avc1
Video profile: High
Video level: 3.1
Video resolution: 853x480
Video average IDR interval: 1.779514, Standard deviation: 0.499522
Video frame rate: 30.000
Track ID: 2
Audio Codec: AAC-LC
Audio sample rate: 48000 Hz
Audio channels: 2
Audio channel layout: Stereo (L R)
--------------------------------------------------------------------------------
2160.m3u8
--------------------------------------------------------------------------------
Processed 43 out of 43 segments
Average segment duration: 3.996240
Total segment bitrates (all discontinuities): average: 28549.88 kb/s, max: 48547.62 kb/s
Playlist max bitrate: 28692.855000 kb/s
Audio Group ID: AUDIO
Discontinuity: sequence: 0, parsed segment count: 43 of 43, duration: 171.838 sec, average: 28549.88 kb/s, max: 48547.62 kb/s
Track ID: 1
Video Codec: avc1
Video profile: High
Video level: 5.1
Video resolution: 3840x2160
Video average IDR interval: 0.933537, Standard deviation: 0.205241
Video frame rate: 29.970
Track ID: 2
Audio Codec: AAC-LC
Audio sample rate: 48000 Hz
Audio channels: 2
Audio channel layout: Stereo (L R)
--------------------------------------------------------------------------------
720.m3u8
--------------------------------------------------------------------------------
Processed 43 out of 43 segments
Average segment duration: 3.996124
Total segment bitrates (all discontinuities): average: 1856.75 kb/s, max: 2253.75 kb/s
Playlist max bitrate: 1869.041000 kb/s
Audio Group ID: AUDIO
Discontinuity: sequence: 0, parsed segment count: 43 of 43, duration: 171.833 sec, average: 1856.75 kb/s, max: 2253.75 kb/s
Track ID: 1
Video Codec: avc1
Video profile: High
Video level: 3.1
Video resolution: 1280x720
Video average IDR interval: 1.779514, Standard deviation: 0.498153
Video frame rate: 30.000
Track ID: 2
Audio Codec: AAC-LC
Audio sample rate: 48000 Hz
Audio channels: 2
Audio channel layout: Stereo (L R)
--------------------------------------------------------------------------------
1080.m3u8
--------------------------------------------------------------------------------
Processed 43 out of 43 segments
Average segment duration: 3.996124
Total segment bitrates (all discontinuities): average: 3341.52 kb/s, max: 4050.98 kb/s
Playlist max bitrate: 3361.022000 kb/s
Audio Group ID: AUDIO
Discontinuity: sequence: 0, parsed segment count: 43 of 43, duration: 171.833 sec, average: 3341.52 kb/s, max: 4050.98 kb/s
Track ID: 1
Video Codec: avc1
Video profile: High
Video level: 3.1
Video resolution: 1920x1080
Video average IDR interval: 1.761168, Standard deviation: 0.518405
Video frame rate: 30.000
Track ID: 2
Audio Codec: AAC-LC
Audio sample rate: 48000 Hz
Audio channels: 2
Audio channel layout: Stereo (L R)
--------------------------------------------------------------------------------
MUST fix issues
--------------------------------------------------------------------------------
Error: Measured peak bitrate compared to master playlist declared value exceeds error tolerance
--> Detail: Measured: 745.47 kb/s, Master playlist: 663.53 kb/s, Error: 12.35%
--> Source: https://my.video.server/static/streaming-playlists/hls/35d8a8a8-3360-479b-ab22-d5f6f2a5e144/master.m3u8
--> Compare: 360.m3u8
--> Detail: Measured: 1259.18 kb/s, Master playlist: 1049.43 kb/s, Error: 19.99%
--> Source: https://my.video.server/static/streaming-playlists/hls/35d8a8a8-3360-479b-ab22-d5f6f2a5e144/master.m3u8
--> Compare: 480.m3u8
--> Detail: Measured: 48547.62 kb/s, Master playlist: 28692.85 kb/s, Error: 69.20%
--> Source: https://my.video.server/static/streaming-playlists/hls/35d8a8a8-3360-479b-ab22-d5f6f2a5e144/master.m3u8
--> Compare: 2160.m3u8
--> Detail: Measured: 2253.75 kb/s, Master playlist: 1869.04 kb/s, Error: 20.58%
--> Source: https://my.video.server/static/streaming-playlists/hls/35d8a8a8-3360-479b-ab22-d5f6f2a5e144/master.m3u8
--> Compare: 720.m3u8
--> Detail: Measured: 4050.98 kb/s, Master playlist: 3361.02 kb/s, Error: 20.53%
--> Source: https://my.video.server/static/streaming-playlists/hls/35d8a8a8-3360-479b-ab22-d5f6f2a5e144/master.m3u8
--> Compare: 1080.m3u8
Error: Playlist video resolution doesn't match parsed video resolution
--> Detail: Playlist: 852 x 480, Video: 853 x 480
--> Source: https://my.video.server/static/streaming-playlists/hls/35d8a8a8-3360-479b-ab22-d5f6f2a5e144/master.m3u8
--> Compare: 480.m3u8
Error: Different target durations detected
--> Detail: Target duration: 5 vs Target duration: 6
--> Source: 2160.m3u8
--> Compare: 240.m3u8
--> Detail: Target duration: 5 vs Target duration: 6
--> Source: 2160.m3u8
--> Compare: 360.m3u8
--> Detail: Target duration: 5 vs Target duration: 6
--> Source: 2160.m3u8
--> Compare: 480.m3u8
--> Detail: Target duration: 6 vs Target duration: 5
--> Source: 720.m3u8
--> Compare: 2160.m3u8
--> Detail: Target duration: 6 vs Target duration: 5
--> Source: 1080.m3u8
--> Compare: 2160.m3u8
$
HLS streams have good video but no audio. Looking at the video definitions supported by Roku and looking at the video definitions served up by my PeerTube instance it seems they should work.
Current work around is to play MP4 streams instead of HLS.