Hello, I'm a developer who has been trying to figure out why live videos are not working on roku devices but work perfectly on AppleTV or samsungTV while Airplay-ing.
It seems that roku fails to requests subsequent sections of the video goes into buffering state and then quits. Here are the technical details following for the developers working on this.
HLS Live Playlist index.m3u8
This is not a complete playlist, files are being added as they become available.
#EXTM3U #EXT-X-VERSION:4 #EXT-X-TARGETDURATION:4.000000 #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:4.000000, playlist0.ts #EXTINF:4.000000, playlist1.ts #EXTINF:4.000000, playlist2.ts #EXTINF:4.000000, playlist3.ts #EXTINF:4.000000, playlist4.ts #EXTINF:4.000000, playlist5.ts #EXTINF:4.000000, playlist6.ts #EXTINF:4.000000, playlist7.ts #EXTINF:4.000000, playlist8.ts #EXTINF:4.000000, playlist9.ts #EXTINF:4.000000, playlist10.ts #EXTINF:4.000000, playlist11.ts #EXTINF:4.000000, playlist12.ts #EXTINF:4.000000, playlist13.ts #EXTINF:4.000000, playlist14.ts #EXTINF:4.000000, playlist15.ts #EXTINF:4.000000, playlist16.ts #EXTINF:4.000000, playlist17.ts #EXTINF:4.000000, playlist18.ts #EXTINF:4.000000, playlist19.ts #EXTINF:4.000000, playlist20.ts #EXTINF:4.000000, playlist21.ts #EXTINF:4.000000, playlist22.ts #EXTINF:4.000000, playlist23.ts #EXTINF:4.000000, playlist24.ts #EXTINF:4.000000, playlist25.ts #EXTINF:4.000000, playlist26.ts #EXTINF:4.000000, playlist27.ts #EXTINF:4.000000, playlist28.ts #EXTINF:4.000000, playlist29.ts #EXTINF:4.000000, playlist30.ts #EXTINF:4.000000, playlist31.ts #EXTINF:4.000000, playlist32.ts #EXTINF:4.000000, playlist33.ts #EXTINF:4.000000, playlist34.ts #EXTINF:4.000000, playlist35.ts #EXTINF:4.000000, playlist36.ts #EXTINF:4.000000, playlist37.ts #EXTINF:4.000000, playlist38.ts #EXTINF:4.000000, playlist39.ts #EXTINF:4.000000, playlist40.ts #EXTINF:4.000000, playlist41.ts #EXTINF:4.000000, playlist42.ts #EXTINF:4.000000, playlist43.ts #EXTINF:4.000000, playlist44.ts #EXTINF:4.000000, playlist45.ts #EXTINF:4.000000, playlist46.ts #EXTINF:4.000000, playlist47.ts #EXTINF:4.000000, playlist48.ts #EXTINF:4.000000, playlist49.ts #EXTINF:4.000000, playlist50.ts #EXTINF:4.000000, playlist51.ts #EXTINF:4.000000, playlist52.ts #EXTINF:4.000000, playlist53.ts #EXTINF:4.000000, playlist54.ts #EXTINF:4.000000, playlist55.ts #EXTINF:4.000000, playlist56.ts #EXTINF:4.000000, playlist57.ts #EXTINF:4.000000, playlist58.ts #EXTINF:4.000000, playlist59.ts #EXTINF:4.000000, playlist60.ts #EXTINF:4.000000, playlist61.ts #EXTINF:4.000000, playlist62.ts #EXTINF:4.000000, playlist63.ts #EXTINF:4.000000, playlist64.ts #EXTINF:4.000000, playlist65.ts #EXTINF:4.000000, playlist66.ts #EXTINF:4.000000, playlist67.ts #EXTINF:4.000000, playlist68.ts #EXTINF:4.000000, playlist69.ts #EXTINF:4.000000, playlist70.ts #EXTINF:4.000000, playlist71.ts #EXTINF:4.000000, playlist72.ts #EXTINF:4.000000, playlist73.ts #EXTINF:4.000000, playlist74.ts #EXTINF:4.000000, playlist75.ts #EXTINF:4.000000, playlist76.ts #EXTINF:4.000000, playlist77.ts #EXTINF:4.000000, playlist78.ts #EXTINF:4.000000, playlist79.ts #EXTINF:4.000000, playlist80.ts #EXTINF:4.000000, playlist81.ts #EXTINF:4.000000, playlist82.ts #EXTINF:4.000000, playlist83.ts #EXTINF:4.000000, playlist84.ts #EXTINF:4.000000, playlist85.ts #EXTINF:4.000000, playlist86.ts #EXTINF:4.000000, playlist87.ts #EXTINF:4.000000, playlist88.ts #EXTINF:4.000000, playlist89.ts #EXTINF:4.000000, playlist90.ts #EXTINF:4.000000, playlist91.ts #EXTINF:4.000000, playlist92.ts #EXTINF:4.000000, playlist93.ts #EXTINF:4.000000, playlist94.ts #EXTINF:4.000000, playlist95.ts #EXTINF:4.000000, playlist96.ts #EXTINF:4.000000, playlist97.ts #EXTINF:4.000000, playlist98.ts #EXTINF:4.000000, playlist99.ts #EXTINF:4.000000, playlist100.ts #EXTINF:4.000000, playlist101.ts #EXTINF:4.000000, playlist102.ts #EXTINF:4.000000, playlist103.ts #EXTINF:4.000000, playlist104.ts #EXTINF:4.000000, playlist105.ts #EXTINF:4.000000, playlist106.ts #EXTINF:4.000000, playlist107.ts #EXTINF:4.000000, playlist108.ts #EXTINF:4.000000, playlist109.ts #EXTINF:4.000000, playlist110.ts #EXTINF:4.000000, playlist111.ts #EXTINF:4.000000, playlist112.ts #EXTINF:4.000000, playlist113.ts #EXTINF:4.000000, playlist114.ts #EXTINF:4.000000, playlist115.ts #EXTINF:4.000000, playlist116.ts #EXTINF:4.000000, playlist117.ts #EXTINF:4.000000, playlist118.ts #EXTINF:4.000000, playlist119.ts #EXTINF:4.000000, playlist120.ts #EXTINF:4.000000, playlist121.ts #EXTINF:4.000000, playlist122.ts #EXTINF:4.000000, playlist123.ts #EXTINF:4.000000, playlist124.ts #EXTINF:4.000000, playlist125.ts #EXTINF:4.000000, playlist126.ts #EXTINF:4.000000, playlist127.ts #EXTINF:4.000000, playlist128.ts #EXTINF:4.000000, playlist129.ts #EXTINF:4.000000, playlist130.ts #EXTINF:4.000000, playlist131.ts #EXTINF:4.000000, playlist132.ts #EXTINF:4.000000, playlist133.ts #EXTINF:4.000000, playlist134.ts #EXTINF:4.000000, playlist135.ts #EXTINF:4.000000, playlist136.ts #EXTINF:4.000000, playlist137.ts #EXTINF:4.000000, playlist138.ts #EXTINF:4.000000, playlist139.ts #EXTINF:4.000000, playlist140.ts #EXTINF:4.000000, playlist141.ts #EXTINF:4.000000, playlist142.ts #EXTINF:4.000000, playlist143.ts #EXTINF:4.000000, playlist144.ts #EXTINF:4.000000, playlist145.ts #EXTINF:4.000000, playlist146.ts
Files that Roku requests from my web server.
[DEBUG] Connection on socket 21 preflighting request "GET /playlist2.ts" with 218 bytes body [DEBUG] Connection on socket 21 processing request "GET /playlist2.ts" with 218 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43388 200 "GET /playlist2.ts" (218 | 1522882) [DEBUG] Connection on socket 21 preflighting request "GET /playlist3.ts" with 218 bytes body [DEBUG] Connection on socket 21 processing request "GET /playlist3.ts" with 218 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43394 200 "GET /playlist3.ts" (218 | 1519122) [DEBUG] Connection on socket 21 preflighting request "GET /playlist4.ts" with 218 bytes body [DEBUG] Connection on socket 21 processing request "GET /playlist4.ts" with 218 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43400 200 "GET /playlist4.ts" (218 | 1504458) [DEBUG] Connection on socket 21 preflighting request "GET /playlist5.ts" with 218 bytes body [DEBUG] Connection on socket 21 processing request "GET /playlist5.ts" with 218 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43404 200 "GET /playlist5.ts" (218 | 1515174) [DEBUG] Connection on socket 22 preflighting request "GET /playlist6.ts" with 218 bytes body [DEBUG] Connection on socket 22 processing request "GET /playlist6.ts" with 218 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43410 200 "GET /playlist6.ts" (218 | 1556910) [DEBUG] Connection on socket 22 preflighting request "GET /playlist7.ts" with 218 bytes body [DEBUG] Connection on socket 22 processing request "GET /playlist7.ts" with 218 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43420 200 "GET /playlist7.ts" (218 | 1527206) [DEBUG] Connection on socket 21 preflighting request "GET /playlist8.ts" with 218 bytes body [DEBUG] Connection on socket 21 processing request "GET /playlist8.ts" with 218 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43428 200 "GET /playlist8.ts" (218 | 1527958) [DEBUG] Connection on socket 21 preflighting request "GET /playlist9.ts" with 218 bytes body [DEBUG] Connection on socket 21 processing request "GET /playlist9.ts" with 218 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43438 200 "GET /playlist9.ts" (218 | 1567626) [DEBUG] Connection on socket 21 preflighting request "GET /playlist10.ts" with 219 bytes body [DEBUG] Connection on socket 21 processing request "GET /playlist10.ts" with 219 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43444 200 "GET /playlist10.ts" (219 | 1520249) [DEBUG] Connection on socket 21 preflighting request "GET /playlist11.ts" with 219 bytes body [DEBUG] Connection on socket 21 processing request "GET /playlist11.ts" with 219 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43450 200 "GET /playlist11.ts" (219 | 1478514) [DEBUG] Connection on socket 27 preflighting request "GET /playlist12.ts" with 219 bytes body [DEBUG] Connection on socket 27 processing request "GET /playlist12.ts" with 219 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43487 200 "GET /playlist12.ts" (219 | 1494682) [DEBUG] Connection on socket 21 preflighting request "GET /playlist13.ts" with 219 bytes body [DEBUG] Connection on socket 21 processing request "GET /playlist13.ts" with 219 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43521 200 "GET /playlist13.ts" (219 | 1501262) [DEBUG] Connection on socket 21 preflighting request "GET /playlist14.ts" with 219 bytes body [DEBUG] Connection on socket 21 processing request "GET /playlist14.ts" with 219 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43551 200 "GET /playlist14.ts" (219 | 1548636) [DEBUG] Connection on socket 21 preflighting request "GET /playlist15.ts" with 219 bytes body [DEBUG] Connection on socket 21 processing request "GET /playlist15.ts" with 219 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43589 200 "GET /playlist15.ts" (219 | 1567062) [DEBUG] Connection on socket 21 preflighting request "GET /playlist16.ts" with 219 bytes body [DEBUG] Connection on socket 21 processing request "GET /playlist16.ts" with 219 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43627 200 "GET /playlist16.ts" (219 | 1594698) [DEBUG] Connection on socket 21 preflighting request "GET /playlist17.ts" with 219 bytes body [DEBUG] Connection on socket 21 processing request "GET /playlist17.ts" with 219 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43665 200 "GET /playlist17.ts" (219 | 1823306) [DEBUG] Connection on socket 21 preflighting request "GET /playlist18.ts" with 219 bytes body [DEBUG] Connection on socket 21 processing request "GET /playlist18.ts" with 219 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43705 200 "GET /playlist18.ts" (219 | 1601278) [DEBUG] Connection on socket 21 preflighting request "GET /playlist19.ts" with 219 bytes body [DEBUG] Connection on socket 21 processing request "GET /playlist19.ts" with 219 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43709 200 "GET /playlist19.ts" (219 | 1589809) [DEBUG] Connection on socket 21 preflighting request "GET /playlist20.ts" with 219 bytes body [DEBUG] Connection on socket 21 processing request "GET /playlist20.ts" with 219 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43712 200 "GET /playlist20.ts" (219 | 1588494) [DEBUG] Connection on socket 21 preflighting request "GET /playlist21.ts" with 219 bytes body [DEBUG] Connection on socket 21 processing request "GET /playlist21.ts" with 219 bytes body [VERBOSE] [192.168.1.102:51177] 192.168.1.116:43715 200 "GET /playlist21.ts" (219 | 1611430)
As you can see the files that roku requested only went up to /playlist21.ts after which the video started buffering and stopped to play as roku gave up. Even though the /index.m3u8 that was sent to it contained 146 segments.
Is it only while Air-playing?
What audio and video codecs are being used within the TS segments?
I've never used it, but Roku does have a stream tester. I don't know how it would work with Airplay.
http://devtools.web.roku.com/stream_tester/html/