Network streaming performance on tvOS 18.x
Posted: 09 Nov 2024 14:43
SMB playback of large streams (4K) is stuttering or freezing since the tvOS 18 release. I have an Apple TV 4K which I held back to tvOS 17.6.1 which plays perfectly. This performance issue applies to both the native VLC Apple TV app, as well as TVVLCKit. Smaller, less sophisticated video streams still perform acceptably. The issue seems to only become problematic for larger files. I'm not sure if resolution, or bitrate are a factor, or if it's simply the network throughput on tvOS 18 has suffered.
Is there a remedy that I could apply with TVVLCKit that would restore performance to what VLC was capable of with tvOS 17?
Advice is greatly appreciated.
Thank you
Additional info:
TVVLCKit is writing a large volume of messages to the console indicating problems with HEVC decoding. Here is as small sample.
[0;36m[hevc @ 0x102c37800] [0mSkipping NAL unit 63
[0;36m[hevc @ 0x102c37800] [0mSkipping NAL unit 62
[0;36m[hevc @ 0x102c37800] [0m[1;31mCould not find ref with POC 16
[0m[0;36m[hevc @ 0x102c74200] [0m[1;31mCould not find ref with POC 10
[0m[0;36m[hevc @ 0x102c8a200] [0mSkipping NAL unit 63
[0;36m[hevc @ 0x102c8a200] [0mSkipping NAL unit 63
[0;36m[hevc @ 0x102c8a200] [0mSkipping NAL unit 63
MediaInfo for a sample file that played well on tvOS 17.6
General
Count : 349
Count of stream of this kind : 1
Kind of stream : General
Stream identifier : 0
Inform : Matroska: 53.8 GiB, 1 h 35 min
Unique ID : 323423098240037451853842623362458686365
Video_Format_List : HEVC
Video_Format_WithHint_List : HEVC
Codecs Video : HEVC
Video_Language_List : English
Audio_Format_List : FLAC
Audio_Format_WithHint_List : FLAC
Audio codecs : FLAC
Audio_Channels_Total : 2
Text_Format_List : PGS
Text_Format_WithHint_List : PGS
Text codecs : PGS
File extension : mkv
Format : Matroska
Format/Url : https://matroska.org/downloads/windows.html
Format/Extensions usually used : mkv mk3d mka mks
Commercial name : Matroska
Format version : Version 4
File size : 57741086051
File size : 53.8 GiB
Duration : 1 h 35 min
Overall bit rate mode : VBR
Overall bit rate mode : Variable
Overall bit rate : 80236517
Overall bit rate : 80.2 Mb/s
Frame rate : 24.000
Frame rate : 24.000 FPS
Frame count : 138170
IsStreamable : Yes
Encoded date : 2023-04-18 02:35:28 UTC
File last modification date : 2024-08-19 15:41:33 UTC
File last modification date (local) : 2024-08-19 11:41:33
Writing application : mkvmerge v75.0.0 ('Goliath') 64-bit
Writing library : libebml v1.4.4 + libmatroska v1.7.1
Video
Count : 391
Count of stream of this kind : 1
Kind of stream : Video
Stream identifier : 0
StreamOrder : 0
Inform : English, 79.5 Mb/s, 3840*2160 (16:9), at 24.000 FPS, HEVC (Main 10@L5.1@High), Blu-ray / HDR10
ID : 1
ID in the original source medium : 4113
Unique ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format/Url : http://www.itu.int
Commercial name : HEVC
Format profile : Main 10@L5.1@High
HDR format : Dolby Vision / SMPTE ST 2086
HDR format : Dolby Vision, Version 1.0, Profile 7.6, dvhe.07.06, BL+EL+RPU, Blu-ray compatible / SMPTE ST 2086, Version HDR10, HDR10 compatible
HDR_Format_Commercial : Blu-ray / HDR10
HDR_Format_Version : 1.0 /
HDR_Format_Profile : dvhe.07 /
HDR_Format_Level : 06 /
HDR_Format_Settings : BL+EL+RPU /
HDR_Format_Compatibility : Blu-ray / HDR10
Internet media type : video/H265
Codec ID : V_MPEGH/ISO/HEVC
Duration : 1 h 35 min
Bit rate : 79499423
Bit rate : 79.5 Mb/s
Width : 3840
Height : 2160
Sampled_Width : 3840
Sampled_Height : 2160
Pixel aspect ratio : 1.000
Display aspect ratio : 1.778
Display aspect ratio : 16:9
Frame rate mode : CFR
Frame rate mode : Constant
Frame rate : 24.000
Frame rate : 24.000 FPS
FrameRate_Num : 24
FrameRate_Den : 1
Frame count : 138170
Color space : YUV
Chroma subsampling : 4:2:0
Chroma subsampling : 4:2:0 (Type 2)
ChromaSubsampling_Position : Type 2
Bit depth : 10
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.399
Delay : 0
Delay, origin : Container
Time code of first frame : 00:00:00:00
TimeCode_DropFrame : No
Stream size : 57210607609
Stream size : 53.3 GiB (99%)
Proportion of this stream : 0.99081
Language : en
Language : English
Default : No
Forced : No
colour_description_present : Yes
colour_description_present_Source : Stream
Color range : Limited
colour_range_Source : Stream
Color primaries : BT.2020
colour_primaries_Source : Stream
Transfer characteristics : PQ
transfer_characteristics_Source : Stream
Matrix coefficients : BT.2020 non-constant
matrix_coefficients_Source : Stream
Mastering display color primaries : BT.2020
MasteringDisplay_ColorPrimaries_Source : Stream
Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2
MasteringDisplay_Luminance_Source : Stream
Maximum Content Light Level : 1000 cd/m2
MaxCLL_Source : Stream
Maximum Frame-Average Light Level : 26 cd/m2
MaxFALL_Source : Stream
Original source medium : Blu-ray
Is there a remedy that I could apply with TVVLCKit that would restore performance to what VLC was capable of with tvOS 17?
Advice is greatly appreciated.
Thank you
Additional info:
TVVLCKit is writing a large volume of messages to the console indicating problems with HEVC decoding. Here is as small sample.
[0;36m[hevc @ 0x102c37800] [0mSkipping NAL unit 63
[0;36m[hevc @ 0x102c37800] [0mSkipping NAL unit 62
[0;36m[hevc @ 0x102c37800] [0m[1;31mCould not find ref with POC 16
[0m[0;36m[hevc @ 0x102c74200] [0m[1;31mCould not find ref with POC 10
[0m[0;36m[hevc @ 0x102c8a200] [0mSkipping NAL unit 63
[0;36m[hevc @ 0x102c8a200] [0mSkipping NAL unit 63
[0;36m[hevc @ 0x102c8a200] [0mSkipping NAL unit 63
MediaInfo for a sample file that played well on tvOS 17.6
General
Count : 349
Count of stream of this kind : 1
Kind of stream : General
Stream identifier : 0
Inform : Matroska: 53.8 GiB, 1 h 35 min
Unique ID : 323423098240037451853842623362458686365
Video_Format_List : HEVC
Video_Format_WithHint_List : HEVC
Codecs Video : HEVC
Video_Language_List : English
Audio_Format_List : FLAC
Audio_Format_WithHint_List : FLAC
Audio codecs : FLAC
Audio_Channels_Total : 2
Text_Format_List : PGS
Text_Format_WithHint_List : PGS
Text codecs : PGS
File extension : mkv
Format : Matroska
Format/Url : https://matroska.org/downloads/windows.html
Format/Extensions usually used : mkv mk3d mka mks
Commercial name : Matroska
Format version : Version 4
File size : 57741086051
File size : 53.8 GiB
Duration : 1 h 35 min
Overall bit rate mode : VBR
Overall bit rate mode : Variable
Overall bit rate : 80236517
Overall bit rate : 80.2 Mb/s
Frame rate : 24.000
Frame rate : 24.000 FPS
Frame count : 138170
IsStreamable : Yes
Encoded date : 2023-04-18 02:35:28 UTC
File last modification date : 2024-08-19 15:41:33 UTC
File last modification date (local) : 2024-08-19 11:41:33
Writing application : mkvmerge v75.0.0 ('Goliath') 64-bit
Writing library : libebml v1.4.4 + libmatroska v1.7.1
Video
Count : 391
Count of stream of this kind : 1
Kind of stream : Video
Stream identifier : 0
StreamOrder : 0
Inform : English, 79.5 Mb/s, 3840*2160 (16:9), at 24.000 FPS, HEVC (Main 10@L5.1@High), Blu-ray / HDR10
ID : 1
ID in the original source medium : 4113
Unique ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format/Url : http://www.itu.int
Commercial name : HEVC
Format profile : Main 10@L5.1@High
HDR format : Dolby Vision / SMPTE ST 2086
HDR format : Dolby Vision, Version 1.0, Profile 7.6, dvhe.07.06, BL+EL+RPU, Blu-ray compatible / SMPTE ST 2086, Version HDR10, HDR10 compatible
HDR_Format_Commercial : Blu-ray / HDR10
HDR_Format_Version : 1.0 /
HDR_Format_Profile : dvhe.07 /
HDR_Format_Level : 06 /
HDR_Format_Settings : BL+EL+RPU /
HDR_Format_Compatibility : Blu-ray / HDR10
Internet media type : video/H265
Codec ID : V_MPEGH/ISO/HEVC
Duration : 1 h 35 min
Bit rate : 79499423
Bit rate : 79.5 Mb/s
Width : 3840
Height : 2160
Sampled_Width : 3840
Sampled_Height : 2160
Pixel aspect ratio : 1.000
Display aspect ratio : 1.778
Display aspect ratio : 16:9
Frame rate mode : CFR
Frame rate mode : Constant
Frame rate : 24.000
Frame rate : 24.000 FPS
FrameRate_Num : 24
FrameRate_Den : 1
Frame count : 138170
Color space : YUV
Chroma subsampling : 4:2:0
Chroma subsampling : 4:2:0 (Type 2)
ChromaSubsampling_Position : Type 2
Bit depth : 10
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.399
Delay : 0
Delay, origin : Container
Time code of first frame : 00:00:00:00
TimeCode_DropFrame : No
Stream size : 57210607609
Stream size : 53.3 GiB (99%)
Proportion of this stream : 0.99081
Language : en
Language : English
Default : No
Forced : No
colour_description_present : Yes
colour_description_present_Source : Stream
Color range : Limited
colour_range_Source : Stream
Color primaries : BT.2020
colour_primaries_Source : Stream
Transfer characteristics : PQ
transfer_characteristics_Source : Stream
Matrix coefficients : BT.2020 non-constant
matrix_coefficients_Source : Stream
Mastering display color primaries : BT.2020
MasteringDisplay_ColorPrimaries_Source : Stream
Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2
MasteringDisplay_Luminance_Source : Stream
Maximum Content Light Level : 1000 cd/m2
MaxCLL_Source : Stream
Maximum Frame-Average Light Level : 26 cd/m2
MaxFALL_Source : Stream
Original source medium : Blu-ray