Network streaming performance on tvOS 18.x

iOS, iPad, iPhone, tvOS specific usage questions
walexand
New Cone
New Cone
Posts: 3
Joined: 09 Nov 2024 14:32

Network streaming performance on tvOS 18.x

Postby walexand » 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

fkuehne
Developer
Developer
Posts: 7262
Joined: 16 Mar 2004 19:37
VLC version: 0.4.6 - present
Operating System: Darwin
Location: Germany
Contact:

Re: Network streaming performance on tvOS 18.x

Postby fkuehne » 11 Nov 2024 11:08

Looks like VLC falls back on software decoding instead of using the hardware decoder which explains your problem. No idea why this is happening and you are the first to report the problem.
VideoLAN
Felix Paul Kühne
Medic. VLC developer for appleOS since before you were born.
Blog: https://www.feepk.net

walexand
New Cone
New Cone
Posts: 3
Joined: 09 Nov 2024 14:32

Re: Network streaming performance on tvOS 18.x

Postby walexand » 11 Nov 2024 14:49

Thank you. I don't feel so crazy now. Should I log an issue for this? Also, I know version 4.0 is in development but would it be reasonable to hope for a patch for this issue? Assuming that it can be reasonably identified and resolved. To that end, if there is anything I can do to assist in debugging or testing I will do my best to help.

walexand
New Cone
New Cone
Posts: 3
Joined: 09 Nov 2024 14:32

Re: Network streaming performance on tvOS 18.x

Postby walexand » 11 Nov 2024 15:01

I monitored the device console while attempting playback from the VLC app and spotted the following message which may be related.

error 08:57:02.789263-0500 runningboardd setGPURole:pid: failed due to nil IOGPU device ref
error 08:57:03.238682-0500 backboardd setting property on bus failed Error Domain=NSOSStatusErrorDomain Code=-6727 "(null)"
error 08:57:03.303076-0500 backboardd setting property on bus failed Error Domain=NSOSStatusErrorDomain Code=-6727 "(null)"
error 08:57:03.345365-0500 VLC-tvOS Attempt to present <VLCFullscreenMovieTVViewController: 0x1058db800> on <UITabBarController: 0x10601ac00> (from <UITabBarController: 0x10601ac00>) whose view is not in the window hierarchy.
error 08:57:04.034300-0500 audiomxd RoutingManager.cpp:4682 EXCEPTION (kVirtualAudioObjectCategoryNotSupportedError): "Unable to locate category 'cspr' in the routing database."
error 08:57:04.034476-0500 audiomxd RoutingManager.cpp:4682 EXCEPTION (kVirtualAudioObjectCategoryNotSupportedError): "Unable to locate category 'cspr' in the routing database."
error 08:57:04.034584-0500 audiomxd RoutingManager.cpp:4682 EXCEPTION (kVirtualAudioObjectCategoryNotSupportedError): "Unable to locate category 'cspr' in the routing database."
error 08:57:04.034692-0500 audiomxd RoutingManager.cpp:4682 EXCEPTION (kVirtualAudioObjectCategoryNotSupportedError): "Unable to locate category 'cspr' in the routing database."
error 08:57:04.034895-0500 audiomxd RoutingManager.cpp:4682 EXCEPTION (kVirtualAudioObjectCategoryNotSupportedError): "Unable to locate category 'cspr' in the routing database."
error 08:57:04.036168-0500 PineBoard -[SASBluetoothEndpointUtility _setEndpointTypeWithNotification:]_block_invoke Endpoint type is not found from AVSystemController, setting it to Unspecified.
error 08:57:04.134927-0500 audiomxd -CMVAEndpoint- vaeDoesBTPortSupportInEarDetection: AudioObjectGetPropertyData( kVirtualAudioPortPropertyInEarDetectSupported ) failed with err = 2003332927 = ?ohw
error 08:57:04.162230-0500 audiomxd -CMVAEndpoint- vaeDoesBTPortSupportInEarDetection: AudioObjectGetPropertyData( kVirtualAudioPortPropertyInEarDetectSupported ) failed with err = 2003332927 = ?ohw
error 08:57:04.188879-0500 VLC-tvOS Modifying properties of a view's layer off the main thread is not allowed: view <VLCOpenGLES2VideoView: 0x10538b2c0> with nearest ancestor view controller <VLCFullscreenMovieTVViewController: 0x10609d000>; backtrace:
(
0 UIKitCore 0x00000001bad3c538 33ABED2E-F6F4-3B73-9D7E-5C6393D7CE6B + 18068792
1 UIKitCore 0x00000001bad3ca48 33ABED2E-F6F4-3B73-9D7E-5C6393D7CE6B + 18070088
2 QuartzCore 0x00000001a6fdb1c4 DE4D4AF8-179E-3A90-B418-459072114DA6 + 1819076
3 QuartzCore 0x00000001a6fe16a0 DE4D4AF8-179E-3A90-B418-459072114DA6 + 1844896
4 QuartzCore 0x00000001a6fd9d18 DE4D4AF8-179E-3A90-B418-459072114DA6 + 1813784
5 QuartzCore 0x00000001a6f50878 DE4D4AF8-179E-3A90-B418-459072114DA6 + 1251448
6 OpenGLES 0x00000001a6dbf8fc 05332244-A68C-3C59-9E15-74D024678449 + 26876
7 TVVLCKit 0x0000000103a6f148 -[VLCOpenGLES2VideoView doResetBuffers:] + 172
8 libsystem_pthread.dylib 0x000000019db618dc thread_start + 8
)
error 08:57:04.358231-0500 TVSystemUIService INVALIDATE: 0x303b7a640: Invalidated before returning a response. Re-requesting items.


Return to “VLC for iOS, iPadOS and Apple TV”

Who is online

Users browsing this forum: No registered users and 0 guests