Page 1 of 1

Issue playing HLS stream on tvos

Posted: 22 Jan 2016 10:45
by revile
Hi,

I'm having a very strange problem that I can't seem to solve. I am trying to play HLS streams through tvos, however it only works if I have a proxy enabled (e.g. Charles Proxy for debugging). As soon as I disable the proxy (or run it on an Apple TV device) it VLCKit fails to play the stream.

Here is the logging when the stream works:

Code: Select all

2016-01-21 23:29:48.391 ntv[11856:4825996] creating player instance using shared library 2016-01-21 23:29:48.439 ntv[11856:4825996] VLC media player - 3.0.0-git Vetinari 2016-01-21 23:29:48.439 ntv[11856:4825996] Copyright © 1996-2016 the VideoLAN team 2016-01-21 23:29:48.439 ntv[11856:4825996] revision 2.2.0-git-6128-gdf55443 2016-01-21 23:29:48.440 ntv[11856:4825996] configured with /Users/simon/VLCKit/MobileVLCKit/ImportedSources/vlc/configure '--prefix=/Users/simon/VLCKit/MobileVLCKit/ImportedSources/vlc/install-ios-AppleTVSimulator/x86_64' '--host=x86_64-apple-darwin11' '--with-contrib=/Users/simon/VLCKit/MobileVLCKit/ImportedSources/vlc/contrib/AppleTV-x86_64-apple-darwin11-x86_64' '--enable-static' '--disable-debug' '--enable-dvbpsi' '--enable-avcodec' '--disable-neon' '--disable-macosx' '--disable-macosx-dialog-provider' '--disable-macosx-qtkit' '--disable-macosx-eyetv' '--disable-macosx-vlc-app' '--disable-macosx-avfoundation' '--disable-audioqueue' '--disable-shared' '--enable-macosx-quartztext' '--enable-mkv' '--enable-opus' '--disable-faad' '--disable-lua' '--disable-a52' '--enable-fribidi' '--disable-qt' '--disable-skins2' '--disable-vcd' '--disable-vlc' '--disable-vlm' '--disable-httpd' '--disable-nls' '--disable-sse' '--disable-notify' '--enable-live555' '--enable-realrtsp' '--enable-swscale' '--disable-projectm' '--enable-libass' '--enable-libxml2' '--disable-goom' '--disable-dvdread' '--disable-dvdnav' '--disable-bluray' '--disable-linsys' '--disable-libva' '--disable-gme' '--disable-tremor' '--enable-vorbis' '--disable-fluidsynth' '--disable-jack' '--disable-pulse' '--disable-mtp' '--enable-ogg' '--enable-speex' '--enable-theora' '--enable-flac' '--disable-screen' '--enable-freetype' '--enable-taglib' '--disable-mmx' '--disable-addonmanagermodules' '--disable-mad' 'host_alias=x86_64-apple-darwin11' 'CC=xcrun clang' 'CFLAGS=-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator9.1.sdk -arch x86_64 -O3 -g -mtvos-version-min=9.0 -fembed-bitcode' 'LDFLAGS=-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator9.1.sdk -L/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator9.1.sdk/usr/lib -arch x86_64 -v -Wl,-tvos_version_min,9.0' 'CPPFLAGS=-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator9.1.sdk -arch x86_64 -O3 -g -mtvos-version-min=9.0 -fembed-bitcode' 'CPP=xcrun cc -E' 'CXX=xcrun clang++' 'CXXFLAGS=-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator9.1.sdk -arch x86_64 -O3 -g -mtvos-version-min=9.0 -fembed-bitcode' 'OBJC=xcrun clang' 'OBJCFLAGS=-fobjc-abi-version=2 -fobjc-legacy-dispatch ' 'CXXCPP=xcrun c++ -E' 2016-01-21 23:29:48.946 ntv[11856:4826267] Creating an input for 'playlist.m3u8?token=06ba026e20ca8bc170c5dc6cb754b50e&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3' 2016-01-21 23:29:48.956 ntv[11856:4826269] using timeshift granularity of 50 MiB 2016-01-21 23:29:48.956 ntv[11856:4826269] using default timeshift path 2016-01-21 23:29:48.957 ntv[11856:4826269] `http://88.150.174.242:1935/edge/342/playlist.m3u8?token=06ba026e20ca8bc170c5dc6cb754b50e&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3' gives access `http' demux `' path `88.150.174.242:1935/edge/342/playlist.m3u8?token=06ba026e20ca8bc170c5dc6cb754b50e&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3' 2016-01-21 23:29:48.957 ntv[11856:4826269] specified demux: any 2016-01-21 23:29:48.958 ntv[11856:4826269] creating demux: access='http' demux='any' location='88.150.174.242:1935/edge/342/playlist.m3u8?token=06ba026e20ca8bc170c5dc6cb754b50e&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3' file='(null)' 2016-01-21 23:29:48.959 ntv[11856:4826269] looking for access_demux module matching "http": 3 candidates 2016-01-21 23:29:48.959 ntv[11856:4826269] no access_demux modules matched 2016-01-21 23:29:48.960 ntv[11856:4826269] creating access: http://88.150.174.242:1935/edge/342/playlist.m3u8?token=06ba026e20ca8bc170c5dc6cb754b50e&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3 2016-01-21 23:29:48.961 ntv[11856:4826269] looking for access module matching "http": 19 candidates 2016-01-21 23:29:48.963 ntv[11856:4826269] querying proxy for http://88.150.174.242:1935/edge/342/playlist.m3u8?token=06ba026e20ca8bc170c5dc6cb754b50e&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3 2016-01-21 23:29:48.964 ntv[11856:4826269] proxy: 127.0.0.1:8888 2016-01-21 23:29:48.964 ntv[11856:4826269] http: server='88.150.174.242' port=1935 file='/edge/342/playlist.m3u8' 2016-01-21 23:29:48.965 ntv[11856:4826269] proxy 127.0.0.1:8888 2016-01-21 23:29:48.965 ntv[11856:4826269] net: connecting to 127.0.0.1 port 8888 2016-01-21 23:29:48.969 ntv[11856:4826269] connection succeeded (socket = 6) 2016-01-21 23:29:50.150 ntv[11856:4826269] HTTP answer code 200 2016-01-21 23:29:50.151 ntv[11856:4826269] Content-Type: application/vnd.apple.mpegurl 2016-01-21 23:29:50.151 ntv[11856:4826269] Server: WowzaStreamingEngine/4.0.6 2016-01-21 23:29:50.152 ntv[11856:4826269] this frame size=269 2016-01-21 23:29:50.152 ntv[11856:4826269] using access module "http" 2016-01-21 23:29:50.152 ntv[11856:4826269] looking for stream_filter module matching "prefetch,cache_read": 7 candidates 2016-01-21 23:29:50.153 ntv[11856:4826269] using 4096 bytes buffer, 269 bytes read 2016-01-21 23:29:50.153 ntv[11856:4826269] using stream_filter module "prefetch" 2016-01-21 23:29:50.154 ntv[11856:4826269] looking for stream_filter module matching "any": 7 candidates 2016-01-21 23:29:50.557 ntv[11856:4826270] end of stream 2016-01-21 23:29:50.557 ntv[11856:4826269] no stream_filter modules matched 2016-01-21 23:29:50.557 ntv[11856:4826269] looking for stream_filter module matching "record": 7 candidates 2016-01-21 23:29:50.558 ntv[11856:4826269] using stream_filter module "record" 2016-01-21 23:29:50.558 ntv[11856:4826269] creating demux: access='http' demux='any' location='88.150.174.242:1935/edge/342/playlist.m3u8?token=06ba026e20ca8bc170c5dc6cb754b50e&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3' file='(null)' 2016-01-21 23:29:50.558 ntv[11856:4826269] looking for demux module matching "any": 60 candidates 2016-01-21 23:29:50.568 ntv[11856:4826269] Period 2016-01-21 23:29:50.568 ntv[11856:4826269] BaseAdaptationSet default_id#0 2016-01-21 23:29:50.568 ntv[11856:4826269] Representation chunklist_w247688338.m3u8?token=06ba026e20ca8bc170c5dc6cb754b50e&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3 2016-01-21 23:29:50.568 ntv[11856:4826269] (not loaded) TS 2016-01-21 23:29:50.569 ntv[11856:4826269] opening playlist file (88.150.174.242:1935/edge/342/playlist.m3u8?token=06ba026e20ca8bc170c5dc6cb754b50e&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3) 2016-01-21 23:29:50.569 ntv[11856:4826269] using demux module "adaptative" 2016-01-21 23:29:50.570 ntv[11856:4826269] looking for meta reader module matching "any": 1 candidates 2016-01-21 23:29:50.570 ntv[11856:4826269] no meta reader modules matched 2016-01-21 23:29:50.570 ntv[11856:4826269] `http://88.150.174.242:1935/edge/342/playlist.m3u8?token=06ba026e20ca8bc170c5dc6cb754b50e&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3' successfully opened 2016-01-21 23:29:50.571 ntv[11856:4826269] creating demux: access='' demux='ts' location='' file='(null)' 2016-01-21 23:29:50.571 ntv[11856:4826269] net: connecting to 88.150.174.242 port 1935 2016-01-21 23:29:50.866 ntv[11856:4826269] connection succeeded (socket = 7) 2016-01-21 23:29:50.867 ntv[11856:4826269] Retrieving ://88.150.174.242:1935/edge/342/chunklist_w247688338.m3u8?token=06ba026e20ca8bc170c5dc6cb754b50e&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3 @0 2016-01-21 23:29:51.502 ntv[11856:4826269] Updated playlist ID chunklist_w247688338.m3u8?token=06ba026e20ca8bc170c5dc6cb754b50e&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3, next update in 15s 2016-01-21 23:29:51.502 ntv[11856:4826269] Representation chunklist_w247688338.m3u8?token=06ba026e20ca8bc170c5dc6cb754b50e&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3 2016-01-21 23:29:51.502 ntv[11856:4826269] Segment #224 url=http://88.150.174.242:1935/edge/342/media_w247688338_224.ts?token=06ba026e20ca8bc170c5dc6cb754b50e&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3 2016-01-21 23:29:51.502 ntv[11856:4826269] Segment #225 url=http://88.150.174.242:1935/edge/342/media_w247688338_225.ts?token=06ba026e20ca8bc170c5dc6cb754b50e&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3 2016-01-21 23:29:51.503 ntv[11856:4826269] Segment #226 url=http://88.150.174.242:1935/edge/342/media_w247688338_226.ts?token=06ba026e20ca8bc170c5dc6cb754b50e&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3 2016-01-21 23:29:51.503 ntv[11856:4826272] net: connecting to 88.150.174.242 port 1935 2016-01-21 23:29:51.820 ntv[11856:4826272] connection succeeded (socket = 7) 2016-01-21 23:29:51.821 ntv[11856:4826272] Retrieving ://88.150.174.242:1935/edge/342/media_w247688338_224.ts?token=06ba026e20ca8bc170c5dc6cb754b50e&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3 @0 2016-01-21 23:29:52.455 ntv[11856:4826269] looking for demux module matching "ts": 60 candidates 2016-01-21 23:29:52.456 ntv[11856:4826269] using demux module "ts" 2016-01-21 23:29:52.457 ntv[11856:4826269] PATCallBack called 2016-01-21 23:29:52.457 ntv[11856:4826269] new PAT ts_id=1 version=0 current_next=1 2016-01-21 23:29:52.457 ntv[11856:4826269] * number=1 pid=4095 2016-01-21 23:29:52.457 ntv[11856:4826269] temporary receiving program 1 2016-01-21 23:29:52.458 ntv[11856:4826269] PMTCallBack called 2016-01-21 23:29:52.458 ntv[11856:4826269] new PMT program number=1 version=0 pid_pcr=256 2016-01-21 23:29:52.459 ntv[11856:4826269] * PMT descriptor : unknown (0x25) 2016-01-21 23:29:52.459 ntv[11856:4826269] * pid=258 type=0x15 Metadata carried in PES packets 2016-01-21 23:29:52.459 ntv[11856:4826269] - descriptor tag 0x26 2016-01-21 23:29:52.459 ntv[11856:4826269] => pid 258 content is *unknown* 2016-01-21 23:29:52.459 ntv[11856:4826269] * pid=256 type=0x1b AVC video stream as defined in ITU-T Rec. H.264 2016-01-21 23:29:52.460 ntv[11856:4826269] => pid 256 has now es fcc=h264 2016-01-21 23:29:52.460 ntv[11856:4826269] enabling pid 256 from program 1 2016-01-21 23:29:52.460 ntv[11856:4826269] enabling pcr pid 256 from program 1 2016-01-21 23:29:52.461 ntv[11856:4826269] * pid=257 type=0xf ISO/IEC 13818-7 Audio with ADTS transport 2016-01-21 23:29:52.461 ntv[11856:4826269] - SL/FMC descriptor not found/matched 2016-01-21 23:29:52.461 ntv[11856:4826269] => pid 257 has now es fcc=mp4a 2016-01-21 23:29:52.461 ntv[11856:4826269] enabling pid 256 from program 1 2016-01-21 23:29:52.462 ntv[11856:4826269] enabling pid 257 from program 1 2016-01-21 23:29:52.462 ntv[11856:4826269] enabling pcr pid 256 from program 1 2016-01-21 23:29:52.462 ntv[11856:4826269] enabling pid 256 from program 1 2016-01-21 23:29:52.462 ntv[11856:4826269] enabling pid 257 from program 1 2016-01-21 23:29:52.463 ntv[11856:4826269] enabling pcr pid 256 from program 1 2016-01-21 23:29:52.463 ntv[11856:4826269] Creating delayed ES 2016-01-21 23:29:52.463 ntv[11856:4826269] Default program is 1 2016-01-21 23:29:52.464 ntv[11856:4826269] enabling pid 256 from program 1 2016-01-21 23:29:52.464 ntv[11856:4826269] enabling pid 257 from program 1 2016-01-21 23:29:52.464 ntv[11856:4826269] enabling pcr pid 256 from program 1 2016-01-21 23:29:52.464 ntv[11856:4826269] first packet for pid=256 cc=0x1 2016-01-21 23:29:52.773 ntv[11856:4826269] first packet for pid=257 cc=0x1 2016-01-21 23:29:53.116 ntv[11856:4826269] selecting program id=0 2016-01-21 23:29:53.116 ntv[11856:4826269] looking for packetizer module matching "any": 23 candidates 2016-01-21 23:29:53.117 ntv[11856:4826269] using packetizer module "h264" 2016-01-21 23:29:53.118 ntv[11856:4826269] looking for decoder module matching "any": 32 candidates 2016-01-21 23:29:53.118 ntv[11856:4826269] option quiet does not exist 2016-01-21 23:29:53.126 ntv[11856:4826269] CPU flags: 0x000053db 2016-01-21 23:29:53.137 ntv[11856:4826269] allowing 4 thread(s) for decoding 2016-01-21 23:29:53.140 ntv[11856:4826269] codec (h264) started 2016-01-21 23:29:53.140 ntv[11856:4826269] using frame thread mode with 4 threads 2016-01-21 23:29:53.141 ntv[11856:4826269] using decoder module "avcodec" 2016-01-21 23:29:53.141 ntv[11856:4826269] looking for packetizer module matching "any": 23 candidates 2016-01-21 23:29:53.141 ntv[11856:4826269] running MPEG4 audio packetizer 2016-01-21 23:29:53.141 ntv[11856:4826269] no decoder specific info, must be an ADTS or LOAS stream 2016-01-21 23:29:53.142 ntv[11856:4826269] using packetizer module "mpeg4audio" 2016-01-21 23:29:53.142 ntv[11856:4826269] looking for decoder module matching "any": 32 candidates 2016-01-21 23:29:53.142 ntv[11856:4826269] option quiet does not exist 2016-01-21 23:29:53.143 ntv[11856:4826269] CPU flags: 0x000053db 2016-01-21 23:29:53.148 ntv[11856:4826269] codec (aac) started 2016-01-21 23:29:53.149 ntv[11856:4826269] using decoder module "avcodec" 2016-01-21 23:29:53.150 ntv[11856:4826350] detected ADTS format 2016-01-21 23:29:53.150 ntv[11856:4826349] found NAL_SPS (sps_id=0) 2016-01-21 23:29:53.149 ntv[11856:4826269] Buffering 0% 2016-01-21 23:29:53.150 ntv[11856:4826350] AAC channels: 2 samplerate: 24000 2016-01-21 23:29:53.150 ntv[11856:4826349] found NAL_PPS (pps_id=0 sps_id=0) 2016-01-21 23:29:53.150 ntv[11856:4826350] restarting module due to input format change 2016-01-21 23:29:53.150 ntv[11856:4826269] Buffering 5%
And here is the logging when it fails:

