Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Level 7

Can't get HLS to work

So I'm trying to build a channel for a transcoding server. server supports HLS and is outputting this content for the iphone/ipod/ipad, so I was hoping I could hook up the roku to it. I can browse the content fine. However, whenever I try and play the m3u8 file I get the following error:

play failed: The format is not supported or the media is corrupt.
Closing video screen

I'm not sure if the issue is with the m3u8 file or with the actually TS files.

This is the content of the m3u8 file (while its still transcoding):

#EXTM3U
#EXT-X-STREAM-INFSmiley TongueROGRAM-ID=1,BANDWIDTH=2000000
2000000/main_2000000.m3u8


#EXTM3U
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:5
#EXTINF:5,
main_2000000_0.ts
#EXTINF:5,
main_2000000_1.ts
#EXTINF:5,
main_2000000_2.ts
#EXTINF:5,
main_2000000_3.ts
#EXTINF:5,
main_2000000_4.ts
#EXTINF:5,
main_2000000_5.ts
#EXTINF:5,
main_2000000_6.ts
#EXTINF:5,
main_2000000_7.ts
#EXTINF:5,
main_2000000_8.ts
#EXTINF:5,
main_2000000_9.ts
#EXTINF:5,
main_2000000_10.ts
#EXTINF:5,
main_2000000_11.ts
#EXTINF:5,
main_2000000_12.ts
#EXTINF:5,
main_2000000_13.ts
#EXTINF:5,
main_2000000_14.ts
#EXTINF:5,
main_2000000_15.ts
#EXTINF:5,
main_2000000_16.ts
#EXTINF:5,
main_2000000_17.ts



Running mediainfo on the generated TS file produces this:

Format                           : MPEG-TS
File size : 1.25 MiB
Duration : 4s 933ms
Overal bit rate : 2118 Kbps

Video
ID : 256 (0x100)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Baseline@L3.0
Format settings, CABAC : No
Format settings, ReFrames : 1 frame
Duration : 4s 933ms
Bit rate : 2000 Kbps
Nominal bit rate : 2000 Kbps
Width : 480 pixels
Height : 270 pixels
Display aspect ratio : 16/9
Frame rate : 29.970 fps
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.515
Writing library : x264 core 88
Encoding settings : cabac=0 / ref=1 / deblock=1:0:0 / analyse=0x1
:0x111 / me=dia / subme=4 / psy=1 / psy_rd=0.00:0.00 / mixed_ref=0 / me_range=16
/ chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 /
chroma_qp_offset=0 / threads=1 / sliced_threads=0 / nr=0 / decimate=1 / mbaff=0
/ constrained_intra=0 / bframes=0 / wpredp=0 / keyint=30 / keyint_min=16 / scene
cut=40 / intra_refresh=0 / rc_lookahead=30 / rc=cbr / mbtree=1 / bitrate=2000 /
ratetol=0.1 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / vbv_maxrate=2000 / v
bv_bufsize=256 / ip_ratio=1.41 / aq=1:1.00

Audio
ID : 257 (0x101)
Menu ID : 1 (0x1)
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Bit rate mode : Constant
Bit rate : 128 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Resolution : 16 bits
0 Kudos
3 Replies
Level 13

Re: Can't get HLS to work

One problem is that the Roku only supports aac audio in HLS. I've seen transcoders that claim to produce iPhone compatible streams that won't play on the Roku (actually, I couldn't get them to play properly on anything and I don't own an Apple anything to test on).

-JT
0 Kudos
Highlighted
Level 7

Re: Can't get HLS to work

Ahh...I guess the devil is in the details. i'll see if there are any settings I can manipulate to output aac audio. Thanks for the info.
0 Kudos
Highlighted
Level 7

Re: Can't get HLS to work

Yes, the audio must be AAC, not MP3. It must also be LC profile, not Main, and the ADTS headers must correctly indicate LC profile.

--Mark
0 Kudos