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

HLS fMP4 No Audio

Using the Roku Stream Tester, I'm trying to play an HLS playlist using the Fragmented MP4 segment format.

I've tried every combination of h.264/AVC and h.265/HEVC with AAC, AC3, and MP3 audio. No matter how it's done, the audio does not play on the Roku Ultra.

In the Stream Tester's debug info, it says that there is no audio stream, i.e. "Audio Format: None"

Meanwhile, VLC can play the stream with audio flawlessly.

Here's the ffmpeg command line being used to create the playlist:

ffmpeg -t 10 -i source.mov -c:v libx264 -preset faster -c:a aac -ac 1 -ar 48000 -b:a 128k -g 48 -hls_time 4 -hls_playlist_type vod -hls_segment_type fmp4 master.m3u8

The problem seems to happen consistently, regardless of source file.

I know it's not a bug in the Stream Tester because the issue was first reported in our Roku app.

The problem does not happen in playlists using MPEG-TS segments. However, we need to use h.265 for 4K formats, which leaves us only with fragmented MP4 playlists. The Roku does seem to support it; it has no problem playing the video stream.

0 Kudos
1 Reply
Highlighted

Re: HLS fMP4 No Audio

Update: if I force the audio to be in a separate HLS stream then it works.

Working command line:

ffmpeg -i "http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_2160p_30fps_normal.mp4" -map 0:0 -map 0:1 -c:v libx265 -preset faster -c:a aac -g 48 -hls_time 4 -hls_playlist_type vod -hls_segment_type fmp4 -var_stream_map "a:0,agroup:aud,default:yes v:0,agroup:aud" -master_pl_name master.m3u8 "stream_%v.m3u8"
0 Kudos