Code: Select all

2016-01-21 23:28:25.807 ntv[30523:4324608] creating player instance using shared library 2016-01-21 23:28:25.844 ntv[30523:4324608] VLC media player - 3.0.0-git Vetinari 2016-01-21 23:28:25.845 ntv[30523:4324608] Copyright © 1996-2016 the VideoLAN team 2016-01-21 23:28:25.845 ntv[30523:4324608] revision 2.2.0-git-6128-gdf55443 2016-01-21 23:28:25.845 ntv[30523:4324608] configured with /Users/simon/VLCKit/MobileVLCKit/ImportedSources/vlc/configure '--prefix=/Users/simon/VLCKit/MobileVLCKit/ImportedSources/vlc/install-ios-AppleTVOS/arm64' '--host=aarch64-apple-darwin11' '--with-contrib=/Users/simon/VLCKit/MobileVLCKit/ImportedSources/vlc/contrib/AppleTV-aarch64-apple-darwin11-aarch64' '--enable-static' '--disable-debug' '--enable-dvbpsi' '--enable-avcodec' '--disable-neon' '--disable-macosx' '--disable-macosx-dialog-provider' '--disable-macosx-qtkit' '--disable-macosx-eyetv' '--disable-macosx-vlc-app' '--disable-macosx-avfoundation' '--disable-audioqueue' '--disable-shared' '--enable-macosx-quartztext' '--enable-mkv' '--enable-opus' '--disable-faad' '--disable-lua' '--disable-a52' '--enable-fribidi' '--disable-qt' '--disable-skins2' '--disable-vcd' '--disable-vlc' '--disable-vlm' '--disable-httpd' '--disable-nls' '--disable-sse' '--disable-notify' '--enable-live555' '--enable-realrtsp' '--enable-swscale' '--disable-projectm' '--enable-libass' '--enable-libxml2' '--disable-goom' '--disable-dvdread' '--disable-dvdnav' '--disable-bluray' '--disable-linsys' '--disable-libva' '--disable-gme' '--disable-tremor' '--enable-vorbis' '--disable-fluidsynth' '--disable-jack' '--disable-pulse' '--disable-mtp' '--enable-ogg' '--enable-speex' '--enable-theora' '--enable-flac' '--disable-screen' '--enable-freetype' '--enable-taglib' '--disable-mmx' '--disable-addonmanagermodules' '--disable-mad' 'host_alias=aarch64-apple-darwin11' 'CC=xcrun clang' 'CFLAGS=-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS9.1.sdk -arch arm64 -O3 -g -mtvos-version-min=9.0 -fembed-bitcode' 'LDFLAGS=-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS9.1.sdk -L/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS9.1.sdk/usr/lib -arch arm64 -Wl,-tvos_version_min,9.0' 'CPPFLAGS=-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS9.1.sdk -arch arm64 -O3 -g -mtvos-version-min=9.0 -fembed-bitcode' 'CPP=xcrun cc -E' 'CXX=xcrun clang++' 'CXXFLAGS=-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS9.1.sdk -arch arm64 -O3 -g -mtvos-version-min=9.0 -fembed-bitcode' 'OBJC=xcrun clang' 'CCAS=gas-preprocessor.pl xcrun clang' 'CXXCPP=xcrun c++ -E' 'AVCODEC_CFLAGS=-I/Users/simon/VLCKit/MobileVLCKit/ImportedSources/vlc/install-ios-AppleTVOS/arm64/include ' 'AVCODEC_LIBS=-L/Users/simon/VLCKit/MobileVLCKit/ImportedSources/vlc/install-ios-AppleTVOS/arm64/lib -lavcodec -lavutil -lz' 'AVFORMAT_CFLAGS=-I/Users/simon/VLCKit/MobileVLCKit/ImportedSources/vlc/install-ios-AppleTVOS/arm64/include' 'AVFORMAT_LIBS=-L/Users/simon/VLCKit/MobileVLCKit/ImportedSources/vlc/install-ios-AppleTVOS/arm64/lib -lavcodec -lz -lavutil -lavformat' 2016-01-21 23:28:26.365 ntv[30523:4324666] Creating an input for 'playlist.m3u8?token=eb6e9c98c1ea418165592e6751e89eb8&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3' 2016-01-21 23:28:26.371 ntv[30523:4324667] using timeshift granularity of 50 MiB 2016-01-21 23:28:26.372 ntv[30523:4324667] using default timeshift path 2016-01-21 23:28:26.373 ntv[30523:4324667] `http://109.169.19.33:1935/edge/342/playlist.m3u8?token=eb6e9c98c1ea418165592e6751e89eb8&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3' gives access `http' demux `' path `109.169.19.33:1935/edge/342/playlist.m3u8?token=eb6e9c98c1ea418165592e6751e89eb8&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3' 2016-01-21 23:28:26.373 ntv[30523:4324667] specified demux: any 2016-01-21 23:28:26.374 ntv[30523:4324667] creating demux: access='http' demux='any' location='109.169.19.33:1935/edge/342/playlist.m3u8?token=eb6e9c98c1ea418165592e6751e89eb8&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3' file='(null)' 2016-01-21 23:28:26.374 ntv[30523:4324667] looking for access_demux module matching "http": 3 candidates 2016-01-21 23:28:26.374 ntv[30523:4324667] no access_demux modules matched 2016-01-21 23:28:26.378 ntv[30523:4324667] creating access: http://109.169.19.33:1935/edge/342/playlist.m3u8?token=eb6e9c98c1ea418165592e6751e89eb8&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3 2016-01-21 23:28:26.379 ntv[30523:4324667] looking for access module matching "http": 19 candidates 2016-01-21 23:28:26.384 ntv[30523:4324668] resolving 109.169.19.33 ... 2016-01-21 23:28:26.388 ntv[30523:4324668] connecting to 109.169.19.33 port 1935 ... 2016-01-21 23:28:26.674 ntv[30523:4324667] outgoing request: GET /edge/342/playlist.m3u8?token=eb6e9c98c1ea418165592e6751e89eb8&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3 HTTP/1.1 Host: 109.169.19.33:1935 Accept: */* User-Agent: NTV-XBMC-HLS-3.4.5 LibVLC/3.0.0-git Range: bytes=0- 2016-01-21 23:28:26.960 ntv[30523:4324667] incoming response: HTTP/1.1 200 OK Accept-Ranges: bytes Server: WowzaStreamingEngine/4.2.0 Cache-Control: no-cache Date: Thu, 21 Jan 2016 10:15:35 GMT Content-Type: application/vnd.apple.mpegurl Content-Length: 256 2016-01-21 23:28:26.961 ntv[30523:4324667] using access module "access" 2016-01-21 23:28:26.961 ntv[30523:4324667] looking for stream_filter module matching "cache_block": 7 candidates 2016-01-21 23:28:26.961 ntv[30523:4324667] Using block method for AStream* 2016-01-21 23:28:26.962 ntv[30523:4324667] starting pre-buffering 2016-01-21 23:28:27.239 ntv[30523:4324667] received first data after 277 ms 2016-01-21 23:28:27.240 ntv[30523:4324667] prebuffering done 256 bytes in 0s - 0 KiB/s 2016-01-21 23:28:27.240 ntv[30523:4324667] using stream_filter module "cache_block" 2016-01-21 23:28:27.241 ntv[30523:4324667] looking for stream_filter module matching "any": 7 candidates 2016-01-21 23:28:27.241 ntv[30523:4324667] no stream_filter modules matched 2016-01-21 23:28:27.242 ntv[30523:4324667] looking for stream_filter module matching "record": 7 candidates 2016-01-21 23:28:27.243 ntv[30523:4324667] using stream_filter module "record" 2016-01-21 23:28:27.243 ntv[30523:4324667] creating demux: access='http' demux='any' location='109.169.19.33:1935/edge/342/playlist.m3u8?token=eb6e9c98c1ea418165592e6751e89eb8&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3' file='(null)' 2016-01-21 23:28:27.243 ntv[30523:4324667] looking for demux module matching "any": 60 candidates 2016-01-21 23:28:27.244 ntv[30523:4324669] resolving 109.169.19.33 ... 2016-01-21 23:28:27.248 ntv[30523:4324669] connecting to 109.169.19.33 port 1935 ... 2016-01-21 23:28:27.558 ntv[30523:4324667] outgoing request: GET /edge/342/playlist.m3u8?token=eb6e9c98c1ea418165592e6751e89eb8&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3 HTTP/1.1 Host: 109.169.19.33:1935 Accept: */* User-Agent: NTV-XBMC-HLS-3.4.5 LibVLC/3.0.0-git Range: bytes=256- 2016-01-21 23:28:27.870 ntv[30523:4324667] incoming response: HTTP/1.1 416 Requested Range Not Satisfiable Accept-Ranges: bytes Server: WowzaStreamingEngine/4.2.0 Cache-Control: no-cache Date: Thu, 21 Jan 2016 10:15:35 GMT Content-Type: application/vnd.apple.mpegurl Content-Length: 0 2016-01-21 23:28:27.873 ntv[30523:4324667] Period 2016-01-21 23:28:27.873 ntv[30523:4324667] BaseAdaptationSet default_id#0 2016-01-21 23:28:27.873 ntv[30523:4324667] Representation chunklist_w928858761.m3u8?token=eb6e9c98c1ea418165592e6751e89eb8&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3 2016-01-21 23:28:27.874 ntv[30523:4324667] (not loaded) TS 2016-01-21 23:28:27.874 ntv[30523:4324667] opening playlist file (109.169.19.33:1935/edge/342/playlist.m3u8?token=eb6e9c98c1ea418165592e6751e89eb8&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3) 2016-01-21 23:28:27.875 ntv[30523:4324667] using demux module "adaptative" 2016-01-21 23:28:27.875 ntv[30523:4324667] looking for meta reader module matching "any": 1 candidates 2016-01-21 23:28:27.875 ntv[30523:4324667] no meta reader modules matched 2016-01-21 23:28:27.876 ntv[30523:4324667] `http://109.169.19.33:1935/edge/342/playlist.m3u8?token=eb6e9c98c1ea418165592e6751e89eb8&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3' successfully opened 2016-01-21 23:28:27.877 ntv[30523:4324667] creating demux: access='' demux='ts' location='' file='(null)' 2016-01-21 23:28:27.878 ntv[30523:4324667] net: connecting to 109.169.19.33 port 1935 2016-01-21 23:28:28.193 ntv[30523:4324667] connection succeeded (socket = 4) 2016-01-21 23:28:28.194 ntv[30523:4324667] Retrieving ://109.169.19.33:1935/edge/342/chunklist_w928858761.m3u8?token=eb6e9c98c1ea418165592e6751e89eb8&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3 @0 2016-01-21 23:28:28.508 ntv[30523:4324667] Updated playlist ID chunklist_w928858761.m3u8?token=eb6e9c98c1ea418165592e6751e89eb8&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3, next update in 4s 2016-01-21 23:28:28.509 ntv[30523:4324667] Representation chunklist_w928858761.m3u8?token=eb6e9c98c1ea418165592e6751e89eb8&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3 2016-01-21 23:28:28.509 ntv[30523:4324667] looking for demux module matching "ts": 60 candidates 2016-01-21 23:28:28.509 ntv[30523:4324667] no demux modules matched 2016-01-21 23:28:28.510 ntv[30523:4324667] EOF reached 2016-01-21 23:28:28.510 ntv[30523:4324667] removing module "adaptative" 2016-01-21 23:28:28.514 ntv[30523:4324667] removing module "record" 2016-01-21 23:28:28.514 ntv[30523:4324667] removing module "cache_block" 2016-01-21 23:28:28.515 ntv[30523:4324667] removing module "access"
Any help would be much appreciated!

Re: Issue playing HLS stream on tvos

Posted: 24 Jan 2016 02:47
by fkuehne
Looks like a server-side or connection / routing issue. According to the log, VLC requests the HLS playlist file and receives an empty answer :/

Re: Issue playing HLS stream on tvos

Posted: 24 Jan 2016 05:35
by revile
Any ideas why it might work using a proxy? This is being used from a tvOS app, and AVPlayer can play the stream fine (with and without a proxy)

It seems like VLC chooses very different modules.
eg, when it works it uses access module http and stream_filter module prefetch, whereas when it doesn't work it uses access module access and stream_filter module cache_block

Re: Issue playing HLS stream on tvos

Posted: 24 Jan 2016 06:14
by revile
Also it seems like the network interaction is wrong in the case where it doesn't work:

VLC requests the playlist:

Code: Select all

GET /edge/342/playlist.m3u8?token=eb6e9c98c1ea418165592e6751e89eb8&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3 HTTP/1.1 Host: 109.169.19.33:1935 Accept: */* User-Agent: NTV-XBMC-HLS-3.4.5 LibVLC/3.0.0-git Range: bytes=0-
And the server responds with the data:

Code: Select all

HTTP/1.1 200 OK Accept-Ranges: bytes Server: WowzaStreamingEngine/4.2.0 Cache-Control: no-cache Date: Thu, 21 Jan 2016 10:15:35 GMT Content-Type: application/vnd.apple.mpegurl Content-Length: 256
For some reason though, VLC expects there to be more data, even though those headers don't indicate there is more?

Code: Select all

GET /edge/342/playlist.m3u8?token=eb6e9c98c1ea418165592e6751e89eb8&bid=11&pid=5&uid=49601&did=c801c1e9a390be6818d860b82c6e3db2&g=1&gm=1&platform=3 HTTP/1.1 Host: 109.169.19.33:1935 Accept: */* User-Agent: NTV-XBMC-HLS-3.4.5 LibVLC/3.0.0-git Range: bytes=256-
The server then predictably responds with an error.